public class org.apache.cassandra.service.paxos.PrepareCallback extends org.apache.cassandra.service.paxos.AbstractPaxosCallback<org.apache.cassandra.service.paxos.PrepareResponse>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.service.paxos.PrepareCallback
super_class: org.apache.cassandra.service.paxos.AbstractPaxosCallback
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public boolean promised;
descriptor: Z
flags: (0x0001) ACC_PUBLIC
public org.apache.cassandra.service.paxos.Commit mostRecentCommit;
descriptor: Lorg/apache/cassandra/service/paxos/Commit;
flags: (0x0001) ACC_PUBLIC
public org.apache.cassandra.service.paxos.Commit mostRecentInProgressCommit;
descriptor: Lorg/apache/cassandra/service/paxos/Commit;
flags: (0x0001) ACC_PUBLIC
public org.apache.cassandra.service.paxos.Commit mostRecentInProgressCommitWithUpdate;
descriptor: Lorg/apache/cassandra/service/paxos/Commit;
flags: (0x0001) ACC_PUBLIC
private final java.util.Map<java.net.InetAddress, org.apache.cassandra.service.paxos.Commit> commitsByReplica;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/net/InetAddress;Lorg/apache/cassandra/service/paxos/Commit;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/service/paxos/PrepareCallback;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.service.paxos.PrepareCallback.logger:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.config.CFMetaData, int, org.apache.cassandra.db.ConsistencyLevel, long);
descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/config/CFMetaData;ILorg/apache/cassandra/db/ConsistencyLevel;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 3
aload 4
lload 5
invokespecial org.apache.cassandra.service.paxos.AbstractPaxosCallback.<init>:(ILorg/apache/cassandra/db/ConsistencyLevel;J)V
1: aload 0
iconst_1
putfield org.apache.cassandra.service.paxos.PrepareCallback.promised:Z
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.apache.cassandra.service.paxos.PrepareCallback.commitsByReplica:Ljava/util/Map;
3: 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;
putfield org.apache.cassandra.service.paxos.PrepareCallback.mostRecentCommit:Lorg/apache/cassandra/service/paxos/Commit;
4: 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;
putfield org.apache.cassandra.service.paxos.PrepareCallback.mostRecentInProgressCommit:Lorg/apache/cassandra/service/paxos/Commit;
5: 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;
putfield org.apache.cassandra.service.paxos.PrepareCallback.mostRecentInProgressCommitWithUpdate:Lorg/apache/cassandra/service/paxos/Commit;
6: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/service/paxos/PrepareCallback;
0 7 1 key Lorg/apache/cassandra/db/DecoratedKey;
0 7 2 metadata Lorg/apache/cassandra/config/CFMetaData;
0 7 3 targets I
0 7 4 consistency Lorg/apache/cassandra/db/ConsistencyLevel;
0 7 5 queryStartNanoTime J
MethodParameters:
Name Flags
key
metadata
targets
consistency
queryStartNanoTime
public synchronized void response(org.apache.cassandra.net.MessageIn<org.apache.cassandra.service.paxos.PrepareResponse>);
descriptor: (Lorg/apache/cassandra/net/MessageIn;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
getfield org.apache.cassandra.net.MessageIn.payload:Ljava/lang/Object;
checkcast org.apache.cassandra.service.paxos.PrepareResponse
astore 2
start local 2 1: getstatic org.apache.cassandra.service.paxos.PrepareCallback.logger:Lorg/slf4j/Logger;
ldc "Prepare response {} from {}"
aload 2
aload 1
getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 2
getfield org.apache.cassandra.service.paxos.PrepareResponse.inProgressCommit:Lorg/apache/cassandra/service/paxos/Commit;
aload 0
getfield org.apache.cassandra.service.paxos.PrepareCallback.mostRecentInProgressCommit:Lorg/apache/cassandra/service/paxos/Commit;
invokevirtual org.apache.cassandra.service.paxos.Commit.isAfter:(Lorg/apache/cassandra/service/paxos/Commit;)Z
ifeq 4
3: aload 0
aload 2
getfield org.apache.cassandra.service.paxos.PrepareResponse.inProgressCommit:Lorg/apache/cassandra/service/paxos/Commit;
putfield org.apache.cassandra.service.paxos.PrepareCallback.mostRecentInProgressCommit:Lorg/apache/cassandra/service/paxos/Commit;
4: StackMap locals: org.apache.cassandra.service.paxos.PrepareResponse
StackMap stack:
aload 2
getfield org.apache.cassandra.service.paxos.PrepareResponse.promised:Z
ifne 10
5: aload 0
iconst_0
putfield org.apache.cassandra.service.paxos.PrepareCallback.promised:Z
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.paxos.PrepareCallback.latch:Ljava/util/concurrent/CountDownLatch;
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.paxos.PrepareCallback.latch:Ljava/util/concurrent/CountDownLatch;
invokevirtual java.util.concurrent.CountDownLatch.getCount:()J
lconst_0
lcmp
ifgt 7
9: return
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.paxos.PrepareCallback.commitsByReplica:Ljava/util/Map;
aload 1
getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
aload 2
getfield org.apache.cassandra.service.paxos.PrepareResponse.mostRecentCommit:Lorg/apache/cassandra/service/paxos/Commit;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: aload 2
getfield org.apache.cassandra.service.paxos.PrepareResponse.mostRecentCommit:Lorg/apache/cassandra/service/paxos/Commit;
aload 0
getfield org.apache.cassandra.service.paxos.PrepareCallback.mostRecentCommit:Lorg/apache/cassandra/service/paxos/Commit;
invokevirtual org.apache.cassandra.service.paxos.Commit.isAfter:(Lorg/apache/cassandra/service/paxos/Commit;)Z
ifeq 13
12: aload 0
aload 2
getfield org.apache.cassandra.service.paxos.PrepareResponse.mostRecentCommit:Lorg/apache/cassandra/service/paxos/Commit;
putfield org.apache.cassandra.service.paxos.PrepareCallback.mostRecentCommit:Lorg/apache/cassandra/service/paxos/Commit;
13: StackMap locals:
StackMap stack:
aload 2
getfield org.apache.cassandra.service.paxos.PrepareResponse.inProgressCommit:Lorg/apache/cassandra/service/paxos/Commit;
aload 0
getfield org.apache.cassandra.service.paxos.PrepareCallback.mostRecentInProgressCommitWithUpdate:Lorg/apache/cassandra/service/paxos/Commit;
invokevirtual org.apache.cassandra.service.paxos.Commit.isAfter:(Lorg/apache/cassandra/service/paxos/Commit;)Z
ifeq 15
aload 2
getfield org.apache.cassandra.service.paxos.PrepareResponse.inProgressCommit:Lorg/apache/cassandra/service/paxos/Commit;
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.isEmpty:()Z
ifne 15
14: aload 0
aload 2
getfield org.apache.cassandra.service.paxos.PrepareResponse.inProgressCommit:Lorg/apache/cassandra/service/paxos/Commit;
putfield org.apache.cassandra.service.paxos.PrepareCallback.mostRecentInProgressCommitWithUpdate:Lorg/apache/cassandra/service/paxos/Commit;
15: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.paxos.PrepareCallback.latch:Ljava/util/concurrent/CountDownLatch;
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
16: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/cassandra/service/paxos/PrepareCallback;
0 17 1 message Lorg/apache/cassandra/net/MessageIn<Lorg/apache/cassandra/service/paxos/PrepareResponse;>;
1 17 2 response Lorg/apache/cassandra/service/paxos/PrepareResponse;
Signature: (Lorg/apache/cassandra/net/MessageIn<Lorg/apache/cassandra/service/paxos/PrepareResponse;>;)V
MethodParameters:
Name Flags
message
public java.lang.Iterable<java.net.InetAddress> replicasMissingMostRecentCommit(org.apache.cassandra.config.CFMetaData, int);
descriptor: (Lorg/apache/cassandra/config/CFMetaData;I)Ljava/lang/Iterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic org.apache.cassandra.db.SystemKeyspace.paxosTtlSec:(Lorg/apache/cassandra/config/CFMetaData;)I
i2l
lstore 3
start local 3 1: aload 0
getfield org.apache.cassandra.service.paxos.PrepareCallback.mostRecentCommit:Lorg/apache/cassandra/service/paxos/Commit;
getfield org.apache.cassandra.service.paxos.Commit.ballot:Ljava/util/UUID;
invokestatic org.apache.cassandra.utils.UUIDGen.unixTimestampInSec:(Ljava/util/UUID;)I
i2l
lload 3
ladd
iload 2
i2l
lcmp
ifge 3
2: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
3: StackMap locals: long
StackMap stack:
aload 0
getfield org.apache.cassandra.service.paxos.PrepareCallback.commitsByReplica:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
new org.apache.cassandra.service.paxos.PrepareCallback$1
dup
aload 0
invokespecial org.apache.cassandra.service.paxos.PrepareCallback$1.<init>:(Lorg/apache/cassandra/service/paxos/PrepareCallback;)V
invokestatic com.google.common.collect.Iterables.filter:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Ljava/lang/Iterable;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/service/paxos/PrepareCallback;
0 4 1 metadata Lorg/apache/cassandra/config/CFMetaData;
0 4 2 nowInSec I
1 4 3 paxosTtlSec J
Signature: (Lorg/apache/cassandra/config/CFMetaData;I)Ljava/lang/Iterable<Ljava/net/InetAddress;>;
MethodParameters:
Name Flags
metadata
nowInSec
}
Signature: Lorg/apache/cassandra/service/paxos/AbstractPaxosCallback<Lorg/apache/cassandra/service/paxos/PrepareResponse;>;
SourceFile: "PrepareCallback.java"
NestMembers:
org.apache.cassandra.service.paxos.PrepareCallback$1
InnerClasses:
org.apache.cassandra.service.paxos.PrepareCallback$1