public class org.apache.cassandra.service.paxos.PaxosState
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.service.paxos.PaxosState
super_class: java.lang.Object
{
private static final com.google.common.util.concurrent.Striped<java.util.concurrent.locks.Lock> LOCKS;
descriptor: Lcom/google/common/util/concurrent/Striped;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lcom/google/common/util/concurrent/Striped<Ljava/util/concurrent/locks/Lock;>;
private final org.apache.cassandra.service.paxos.Commit promised;
descriptor: Lorg/apache/cassandra/service/paxos/Commit;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.service.paxos.Commit accepted;
descriptor: Lorg/apache/cassandra/service/paxos/Commit;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.service.paxos.Commit mostRecentCommit;
descriptor: Lorg/apache/cassandra/service/paxos/Commit;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/service/paxos/PaxosState;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.cassandra.service.paxos.PaxosState.$assertionsDisabled:Z
3: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getConcurrentWriters:()I
sipush 1024
imul
invokestatic com.google.common.util.concurrent.Striped.lazyWeakLock:(I)Lcom/google/common/util/concurrent/Striped;
putstatic org.apache.cassandra.service.paxos.PaxosState.LOCKS:Lcom/google/common/util/concurrent/Striped;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.config.CFMetaData);
descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/config/CFMetaData;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokestatic org.apache.cassandra.service.paxos.Commit.emptyCommit:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/service/paxos/Commit;
aload 1
aload 2
invokestatic org.apache.cassandra.service.paxos.Commit.emptyCommit:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/service/paxos/Commit;
aload 1
aload 2
invokestatic org.apache.cassandra.service.paxos.Commit.emptyCommit:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/service/paxos/Commit;
invokespecial org.apache.cassandra.service.paxos.PaxosState.<init>:(Lorg/apache/cassandra/service/paxos/Commit;Lorg/apache/cassandra/service/paxos/Commit;Lorg/apache/cassandra/service/paxos/Commit;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/service/paxos/PaxosState;
0 2 1 key Lorg/apache/cassandra/db/DecoratedKey;
0 2 2 metadata Lorg/apache/cassandra/config/CFMetaData;
MethodParameters:
Name Flags
key
metadata
public void <init>(org.apache.cassandra.service.paxos.Commit, org.apache.cassandra.service.paxos.Commit, org.apache.cassandra.service.paxos.Commit);
descriptor: (Lorg/apache/cassandra/service/paxos/Commit;Lorg/apache/cassandra/service/paxos/Commit;Lorg/apache/cassandra/service/paxos/Commit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: getstatic org.apache.cassandra.service.paxos.PaxosState.$assertionsDisabled:Z
ifne 3
aload 1
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
aload 2
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
invokevirtual org.apache.cassandra.db.DecoratedKey.equals:(Ljava/lang/Object;)Z
ifeq 2
aload 2
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
aload 3
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
invokevirtual org.apache.cassandra.db.DecoratedKey.equals:(Ljava/lang/Object;)Z
ifne 3
StackMap locals: org.apache.cassandra.service.paxos.PaxosState org.apache.cassandra.service.paxos.Commit org.apache.cassandra.service.paxos.Commit org.apache.cassandra.service.paxos.Commit
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.service.paxos.PaxosState.$assertionsDisabled:Z
ifne 5
aload 1
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
aload 2
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
if_acmpne 4
aload 2
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
aload 3
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
if_acmpeq 5
StackMap locals:
StackMap stack:
4: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.apache.cassandra.service.paxos.PaxosState.promised:Lorg/apache/cassandra/service/paxos/Commit;
6: aload 0
aload 2
putfield org.apache.cassandra.service.paxos.PaxosState.accepted:Lorg/apache/cassandra/service/paxos/Commit;
7: aload 0
aload 3
putfield org.apache.cassandra.service.paxos.PaxosState.mostRecentCommit:Lorg/apache/cassandra/service/paxos/Commit;
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/cassandra/service/paxos/PaxosState;
0 9 1 promised Lorg/apache/cassandra/service/paxos/Commit;
0 9 2 accepted Lorg/apache/cassandra/service/paxos/Commit;
0 9 3 mostRecentCommit Lorg/apache/cassandra/service/paxos/Commit;
MethodParameters:
Name Flags
promised
accepted
mostRecentCommit
public static org.apache.cassandra.service.paxos.PrepareResponse prepare(org.apache.cassandra.service.paxos.Commit);
descriptor: (Lorg/apache/cassandra/service/paxos/Commit;)Lorg/apache/cassandra/service/paxos/PrepareResponse;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=1
start local 0 0: invokestatic java.lang.System.nanoTime:()J
lstore 1
start local 1 1: getstatic org.apache.cassandra.service.paxos.PaxosState.LOCKS:Lcom/google/common/util/concurrent/Striped;
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
invokevirtual com.google.common.util.concurrent.Striped.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.concurrent.locks.Lock
astore 3
start local 3 2: aload 3
invokeinterface java.util.concurrent.locks.Lock.lock:()V
3: aload 0
getfield org.apache.cassandra.service.paxos.Commit.ballot:Ljava/util/UUID;
invokestatic org.apache.cassandra.utils.UUIDGen.unixTimestampInSec:(Ljava/util/UUID;)I
istore 4
start local 4 4: aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
iload 4
invokestatic org.apache.cassandra.db.SystemKeyspace.loadPaxosState:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/config/CFMetaData;I)Lorg/apache/cassandra/service/paxos/PaxosState;
astore 5
start local 5 5: aload 0
aload 5
getfield org.apache.cassandra.service.paxos.PaxosState.promised:Lorg/apache/cassandra/service/paxos/Commit;
invokevirtual org.apache.cassandra.service.paxos.Commit.isAfter:(Lorg/apache/cassandra/service/paxos/Commit;)Z
ifeq 12
6: ldc "Promising ballot {}"
aload 0
getfield org.apache.cassandra.service.paxos.Commit.ballot:Ljava/util/UUID;
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;)V
7: aload 0
invokestatic org.apache.cassandra.db.SystemKeyspace.savePaxosPromise:(Lorg/apache/cassandra/service/paxos/Commit;)V
8: new org.apache.cassandra.service.paxos.PrepareResponse
dup
iconst_1
aload 5
getfield org.apache.cassandra.service.paxos.PaxosState.accepted:Lorg/apache/cassandra/service/paxos/Commit;
aload 5
getfield org.apache.cassandra.service.paxos.PaxosState.mostRecentCommit:Lorg/apache/cassandra/service/paxos/Commit;
invokespecial org.apache.cassandra.service.paxos.PrepareResponse.<init>:(ZLorg/apache/cassandra/service/paxos/Commit;Lorg/apache/cassandra/service/paxos/Commit;)V
astore 7
9: aload 3
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
10: aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/util/UUID;)Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
getfield org.apache.cassandra.metrics.TableMetrics.casPrepare:Lorg/apache/cassandra/metrics/LatencyMetrics;
invokestatic java.lang.System.nanoTime:()J
lload 1
lsub
invokevirtual org.apache.cassandra.metrics.LatencyMetrics.addNano:(J)V
11: aload 7
areturn
12: StackMap locals: org.apache.cassandra.service.paxos.Commit long java.util.concurrent.locks.Lock int org.apache.cassandra.service.paxos.PaxosState
StackMap stack:
ldc "Promise rejected; {} is not sufficiently newer than {}"
aload 0
aload 5
getfield org.apache.cassandra.service.paxos.PaxosState.promised:Lorg/apache/cassandra/service/paxos/Commit;
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
13: new org.apache.cassandra.service.paxos.PrepareResponse
dup
iconst_0
aload 5
getfield org.apache.cassandra.service.paxos.PaxosState.promised:Lorg/apache/cassandra/service/paxos/Commit;
aload 5
getfield org.apache.cassandra.service.paxos.PaxosState.mostRecentCommit:Lorg/apache/cassandra/service/paxos/Commit;
invokespecial org.apache.cassandra.service.paxos.PrepareResponse.<init>:(ZLorg/apache/cassandra/service/paxos/Commit;Lorg/apache/cassandra/service/paxos/Commit;)V
astore 7
14: aload 3
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
15: aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/util/UUID;)Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
getfield org.apache.cassandra.metrics.TableMetrics.casPrepare:Lorg/apache/cassandra/metrics/LatencyMetrics;
invokestatic java.lang.System.nanoTime:()J
lload 1
lsub
invokevirtual org.apache.cassandra.metrics.LatencyMetrics.addNano:(J)V
16: aload 7
areturn
end local 5 end local 4 17: StackMap locals: org.apache.cassandra.service.paxos.Commit long java.util.concurrent.locks.Lock
StackMap stack: java.lang.Throwable
astore 6
18: aload 3
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
19: aload 6
athrow
end local 3 20: StackMap locals: org.apache.cassandra.service.paxos.Commit long
StackMap stack: java.lang.Throwable
astore 8
21: aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/util/UUID;)Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
getfield org.apache.cassandra.metrics.TableMetrics.casPrepare:Lorg/apache/cassandra/metrics/LatencyMetrics;
invokestatic java.lang.System.nanoTime:()J
lload 1
lsub
invokevirtual org.apache.cassandra.metrics.LatencyMetrics.addNano:(J)V
22: aload 8
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 toPrepare Lorg/apache/cassandra/service/paxos/Commit;
1 23 1 start J
2 20 3 lock Ljava/util/concurrent/locks/Lock;
4 17 4 nowInSec I
5 17 5 state Lorg/apache/cassandra/service/paxos/PaxosState;
Exception table:
from to target type
3 9 17 any
12 14 17 any
1 10 20 any
12 15 20 any
17 20 20 any
MethodParameters:
Name Flags
toPrepare
public static java.lang.Boolean propose(org.apache.cassandra.service.paxos.Commit);
descriptor: (Lorg/apache/cassandra/service/paxos/Commit;)Ljava/lang/Boolean;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=1
start local 0 0: invokestatic java.lang.System.nanoTime:()J
lstore 1
start local 1 1: getstatic org.apache.cassandra.service.paxos.PaxosState.LOCKS:Lcom/google/common/util/concurrent/Striped;
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
invokevirtual com.google.common.util.concurrent.Striped.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.concurrent.locks.Lock
astore 3
start local 3 2: aload 3
invokeinterface java.util.concurrent.locks.Lock.lock:()V
3: aload 0
getfield org.apache.cassandra.service.paxos.Commit.ballot:Ljava/util/UUID;
invokestatic org.apache.cassandra.utils.UUIDGen.unixTimestampInSec:(Ljava/util/UUID;)I
istore 4
start local 4 4: aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
iload 4
invokestatic org.apache.cassandra.db.SystemKeyspace.loadPaxosState:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/config/CFMetaData;I)Lorg/apache/cassandra/service/paxos/PaxosState;
astore 5
start local 5 5: aload 0
aload 5
getfield org.apache.cassandra.service.paxos.PaxosState.promised:Lorg/apache/cassandra/service/paxos/Commit;
getfield org.apache.cassandra.service.paxos.Commit.ballot:Ljava/util/UUID;
invokevirtual org.apache.cassandra.service.paxos.Commit.hasBallot:(Ljava/util/UUID;)Z
ifne 6
aload 0
aload 5
getfield org.apache.cassandra.service.paxos.PaxosState.promised:Lorg/apache/cassandra/service/paxos/Commit;
invokevirtual org.apache.cassandra.service.paxos.Commit.isAfter:(Lorg/apache/cassandra/service/paxos/Commit;)Z
ifeq 12
6: StackMap locals: org.apache.cassandra.service.paxos.Commit long java.util.concurrent.locks.Lock int org.apache.cassandra.service.paxos.PaxosState
StackMap stack:
ldc "Accepting proposal {}"
aload 0
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;)V
7: aload 0
invokestatic org.apache.cassandra.db.SystemKeyspace.savePaxosProposal:(Lorg/apache/cassandra/service/paxos/Commit;)V
8: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 7
9: aload 3
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
10: aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/util/UUID;)Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
getfield org.apache.cassandra.metrics.TableMetrics.casPropose:Lorg/apache/cassandra/metrics/LatencyMetrics;
invokestatic java.lang.System.nanoTime:()J
lload 1
lsub
invokevirtual org.apache.cassandra.metrics.LatencyMetrics.addNano:(J)V
11: aload 7
areturn
12: StackMap locals:
StackMap stack:
ldc "Rejecting proposal for {} because inProgress is now {}"
aload 0
aload 5
getfield org.apache.cassandra.service.paxos.PaxosState.promised:Lorg/apache/cassandra/service/paxos/Commit;
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
13: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 7
14: aload 3
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
15: aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/util/UUID;)Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
getfield org.apache.cassandra.metrics.TableMetrics.casPropose:Lorg/apache/cassandra/metrics/LatencyMetrics;
invokestatic java.lang.System.nanoTime:()J
lload 1
lsub
invokevirtual org.apache.cassandra.metrics.LatencyMetrics.addNano:(J)V
16: aload 7
areturn
end local 5 end local 4 17: StackMap locals: org.apache.cassandra.service.paxos.Commit long java.util.concurrent.locks.Lock
StackMap stack: java.lang.Throwable
astore 6
18: aload 3
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
19: aload 6
athrow
end local 3 20: StackMap locals: org.apache.cassandra.service.paxos.Commit long
StackMap stack: java.lang.Throwable
astore 8
21: aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/util/UUID;)Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
getfield org.apache.cassandra.metrics.TableMetrics.casPropose:Lorg/apache/cassandra/metrics/LatencyMetrics;
invokestatic java.lang.System.nanoTime:()J
lload 1
lsub
invokevirtual org.apache.cassandra.metrics.LatencyMetrics.addNano:(J)V
22: aload 8
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 proposal Lorg/apache/cassandra/service/paxos/Commit;
1 23 1 start J
2 20 3 lock Ljava/util/concurrent/locks/Lock;
4 17 4 nowInSec I
5 17 5 state Lorg/apache/cassandra/service/paxos/PaxosState;
Exception table:
from to target type
3 9 17 any
12 14 17 any
1 10 20 any
12 15 20 any
17 20 20 any
MethodParameters:
Name Flags
proposal
public static void commit(org.apache.cassandra.service.paxos.Commit);
descriptor: (Lorg/apache/cassandra/service/paxos/Commit;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: invokestatic java.lang.System.nanoTime:()J
lstore 1
start local 1 1: aload 0
getfield org.apache.cassandra.service.paxos.Commit.ballot:Ljava/util/UUID;
invokestatic org.apache.cassandra.utils.UUIDGen.unixTimestamp:(Ljava/util/UUID;)J
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
invokestatic org.apache.cassandra.db.SystemKeyspace.getTruncatedAt:(Ljava/util/UUID;)J
lcmp
iflt 6
2: ldc "Committing proposal {}"
aload 0
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 0
invokevirtual org.apache.cassandra.service.paxos.Commit.makeMutation:()Lorg/apache/cassandra/db/Mutation;
astore 3
start local 3 4: aload 3
invokevirtual org.apache.cassandra.db.Mutation.getKeyspaceName:()Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
aload 3
iconst_1
invokevirtual org.apache.cassandra.db.Keyspace.apply:(Lorg/apache/cassandra/db/Mutation;Z)V
end local 3 5: goto 7
6: StackMap locals: long
StackMap stack:
ldc "Not committing proposal {} as ballot timestamp predates last truncation time"
aload 0
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;)V
7: StackMap locals:
StackMap stack:
aload 0
invokestatic org.apache.cassandra.db.SystemKeyspace.savePaxosCommit:(Lorg/apache/cassandra/service/paxos/Commit;)V
8: goto 12
9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
10: aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/util/UUID;)Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
getfield org.apache.cassandra.metrics.TableMetrics.casCommit:Lorg/apache/cassandra/metrics/LatencyMetrics;
invokestatic java.lang.System.nanoTime:()J
lload 1
lsub
invokevirtual org.apache.cassandra.metrics.LatencyMetrics.addNano:(J)V
11: aload 4
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/util/UUID;)Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
getfield org.apache.cassandra.metrics.TableMetrics.casCommit:Lorg/apache/cassandra/metrics/LatencyMetrics;
invokestatic java.lang.System.nanoTime:()J
lload 1
lsub
invokevirtual org.apache.cassandra.metrics.LatencyMetrics.addNano:(J)V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 proposal Lorg/apache/cassandra/service/paxos/Commit;
1 14 1 start J
4 5 3 mutation Lorg/apache/cassandra/db/Mutation;
Exception table:
from to target type
1 9 9 any
MethodParameters:
Name Flags
proposal
}
SourceFile: "PaxosState.java"