public class org.apache.cassandra.repair.RepairSession extends com.google.common.util.concurrent.AbstractFuture<org.apache.cassandra.repair.RepairSessionResult> implements org.apache.cassandra.gms.IEndpointStateChangeSubscriber, org.apache.cassandra.gms.IFailureDetectionEventListener
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.repair.RepairSession
super_class: com.google.common.util.concurrent.AbstractFuture
{
private static org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public final java.util.UUID parentRepairSession;
descriptor: Ljava/util/UUID;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private final java.util.UUID id;
descriptor: Ljava/util/UUID;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public final java.lang.String keyspace;
descriptor: Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private final java.lang.String[] cfnames;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public final org.apache.cassandra.repair.RepairParallelism parallelismDegree;
descriptor: Lorg/apache/cassandra/repair/RepairParallelism;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final boolean pullRepair;
descriptor: Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
public final java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>> ranges;
descriptor: Ljava/util/Collection;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
public final java.util.Set<java.net.InetAddress> endpoints;
descriptor: Ljava/util/Set;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/net/InetAddress;>;
public final long repairedAt;
descriptor: J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private final java.util.concurrent.atomic.AtomicBoolean isFailed;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.ConcurrentMap<org.apache.cassandra.utils.Pair<org.apache.cassandra.repair.RepairJobDesc, java.net.InetAddress>, org.apache.cassandra.repair.ValidationTask> validating;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/repair/RepairJobDesc;Ljava/net/InetAddress;>;Lorg/apache/cassandra/repair/ValidationTask;>;
private final java.util.concurrent.ConcurrentMap<org.apache.cassandra.utils.Pair<org.apache.cassandra.repair.RepairJobDesc, org.apache.cassandra.repair.NodePair>, org.apache.cassandra.repair.RemoteSyncTask> syncingTasks;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/repair/RepairJobDesc;Lorg/apache/cassandra/repair/NodePair;>;Lorg/apache/cassandra/repair/RemoteSyncTask;>;
public final com.google.common.util.concurrent.ListeningExecutorService taskExecutor;
descriptor: Lcom/google/common/util/concurrent/ListeningExecutorService;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private volatile boolean terminated;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
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=1, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/repair/RepairSession;
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.repair.RepairSession.$assertionsDisabled:Z
3: ldc Lorg/apache/cassandra/repair/RepairSession;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.repair.RepairSession.logger:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.util.UUID, java.util.UUID, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>, java.lang.String, org.apache.cassandra.repair.RepairParallelism, java.util.Set<java.net.InetAddress>, long, boolean, java.lang.String[]);
descriptor: (Ljava/util/UUID;Ljava/util/UUID;Ljava/util/Collection;Ljava/lang/String;Lorg/apache/cassandra/repair/RepairParallelism;Ljava/util/Set;JZ[Ljava/lang/String;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=11, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 9 start local 10 0: aload 0
invokespecial com.google.common.util.concurrent.AbstractFuture.<init>:()V
1: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
putfield org.apache.cassandra.repair.RepairSession.isFailed:Ljava/util/concurrent/atomic/AtomicBoolean;
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.apache.cassandra.repair.RepairSession.validating:Ljava/util/concurrent/ConcurrentMap;
3: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.apache.cassandra.repair.RepairSession.syncingTasks:Ljava/util/concurrent/ConcurrentMap;
4: aload 0
iconst_0
putfield org.apache.cassandra.repair.RepairSession.terminated:Z
5: getstatic org.apache.cassandra.repair.RepairSession.$assertionsDisabled:Z
ifne 6
aload 10
arraylength
ifgt 6
new java.lang.AssertionError
dup
ldc "Repairing no column families seems pointless, doesn't it"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
6: StackMap locals: org.apache.cassandra.repair.RepairSession java.util.UUID java.util.UUID java.util.Collection java.lang.String org.apache.cassandra.repair.RepairParallelism java.util.Set long int java.lang.String[]
StackMap stack:
aload 0
aload 1
putfield org.apache.cassandra.repair.RepairSession.parentRepairSession:Ljava/util/UUID;
7: aload 0
aload 2
putfield org.apache.cassandra.repair.RepairSession.id:Ljava/util/UUID;
8: aload 0
aload 5
putfield org.apache.cassandra.repair.RepairSession.parallelismDegree:Lorg/apache/cassandra/repair/RepairParallelism;
9: aload 0
aload 4
putfield org.apache.cassandra.repair.RepairSession.keyspace:Ljava/lang/String;
10: aload 0
aload 10
putfield org.apache.cassandra.repair.RepairSession.cfnames:[Ljava/lang/String;
11: aload 0
aload 3
putfield org.apache.cassandra.repair.RepairSession.ranges:Ljava/util/Collection;
12: aload 0
aload 6
putfield org.apache.cassandra.repair.RepairSession.endpoints:Ljava/util/Set;
13: aload 0
lload 7
putfield org.apache.cassandra.repair.RepairSession.repairedAt:J
14: aload 0
iload 9
putfield org.apache.cassandra.repair.RepairSession.pullRepair:Z
15: aload 0
aload 0
invokevirtual org.apache.cassandra.repair.RepairSession.createExecutor:()Lorg/apache/cassandra/concurrent/DebuggableThreadPoolExecutor;
invokestatic com.google.common.util.concurrent.MoreExecutors.listeningDecorator:(Ljava/util/concurrent/ExecutorService;)Lcom/google/common/util/concurrent/ListeningExecutorService;
putfield org.apache.cassandra.repair.RepairSession.taskExecutor:Lcom/google/common/util/concurrent/ListeningExecutorService;
16: return
end local 10 end local 9 end local 7 end local 6 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 17 0 this Lorg/apache/cassandra/repair/RepairSession;
0 17 1 parentRepairSession Ljava/util/UUID;
0 17 2 id Ljava/util/UUID;
0 17 3 ranges Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
0 17 4 keyspace Ljava/lang/String;
0 17 5 parallelismDegree Lorg/apache/cassandra/repair/RepairParallelism;
0 17 6 endpoints Ljava/util/Set<Ljava/net/InetAddress;>;
0 17 7 repairedAt J
0 17 9 pullRepair Z
0 17 10 cfnames [Ljava/lang/String;
Signature: (Ljava/util/UUID;Ljava/util/UUID;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;Ljava/lang/String;Lorg/apache/cassandra/repair/RepairParallelism;Ljava/util/Set<Ljava/net/InetAddress;>;JZ[Ljava/lang/String;)V
MethodParameters:
Name Flags
parentRepairSession
id
ranges
keyspace
parallelismDegree
endpoints
repairedAt
pullRepair
cfnames
protected org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor createExecutor();
descriptor: ()Lorg/apache/cassandra/concurrent/DebuggableThreadPoolExecutor;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "RepairJobTask"
invokestatic org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor.createCachedThreadpoolWithMaxSize:(Ljava/lang/String;)Lorg/apache/cassandra/concurrent/DebuggableThreadPoolExecutor;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/repair/RepairSession;
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
public java.util.UUID getId();
descriptor: ()Ljava/util/UUID;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.repair.RepairSession.id:Ljava/util/UUID;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/repair/RepairSession;
public java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>> getRanges();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.repair.RepairSession.ranges:Ljava/util/Collection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/repair/RepairSession;
Signature: ()Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
public void waitForValidation(org.apache.cassandra.utils.Pair<org.apache.cassandra.repair.RepairJobDesc, java.net.InetAddress>, org.apache.cassandra.repair.ValidationTask);
descriptor: (Lorg/apache/cassandra/utils/Pair;Lorg/apache/cassandra/repair/ValidationTask;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.repair.RepairSession.validating:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 2
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/repair/RepairSession;
0 2 1 key Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/repair/RepairJobDesc;Ljava/net/InetAddress;>;
0 2 2 task Lorg/apache/cassandra/repair/ValidationTask;
Signature: (Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/repair/RepairJobDesc;Ljava/net/InetAddress;>;Lorg/apache/cassandra/repair/ValidationTask;)V
MethodParameters:
Name Flags
key
task
public void waitForSync(org.apache.cassandra.utils.Pair<org.apache.cassandra.repair.RepairJobDesc, org.apache.cassandra.repair.NodePair>, org.apache.cassandra.repair.RemoteSyncTask);
descriptor: (Lorg/apache/cassandra/utils/Pair;Lorg/apache/cassandra/repair/RemoteSyncTask;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.repair.RepairSession.syncingTasks:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 2
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/repair/RepairSession;
0 2 1 key Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/repair/RepairJobDesc;Lorg/apache/cassandra/repair/NodePair;>;
0 2 2 task Lorg/apache/cassandra/repair/RemoteSyncTask;
Signature: (Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/repair/RepairJobDesc;Lorg/apache/cassandra/repair/NodePair;>;Lorg/apache/cassandra/repair/RemoteSyncTask;)V
MethodParameters:
Name Flags
key
task
public void validationComplete(org.apache.cassandra.repair.RepairJobDesc, java.net.InetAddress, org.apache.cassandra.utils.MerkleTrees);
descriptor: (Lorg/apache/cassandra/repair/RepairJobDesc;Ljava/net/InetAddress;Lorg/apache/cassandra/utils/MerkleTrees;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.cassandra.repair.RepairSession.validating:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 2
invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.repair.ValidationTask
astore 4
start local 4 1: aload 4
ifnonnull 4
2: getstatic org.apache.cassandra.repair.RepairSession.$assertionsDisabled:Z
ifne 3
aload 0
getfield org.apache.cassandra.repair.RepairSession.terminated:Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.apache.cassandra.repair.ValidationTask
StackMap stack:
return
4: StackMap locals:
StackMap stack:
ldc "Received merkle tree for %s from %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
getfield org.apache.cassandra.repair.RepairJobDesc.columnFamily:Ljava/lang/String;
aastore
dup
iconst_1
aload 2
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 5
start local 5 5: getstatic org.apache.cassandra.repair.RepairSession.logger:Lorg/slf4j/Logger;
ldc "[repair #{}] {}"
aload 0
invokevirtual org.apache.cassandra.repair.RepairSession.getId:()Ljava/util/UUID;
aload 5
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
6: aload 5
iconst_0
anewarray java.lang.Object
invokestatic org.apache.cassandra.tracing.Tracing.traceRepair:(Ljava/lang/String;[Ljava/lang/Object;)V
7: aload 4
aload 3
invokevirtual org.apache.cassandra.repair.ValidationTask.treesReceived:(Lorg/apache/cassandra/utils/MerkleTrees;)V
8: 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 9 0 this Lorg/apache/cassandra/repair/RepairSession;
0 9 1 desc Lorg/apache/cassandra/repair/RepairJobDesc;
0 9 2 endpoint Ljava/net/InetAddress;
0 9 3 trees Lorg/apache/cassandra/utils/MerkleTrees;
1 9 4 task Lorg/apache/cassandra/repair/ValidationTask;
5 9 5 message Ljava/lang/String;
MethodParameters:
Name Flags
desc
endpoint
trees
public void syncComplete(org.apache.cassandra.repair.RepairJobDesc, org.apache.cassandra.repair.NodePair, boolean);
descriptor: (Lorg/apache/cassandra/repair/RepairJobDesc;Lorg/apache/cassandra/repair/NodePair;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.cassandra.repair.RepairSession.syncingTasks:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 2
invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.repair.RemoteSyncTask
astore 4
start local 4 1: aload 4
ifnonnull 4
2: getstatic org.apache.cassandra.repair.RepairSession.$assertionsDisabled:Z
ifne 3
aload 0
getfield org.apache.cassandra.repair.RepairSession.terminated:Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.apache.cassandra.repair.RemoteSyncTask
StackMap stack:
return
4: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.repair.RepairSession.logger:Lorg/slf4j/Logger;
ldc "[repair #{}] Repair completed between {} and {} on {}"
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual org.apache.cassandra.repair.RepairSession.getId:()Ljava/util/UUID;
aastore
dup
iconst_1
aload 2
getfield org.apache.cassandra.repair.NodePair.endpoint1:Ljava/net/InetAddress;
aastore
dup
iconst_2
aload 2
getfield org.apache.cassandra.repair.NodePair.endpoint2:Ljava/net/InetAddress;
aastore
dup
iconst_3
aload 1
getfield org.apache.cassandra.repair.RepairJobDesc.columnFamily:Ljava/lang/String;
aastore
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
5: aload 4
iload 3
invokevirtual org.apache.cassandra.repair.RemoteSyncTask.syncComplete:(Z)V
6: return
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/repair/RepairSession;
0 7 1 desc Lorg/apache/cassandra/repair/RepairJobDesc;
0 7 2 nodes Lorg/apache/cassandra/repair/NodePair;
0 7 3 success Z
1 7 4 task Lorg/apache/cassandra/repair/RemoteSyncTask;
MethodParameters:
Name Flags
desc
nodes
success
java.util.Map<org.apache.cassandra.utils.Pair<org.apache.cassandra.repair.RepairJobDesc, org.apache.cassandra.repair.NodePair>, org.apache.cassandra.repair.RemoteSyncTask> getSyncingTasks();
descriptor: ()Ljava/util/Map;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.repair.RepairSession.syncingTasks:Ljava/util/concurrent/ConcurrentMap;
invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/repair/RepairSession;
Signature: ()Ljava/util/Map<Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/repair/RepairJobDesc;Lorg/apache/cassandra/repair/NodePair;>;Lorg/apache/cassandra/repair/RemoteSyncTask;>;
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
private java.lang.String repairedNodes();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
2: aload 0
getfield org.apache.cassandra.repair.RepairSession.endpoints:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: org.apache.cassandra.repair.RepairSession java.lang.StringBuilder top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 2
start local 2 4: aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/repair/RepairSession;
1 7 1 sb Ljava/lang/StringBuilder;
4 5 2 ep Ljava/net/InetAddress;
public void start(com.google.common.util.concurrent.ListeningExecutorService);
descriptor: (Lcom/google/common/util/concurrent/ListeningExecutorService;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.repair.RepairSession.terminated:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.repair.RepairSession.logger:Lorg/slf4j/Logger;
ldc "[repair #{}] new session: will sync {} on range {} for {}.{}"
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual org.apache.cassandra.repair.RepairSession.getId:()Ljava/util/UUID;
aastore
dup
iconst_1
aload 0
invokevirtual org.apache.cassandra.repair.RepairSession.repairedNodes:()Ljava/lang/String;
aastore
dup
iconst_2
aload 0
getfield org.apache.cassandra.repair.RepairSession.ranges:Ljava/util/Collection;
aastore
dup
iconst_3
aload 0
getfield org.apache.cassandra.repair.RepairSession.keyspace:Ljava/lang/String;
aastore
dup
iconst_4
aload 0
getfield org.apache.cassandra.repair.RepairSession.cfnames:[Ljava/lang/String;
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
aastore
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
3: ldc "Syncing range {}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.repair.RepairSession.ranges:Ljava/util/Collection;
aastore
invokestatic org.apache.cassandra.tracing.Tracing.traceRepair:(Ljava/lang/String;[Ljava/lang/Object;)V
4: aload 0
invokevirtual org.apache.cassandra.repair.RepairSession.getId:()Ljava/util/UUID;
aload 0
getfield org.apache.cassandra.repair.RepairSession.parentRepairSession:Ljava/util/UUID;
aload 0
getfield org.apache.cassandra.repair.RepairSession.keyspace:Ljava/lang/String;
aload 0
getfield org.apache.cassandra.repair.RepairSession.cfnames:[Ljava/lang/String;
aload 0
getfield org.apache.cassandra.repair.RepairSession.ranges:Ljava/util/Collection;
aload 0
getfield org.apache.cassandra.repair.RepairSession.endpoints:Ljava/util/Set;
invokestatic org.apache.cassandra.repair.SystemDistributedKeyspace.startRepairs:(Ljava/util/UUID;Ljava/util/UUID;Ljava/lang/String;[Ljava/lang/String;Ljava/util/Collection;Ljava/lang/Iterable;)V
5: aload 0
getfield org.apache.cassandra.repair.RepairSession.endpoints:Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifeq 12
6: getstatic org.apache.cassandra.repair.RepairSession.logger:Lorg/slf4j/Logger;
ldc "[repair #{}] {}"
aload 0
invokevirtual org.apache.cassandra.repair.RepairSession.getId:()Ljava/util/UUID;
ldc "No neighbors to repair with on range %s: session completed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.repair.RepairSession.ranges:Ljava/util/Collection;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
dup
astore 2
start local 2 7: invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
8: aload 2
iconst_0
anewarray java.lang.Object
invokestatic org.apache.cassandra.tracing.Tracing.traceRepair:(Ljava/lang/String;[Ljava/lang/Object;)V
9: aload 0
new org.apache.cassandra.repair.RepairSessionResult
dup
aload 0
getfield org.apache.cassandra.repair.RepairSession.id:Ljava/util/UUID;
aload 0
getfield org.apache.cassandra.repair.RepairSession.keyspace:Ljava/lang/String;
aload 0
getfield org.apache.cassandra.repair.RepairSession.ranges:Ljava/util/Collection;
invokestatic com.google.common.collect.Lists.newArrayList:()Ljava/util/ArrayList;
invokespecial org.apache.cassandra.repair.RepairSessionResult.<init>:(Ljava/util/UUID;Ljava/lang/String;Ljava/util/Collection;Ljava/util/Collection;)V
invokevirtual org.apache.cassandra.repair.RepairSession.set:(Ljava/lang/Object;)Z
pop
10: aload 0
invokevirtual org.apache.cassandra.repair.RepairSession.getId:()Ljava/util/UUID;
aload 0
getfield org.apache.cassandra.repair.RepairSession.keyspace:Ljava/lang/String;
aload 0
getfield org.apache.cassandra.repair.RepairSession.cfnames:[Ljava/lang/String;
new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
invokestatic org.apache.cassandra.repair.SystemDistributedKeyspace.failRepairs:(Ljava/util/UUID;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Throwable;)V
11: return
end local 2 12: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.repair.RepairSession.endpoints:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 21
StackMap locals: org.apache.cassandra.repair.RepairSession com.google.common.util.concurrent.ListeningExecutorService top top java.util.Iterator
StackMap stack:
13: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 3
start local 3 14: getstatic org.apache.cassandra.gms.FailureDetector.instance:Lorg/apache/cassandra/gms/IFailureDetector;
aload 3
invokeinterface org.apache.cassandra.gms.IFailureDetector.isAlive:(Ljava/net/InetAddress;)Z
ifne 21
15: ldc "Cannot proceed on repair because a neighbor (%s) is dead: session failed"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 16: getstatic org.apache.cassandra.repair.RepairSession.logger:Lorg/slf4j/Logger;
ldc "[repair #{}] {}"
aload 0
invokevirtual org.apache.cassandra.repair.RepairSession.getId:()Ljava/util/UUID;
aload 2
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
17: new java.io.IOException
dup
aload 2
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 5
start local 5 18: aload 0
aload 5
invokevirtual org.apache.cassandra.repair.RepairSession.setException:(Ljava/lang/Throwable;)Z
pop
19: aload 0
invokevirtual org.apache.cassandra.repair.RepairSession.getId:()Ljava/util/UUID;
aload 0
getfield org.apache.cassandra.repair.RepairSession.keyspace:Ljava/lang/String;
aload 0
getfield org.apache.cassandra.repair.RepairSession.cfnames:[Ljava/lang/String;
aload 5
invokestatic org.apache.cassandra.repair.SystemDistributedKeyspace.failRepairs:(Ljava/util/UUID;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Throwable;)V
20: return
end local 5 end local 3 end local 2 21: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 13
22: new java.util.ArrayList
dup
aload 0
getfield org.apache.cassandra.repair.RepairSession.cfnames:[Ljava/lang/String;
arraylength
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 23: aload 0
getfield org.apache.cassandra.repair.RepairSession.cfnames:[Ljava/lang/String;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 29
StackMap locals: org.apache.cassandra.repair.RepairSession com.google.common.util.concurrent.ListeningExecutorService top java.util.List top int int java.lang.String[]
StackMap stack:
24: aload 7
iload 5
aaload
astore 4
start local 4 25: new org.apache.cassandra.repair.RepairJob
dup
aload 0
aload 4
invokespecial org.apache.cassandra.repair.RepairJob.<init>:(Lorg/apache/cassandra/repair/RepairSession;Ljava/lang/String;)V
astore 8
start local 8 26: aload 1
aload 8
invokeinterface com.google.common.util.concurrent.ListeningExecutorService.execute:(Ljava/lang/Runnable;)V
27: aload 3
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 4 28: iinc 5 1
StackMap locals:
StackMap stack:
29: iload 5
iload 6
if_icmplt 24
30: aload 3
invokestatic com.google.common.util.concurrent.Futures.allAsList:(Ljava/lang/Iterable;)Lcom/google/common/util/concurrent/ListenableFuture;
new org.apache.cassandra.repair.RepairSession$1
dup
aload 0
invokespecial org.apache.cassandra.repair.RepairSession$1.<init>:(Lorg/apache/cassandra/repair/RepairSession;)V
invokestatic com.google.common.util.concurrent.Futures.addCallback:(Lcom/google/common/util/concurrent/ListenableFuture;Lcom/google/common/util/concurrent/FutureCallback;)V
31: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lorg/apache/cassandra/repair/RepairSession;
0 32 1 executor Lcom/google/common/util/concurrent/ListeningExecutorService;
7 12 2 message Ljava/lang/String;
16 21 2 message Ljava/lang/String;
14 21 3 endpoint Ljava/net/InetAddress;
18 21 5 e Ljava/lang/Exception;
23 32 3 jobs Ljava/util/List<Lcom/google/common/util/concurrent/ListenableFuture<Lorg/apache/cassandra/repair/RepairResult;>;>;
25 28 4 cfname Ljava/lang/String;
26 28 8 job Lorg/apache/cassandra/repair/RepairJob;
MethodParameters:
Name Flags
executor
public void terminate();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield org.apache.cassandra.repair.RepairSession.terminated:Z
1: aload 0
getfield org.apache.cassandra.repair.RepairSession.validating:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
2: aload 0
getfield org.apache.cassandra.repair.RepairSession.syncingTasks:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/repair/RepairSession;
public void forceShutdown(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.apache.cassandra.repair.RepairSession.setException:(Ljava/lang/Throwable;)Z
pop
1: aload 0
getfield org.apache.cassandra.repair.RepairSession.taskExecutor:Lcom/google/common/util/concurrent/ListeningExecutorService;
invokeinterface com.google.common.util.concurrent.ListeningExecutorService.shutdownNow:()Ljava/util/List;
pop
2: aload 0
invokevirtual org.apache.cassandra.repair.RepairSession.terminate:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/repair/RepairSession;
0 4 1 reason Ljava/lang/Throwable;
MethodParameters:
Name Flags
reason
public void onJoin(java.net.InetAddress, org.apache.cassandra.gms.EndpointState);
descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/gms/EndpointState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/repair/RepairSession;
0 1 1 endpoint Ljava/net/InetAddress;
0 1 2 epState Lorg/apache/cassandra/gms/EndpointState;
MethodParameters:
Name Flags
endpoint
epState
public void beforeChange(java.net.InetAddress, org.apache.cassandra.gms.EndpointState, org.apache.cassandra.gms.ApplicationState, org.apache.cassandra.gms.VersionedValue);
descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/gms/EndpointState;Lorg/apache/cassandra/gms/ApplicationState;Lorg/apache/cassandra/gms/VersionedValue;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/repair/RepairSession;
0 1 1 endpoint Ljava/net/InetAddress;
0 1 2 currentState Lorg/apache/cassandra/gms/EndpointState;
0 1 3 newStateKey Lorg/apache/cassandra/gms/ApplicationState;
0 1 4 newValue Lorg/apache/cassandra/gms/VersionedValue;
MethodParameters:
Name Flags
endpoint
currentState
newStateKey
newValue
public void onChange(java.net.InetAddress, org.apache.cassandra.gms.ApplicationState, org.apache.cassandra.gms.VersionedValue);
descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/gms/ApplicationState;Lorg/apache/cassandra/gms/VersionedValue;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/repair/RepairSession;
0 1 1 endpoint Ljava/net/InetAddress;
0 1 2 state Lorg/apache/cassandra/gms/ApplicationState;
0 1 3 value Lorg/apache/cassandra/gms/VersionedValue;
MethodParameters:
Name Flags
endpoint
state
value
public void onAlive(java.net.InetAddress, org.apache.cassandra.gms.EndpointState);
descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/gms/EndpointState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/repair/RepairSession;
0 1 1 endpoint Ljava/net/InetAddress;
0 1 2 state Lorg/apache/cassandra/gms/EndpointState;
MethodParameters:
Name Flags
endpoint
state
public void onDead(java.net.InetAddress, org.apache.cassandra.gms.EndpointState);
descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/gms/EndpointState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/repair/RepairSession;
0 1 1 endpoint Ljava/net/InetAddress;
0 1 2 state Lorg/apache/cassandra/gms/EndpointState;
MethodParameters:
Name Flags
endpoint
state
public void onRemove(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc 1.7976931348623157E308
invokevirtual org.apache.cassandra.repair.RepairSession.convict:(Ljava/net/InetAddress;D)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/repair/RepairSession;
0 2 1 endpoint Ljava/net/InetAddress;
MethodParameters:
Name Flags
endpoint
public void onRestart(java.net.InetAddress, org.apache.cassandra.gms.EndpointState);
descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/gms/EndpointState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
ldc 1.7976931348623157E308
invokevirtual org.apache.cassandra.repair.RepairSession.convict:(Ljava/net/InetAddress;D)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/repair/RepairSession;
0 2 1 endpoint Ljava/net/InetAddress;
0 2 2 epState Lorg/apache/cassandra/gms/EndpointState;
MethodParameters:
Name Flags
endpoint
epState
public void convict(java.net.InetAddress, double);
descriptor: (Ljava/net/InetAddress;D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.repair.RepairSession.endpoints:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
dload 2
ldc 2.0
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getPhiConvictThreshold:()D
dmul
dcmpg
ifge 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.repair.RepairSession.isFailed:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifne 6
5: return
6: StackMap locals:
StackMap stack:
new java.io.IOException
dup
ldc "Endpoint %s died"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 7: getstatic org.apache.cassandra.repair.RepairSession.logger:Lorg/slf4j/Logger;
ldc "[repair #%s] session completed with the following error"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual org.apache.cassandra.repair.RepairSession.getId:()Ljava/util/UUID;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 4
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
8: aload 0
aload 4
invokevirtual org.apache.cassandra.repair.RepairSession.forceShutdown:(Ljava/lang/Throwable;)V
9: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/cassandra/repair/RepairSession;
0 10 1 endpoint Ljava/net/InetAddress;
0 10 2 phi D
7 10 4 exception Ljava/lang/Exception;
MethodParameters:
Name Flags
endpoint
phi
static boolean access$0(org.apache.cassandra.repair.RepairSession, java.lang.Object);
descriptor: (Lorg/apache/cassandra/repair/RepairSession;Ljava/lang/Object;)Z
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual org.apache.cassandra.repair.RepairSession.set:(Ljava/lang/Object;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lcom/google/common/util/concurrent/AbstractFuture<Lorg/apache/cassandra/repair/RepairSessionResult;>;Lorg/apache/cassandra/gms/IEndpointStateChangeSubscriber;Lorg/apache/cassandra/gms/IFailureDetectionEventListener;
SourceFile: "RepairSession.java"
NestMembers:
org.apache.cassandra.repair.RepairSession$1
InnerClasses:
org.apache.cassandra.repair.RepairSession$1