class org.apache.cassandra.service.StorageService$RangeRelocator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.cassandra.service.StorageService$RangeRelocator
super_class: java.lang.Object
{
private final org.apache.cassandra.streaming.StreamPlan streamPlan;
descriptor: Lorg/apache/cassandra/streaming/StreamPlan;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final org.apache.cassandra.service.StorageService this$0;
descriptor: Lorg/apache/cassandra/service/StorageService;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
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/service/StorageService;
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.StorageService$RangeRelocator.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.util.Collection<org.apache.cassandra.dht.Token>, java.util.List<java.lang.String>);
descriptor: (Lorg/apache/cassandra/service/StorageService;Ljava/util/Collection;Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield org.apache.cassandra.service.StorageService$RangeRelocator.this$0:Lorg/apache/cassandra/service/StorageService;
1: aload 0
invokespecial java.lang.Object.<init>:()V
2: aload 0
new org.apache.cassandra.streaming.StreamPlan
dup
ldc "Relocation"
invokespecial org.apache.cassandra.streaming.StreamPlan.<init>:(Ljava/lang/String;)V
putfield org.apache.cassandra.service.StorageService$RangeRelocator.streamPlan:Lorg/apache/cassandra/streaming/StreamPlan;
3: aload 0
aload 2
aload 3
invokevirtual org.apache.cassandra.service.StorageService$RangeRelocator.calculateToFromStreams:(Ljava/util/Collection;Ljava/util/List;)V
4: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/service/StorageService$RangeRelocator;
0 5 2 tokens Ljava/util/Collection<Lorg/apache/cassandra/dht/Token;>;
0 5 3 keyspaceNames Ljava/util/List<Ljava/lang/String;>;
Signature: (Ljava/util/Collection<Lorg/apache/cassandra/dht/Token;>;Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
this$0 final
tokens
keyspaceNames
private void calculateToFromStreams(java.util.Collection<org.apache.cassandra.dht.Token>, java.util.List<java.lang.String>);
descriptor: (Ljava/util/Collection;Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=25, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
astore 3
start local 3 1: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getEndpointSnitch:()Lorg/apache/cassandra/locator/IEndpointSnitch;
astore 4
start local 4 2: aload 0
getfield org.apache.cassandra.service.StorageService$RangeRelocator.this$0:Lorg/apache/cassandra/service/StorageService;
getfield org.apache.cassandra.service.StorageService.tokenMetadata:Lorg/apache/cassandra/locator/TokenMetadata;
invokevirtual org.apache.cassandra.locator.TokenMetadata.cloneAfterAllSettled:()Lorg/apache/cassandra/locator/TokenMetadata;
astore 5
start local 5 3: aload 0
getfield org.apache.cassandra.service.StorageService$RangeRelocator.this$0:Lorg/apache/cassandra/service/StorageService;
getfield org.apache.cassandra.service.StorageService.tokenMetadata:Lorg/apache/cassandra/locator/TokenMetadata;
invokevirtual org.apache.cassandra.locator.TokenMetadata.cloneOnlyTokenMap:()Lorg/apache/cassandra/locator/TokenMetadata;
astore 6
start local 6 4: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 72
StackMap locals: org.apache.cassandra.service.StorageService$RangeRelocator java.util.Collection java.util.List java.net.InetAddress org.apache.cassandra.locator.IEndpointSnitch org.apache.cassandra.locator.TokenMetadata org.apache.cassandra.locator.TokenMetadata top java.util.Iterator
StackMap stack:
5: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 6: aload 7
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
invokevirtual org.apache.cassandra.db.Keyspace.getReplicationStrategy:()Lorg/apache/cassandra/locator/AbstractReplicationStrategy;
astore 9
start local 9 7: aload 9
invokevirtual org.apache.cassandra.locator.AbstractReplicationStrategy.getAddressRanges:()Lcom/google/common/collect/Multimap;
astore 10
start local 10 8: getstatic org.apache.cassandra.service.StorageService.logger:Lorg/slf4j/Logger;
ldc "Calculating ranges to stream and request for keyspace {}"
aload 7
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
9: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 12
goto 71
StackMap locals: org.apache.cassandra.service.StorageService$RangeRelocator java.util.Collection java.util.List java.net.InetAddress org.apache.cassandra.locator.IEndpointSnitch org.apache.cassandra.locator.TokenMetadata org.apache.cassandra.locator.TokenMetadata java.lang.String java.util.Iterator org.apache.cassandra.locator.AbstractReplicationStrategy com.google.common.collect.Multimap top java.util.Iterator
StackMap stack:
10: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.dht.Token
astore 11
start local 11 11: aload 10
aload 3
invokeinterface com.google.common.collect.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
astore 13
start local 13 12: aload 9
aload 6
aload 11
aload 3
invokevirtual org.apache.cassandra.locator.AbstractReplicationStrategy.getPendingAddressRanges:(Lorg/apache/cassandra/locator/TokenMetadata;Lorg/apache/cassandra/dht/Token;Ljava/net/InetAddress;)Ljava/util/Collection;
astore 14
start local 14 13: aload 9
aload 6
invokevirtual org.apache.cassandra.locator.AbstractReplicationStrategy.getRangeAddresses:(Lorg/apache/cassandra/locator/TokenMetadata;)Lcom/google/common/collect/Multimap;
astore 15
start local 15 14: aload 0
getfield org.apache.cassandra.service.StorageService$RangeRelocator.this$0:Lorg/apache/cassandra/service/StorageService;
aload 13
aload 14
invokevirtual org.apache.cassandra.service.StorageService.calculateStreamAndFetchRanges:(Ljava/util/Collection;Ljava/util/Collection;)Lorg/apache/cassandra/utils/Pair;
astore 16
start local 16 15: invokestatic com.google.common.collect.ArrayListMultimap.create:()Lcom/google/common/collect/ArrayListMultimap;
astore 17
start local 17 16: aload 16
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
checkcast java.util.Set
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 19
goto 44
StackMap locals: org.apache.cassandra.service.StorageService$RangeRelocator java.util.Collection java.util.List java.net.InetAddress org.apache.cassandra.locator.IEndpointSnitch org.apache.cassandra.locator.TokenMetadata org.apache.cassandra.locator.TokenMetadata java.lang.String java.util.Iterator org.apache.cassandra.locator.AbstractReplicationStrategy com.google.common.collect.Multimap org.apache.cassandra.dht.Token java.util.Iterator java.util.Collection java.util.Collection com.google.common.collect.Multimap org.apache.cassandra.utils.Pair com.google.common.collect.Multimap top java.util.Iterator
StackMap stack:
17: aload 19
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.dht.Range
astore 18
start local 18 18: aload 15
invokeinterface com.google.common.collect.Multimap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 21
goto 34
StackMap locals: org.apache.cassandra.service.StorageService$RangeRelocator java.util.Collection java.util.List java.net.InetAddress org.apache.cassandra.locator.IEndpointSnitch org.apache.cassandra.locator.TokenMetadata org.apache.cassandra.locator.TokenMetadata java.lang.String java.util.Iterator org.apache.cassandra.locator.AbstractReplicationStrategy com.google.common.collect.Multimap org.apache.cassandra.dht.Token java.util.Iterator java.util.Collection java.util.Collection com.google.common.collect.Multimap org.apache.cassandra.utils.Pair com.google.common.collect.Multimap org.apache.cassandra.dht.Range java.util.Iterator top java.util.Iterator
StackMap stack:
19: aload 21
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.dht.Range
astore 20
start local 20 20: aload 20
aload 18
invokevirtual org.apache.cassandra.dht.Range.contains:(Lorg/apache/cassandra/dht/Range;)Z
ifeq 34
21: aconst_null
astore 22
start local 22 22: getstatic org.apache.cassandra.service.StorageService.useStrictConsistency:Z
ifeq 32
23: aload 15
aload 20
invokeinterface com.google.common.collect.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
invokestatic com.google.common.collect.Sets.newHashSet:(Ljava/lang/Iterable;)Ljava/util/HashSet;
astore 23
start local 23 24: aload 9
aload 18
getfield org.apache.cassandra.dht.Range.right:Lorg/apache/cassandra/dht/RingPosition;
checkcast org.apache.cassandra.dht.Token
aload 5
invokevirtual org.apache.cassandra.locator.AbstractReplicationStrategy.calculateNaturalEndpoints:(Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/locator/TokenMetadata;)Ljava/util/List;
invokestatic com.google.common.collect.Sets.newHashSet:(Ljava/lang/Iterable;)Ljava/util/HashSet;
astore 24
start local 24 25: aload 23
invokeinterface java.util.Set.size:()I
aload 9
invokevirtual org.apache.cassandra.locator.AbstractReplicationStrategy.getReplicationFactor:()I
if_icmpne 30
26: aload 23
aload 24
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
27: aload 23
invokeinterface java.util.Set.isEmpty:()Z
ifeq 29
28: goto 34
29: StackMap locals: org.apache.cassandra.service.StorageService$RangeRelocator java.util.Collection java.util.List java.net.InetAddress org.apache.cassandra.locator.IEndpointSnitch org.apache.cassandra.locator.TokenMetadata org.apache.cassandra.locator.TokenMetadata java.lang.String java.util.Iterator org.apache.cassandra.locator.AbstractReplicationStrategy com.google.common.collect.Multimap org.apache.cassandra.dht.Token java.util.Iterator java.util.Collection java.util.Collection com.google.common.collect.Multimap org.apache.cassandra.utils.Pair com.google.common.collect.Multimap org.apache.cassandra.dht.Range java.util.Iterator org.apache.cassandra.dht.Range java.util.Iterator java.util.List java.util.Set java.util.Set
StackMap stack:
getstatic org.apache.cassandra.service.StorageService$RangeRelocator.$assertionsDisabled:Z
ifne 30
aload 23
invokeinterface java.util.Set.size:()I
iconst_1
if_icmpeq 30
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Expected 1 endpoint but found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 23
invokeinterface java.util.Set.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
30: StackMap locals:
StackMap stack:
iconst_1
anewarray java.net.InetAddress
dup
iconst_0
aload 23
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
aastore
invokestatic com.google.common.collect.Lists.newArrayList:([Ljava/lang/Object;)Ljava/util/ArrayList;
astore 22
end local 24 end local 23 31: goto 33
32: StackMap locals:
StackMap stack:
aload 4
aload 3
aload 15
aload 20
invokeinterface com.google.common.collect.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
invokeinterface org.apache.cassandra.locator.IEndpointSnitch.getSortedListByProximity:(Ljava/net/InetAddress;Ljava/util/Collection;)Ljava/util/List;
astore 22
33: StackMap locals:
StackMap stack:
aload 17
aload 18
aload 22
invokeinterface com.google.common.collect.Multimap.putAll:(Ljava/lang/Object;Ljava/lang/Iterable;)Z
pop
end local 22 end local 20 34: StackMap locals: org.apache.cassandra.service.StorageService$RangeRelocator java.util.Collection java.util.List java.net.InetAddress org.apache.cassandra.locator.IEndpointSnitch org.apache.cassandra.locator.TokenMetadata org.apache.cassandra.locator.TokenMetadata java.lang.String java.util.Iterator org.apache.cassandra.locator.AbstractReplicationStrategy com.google.common.collect.Multimap org.apache.cassandra.dht.Token java.util.Iterator java.util.Collection java.util.Collection com.google.common.collect.Multimap org.apache.cassandra.utils.Pair com.google.common.collect.Multimap org.apache.cassandra.dht.Range java.util.Iterator top java.util.Iterator
StackMap stack:
aload 21
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
35: aload 17
aload 18
invokeinterface com.google.common.collect.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
astore 20
start local 20 36: aload 20
ifnull 44
aload 20
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 38
37: goto 44
38: StackMap locals: org.apache.cassandra.service.StorageService$RangeRelocator java.util.Collection java.util.List java.net.InetAddress org.apache.cassandra.locator.IEndpointSnitch org.apache.cassandra.locator.TokenMetadata org.apache.cassandra.locator.TokenMetadata java.lang.String java.util.Iterator org.apache.cassandra.locator.AbstractReplicationStrategy com.google.common.collect.Multimap org.apache.cassandra.dht.Token java.util.Iterator java.util.Collection java.util.Collection com.google.common.collect.Multimap org.apache.cassandra.utils.Pair com.google.common.collect.Multimap org.apache.cassandra.dht.Range java.util.Iterator java.util.Collection
StackMap stack:
getstatic org.apache.cassandra.service.StorageService.useStrictConsistency:Z
ifeq 44
39: aload 20
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmple 41
40: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Multiple strict sources found for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
41: StackMap locals:
StackMap stack:
aload 20
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 21
start local 21 42: getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
invokevirtual org.apache.cassandra.gms.Gossiper.isEnabled:()Z
ifeq 44
getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
aload 21
invokevirtual org.apache.cassandra.gms.Gossiper.getEndpointStateForEndpoint:(Ljava/net/InetAddress;)Lorg/apache/cassandra/gms/EndpointState;
invokevirtual org.apache.cassandra.gms.EndpointState.isAlive:()Z
ifne 44
43: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "A node required to move the data consistently is down ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 21
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "). If you wish to move the data from a potentially inconsistent replica, restart the node with -Dcassandra.consistent.rangemovement=false"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 21 end local 20 end local 18 44: StackMap locals: org.apache.cassandra.service.StorageService$RangeRelocator java.util.Collection java.util.List java.net.InetAddress org.apache.cassandra.locator.IEndpointSnitch org.apache.cassandra.locator.TokenMetadata org.apache.cassandra.locator.TokenMetadata java.lang.String java.util.Iterator org.apache.cassandra.locator.AbstractReplicationStrategy com.google.common.collect.Multimap org.apache.cassandra.dht.Token java.util.Iterator java.util.Collection java.util.Collection com.google.common.collect.Multimap org.apache.cassandra.utils.Pair com.google.common.collect.Multimap top java.util.Iterator
StackMap stack:
aload 19
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
45: invokestatic com.google.common.collect.HashMultimap.create:()Lcom/google/common/collect/HashMultimap;
astore 18
start local 18 46: aload 16
getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
checkcast java.util.Set
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 20
goto 56
StackMap locals: org.apache.cassandra.service.StorageService$RangeRelocator java.util.Collection java.util.List java.net.InetAddress org.apache.cassandra.locator.IEndpointSnitch org.apache.cassandra.locator.TokenMetadata org.apache.cassandra.locator.TokenMetadata java.lang.String java.util.Iterator org.apache.cassandra.locator.AbstractReplicationStrategy com.google.common.collect.Multimap org.apache.cassandra.dht.Token java.util.Iterator java.util.Collection java.util.Collection com.google.common.collect.Multimap org.apache.cassandra.utils.Pair com.google.common.collect.Multimap com.google.common.collect.Multimap top java.util.Iterator
StackMap stack:
47: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.dht.Range
astore 19
start local 19 48: aload 9
aload 19
getfield org.apache.cassandra.dht.Range.right:Lorg/apache/cassandra/dht/RingPosition;
checkcast org.apache.cassandra.dht.Token
aload 6
invokevirtual org.apache.cassandra.locator.AbstractReplicationStrategy.calculateNaturalEndpoints:(Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/locator/TokenMetadata;)Ljava/util/List;
invokestatic com.google.common.collect.ImmutableSet.copyOf:(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;
astore 21
start local 21 49: aload 9
aload 19
getfield org.apache.cassandra.dht.Range.right:Lorg/apache/cassandra/dht/RingPosition;
checkcast org.apache.cassandra.dht.Token
aload 5
invokevirtual org.apache.cassandra.locator.AbstractReplicationStrategy.calculateNaturalEndpoints:(Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/locator/TokenMetadata;)Ljava/util/List;
invokestatic com.google.common.collect.ImmutableSet.copyOf:(Ljava/util/Collection;)Lcom/google/common/collect/ImmutableSet;
astore 22
start local 22 50: getstatic org.apache.cassandra.service.StorageService.logger:Lorg/slf4j/Logger;
ldc "Range: {} Current endpoints: {} New endpoints: {}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 19
aastore
dup
iconst_1
aload 21
aastore
dup
iconst_2
aload 22
aastore
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
51: aload 22
aload 21
invokestatic com.google.common.collect.Sets.difference:(Ljava/util/Set;Ljava/util/Set;)Lcom/google/common/collect/Sets$SetView;
invokevirtual com.google.common.collect.Sets$SetView.iterator:()Ljava/util/Iterator;
astore 24
goto 55
StackMap locals: org.apache.cassandra.service.StorageService$RangeRelocator java.util.Collection java.util.List java.net.InetAddress org.apache.cassandra.locator.IEndpointSnitch org.apache.cassandra.locator.TokenMetadata org.apache.cassandra.locator.TokenMetadata java.lang.String java.util.Iterator org.apache.cassandra.locator.AbstractReplicationStrategy com.google.common.collect.Multimap org.apache.cassandra.dht.Token java.util.Iterator java.util.Collection java.util.Collection com.google.common.collect.Multimap org.apache.cassandra.utils.Pair com.google.common.collect.Multimap com.google.common.collect.Multimap org.apache.cassandra.dht.Range java.util.Iterator java.util.Set java.util.Set top java.util.Iterator
StackMap stack:
52: aload 24
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 23
start local 23 53: getstatic org.apache.cassandra.service.StorageService.logger:Lorg/slf4j/Logger;
ldc "Range {} has new owner {}"
aload 19
aload 23
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
54: aload 18
aload 23
aload 19
invokeinterface com.google.common.collect.Multimap.put:(Ljava/lang/Object;Ljava/lang/Object;)Z
pop
end local 23 55: StackMap locals:
StackMap stack:
aload 24
invokeinterface java.util.Iterator.hasNext:()Z
ifne 52
end local 22 end local 21 end local 19 56: StackMap locals: org.apache.cassandra.service.StorageService$RangeRelocator java.util.Collection java.util.List java.net.InetAddress org.apache.cassandra.locator.IEndpointSnitch org.apache.cassandra.locator.TokenMetadata org.apache.cassandra.locator.TokenMetadata java.lang.String java.util.Iterator org.apache.cassandra.locator.AbstractReplicationStrategy com.google.common.collect.Multimap org.apache.cassandra.dht.Token java.util.Iterator java.util.Collection java.util.Collection com.google.common.collect.Multimap org.apache.cassandra.utils.Pair com.google.common.collect.Multimap com.google.common.collect.Multimap top java.util.Iterator
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 47
57: aload 18
invokeinterface com.google.common.collect.Multimap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 20
goto 62
StackMap locals:
StackMap stack:
58: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 19
start local 19 59: getstatic org.apache.cassandra.service.StorageService.logger:Lorg/slf4j/Logger;
ldc "Will stream range {} of keyspace {} to endpoint {}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 18
aload 19
invokeinterface com.google.common.collect.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
aastore
dup
iconst_1
aload 7
aastore
dup
iconst_2
aload 19
aastore
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
60: aload 19
invokestatic org.apache.cassandra.db.SystemKeyspace.getPreferredIP:(Ljava/net/InetAddress;)Ljava/net/InetAddress;
astore 21
start local 21 61: aload 0
getfield org.apache.cassandra.service.StorageService$RangeRelocator.streamPlan:Lorg/apache/cassandra/streaming/StreamPlan;
aload 19
aload 21
aload 7
aload 18
aload 19
invokeinterface com.google.common.collect.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
invokevirtual org.apache.cassandra.streaming.StreamPlan.transferRanges:(Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection;)Lorg/apache/cassandra/streaming/StreamPlan;
pop
end local 21 end local 19 62: StackMap locals:
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 58
63: aload 17
aload 7
getstatic org.apache.cassandra.gms.FailureDetector.instance:Lorg/apache/cassandra/gms/IFailureDetector;
getstatic org.apache.cassandra.service.StorageService.useStrictConsistency:Z
invokestatic org.apache.cassandra.dht.RangeStreamer.getWorkMap:(Lcom/google/common/collect/Multimap;Ljava/lang/String;Lorg/apache/cassandra/gms/IFailureDetector;Z)Lcom/google/common/collect/Multimap;
astore 19
start local 19 64: aload 19
invokeinterface com.google.common.collect.Multimap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 21
goto 69
StackMap locals: org.apache.cassandra.service.StorageService$RangeRelocator java.util.Collection java.util.List java.net.InetAddress org.apache.cassandra.locator.IEndpointSnitch org.apache.cassandra.locator.TokenMetadata org.apache.cassandra.locator.TokenMetadata java.lang.String java.util.Iterator org.apache.cassandra.locator.AbstractReplicationStrategy com.google.common.collect.Multimap org.apache.cassandra.dht.Token java.util.Iterator java.util.Collection java.util.Collection com.google.common.collect.Multimap org.apache.cassandra.utils.Pair com.google.common.collect.Multimap com.google.common.collect.Multimap com.google.common.collect.Multimap top java.util.Iterator
StackMap stack:
65: aload 21
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 20
start local 20 66: getstatic org.apache.cassandra.service.StorageService.logger:Lorg/slf4j/Logger;
ldc "Will request range {} of keyspace {} from endpoint {}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 19
aload 20
invokeinterface com.google.common.collect.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
aastore
dup
iconst_1
aload 7
aastore
dup
iconst_2
aload 20
aastore
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
67: aload 20
invokestatic org.apache.cassandra.db.SystemKeyspace.getPreferredIP:(Ljava/net/InetAddress;)Ljava/net/InetAddress;
astore 22
start local 22 68: aload 0
getfield org.apache.cassandra.service.StorageService$RangeRelocator.streamPlan:Lorg/apache/cassandra/streaming/StreamPlan;
aload 20
aload 22
aload 7
aload 19
aload 20
invokeinterface com.google.common.collect.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
invokevirtual org.apache.cassandra.streaming.StreamPlan.requestRanges:(Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection;)Lorg/apache/cassandra/streaming/StreamPlan;
pop
end local 22 end local 20 69: StackMap locals:
StackMap stack:
aload 21
invokeinterface java.util.Iterator.hasNext:()Z
ifne 65
70: getstatic org.apache.cassandra.service.StorageService.logger:Lorg/slf4j/Logger;
ldc "Keyspace {}: work map {}."
aload 7
aload 19
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 11 71: StackMap locals: org.apache.cassandra.service.StorageService$RangeRelocator java.util.Collection java.util.List java.net.InetAddress org.apache.cassandra.locator.IEndpointSnitch org.apache.cassandra.locator.TokenMetadata org.apache.cassandra.locator.TokenMetadata java.lang.String java.util.Iterator org.apache.cassandra.locator.AbstractReplicationStrategy com.google.common.collect.Multimap top java.util.Iterator
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 10 end local 9 end local 7 72: StackMap locals: org.apache.cassandra.service.StorageService$RangeRelocator java.util.Collection java.util.List java.net.InetAddress org.apache.cassandra.locator.IEndpointSnitch org.apache.cassandra.locator.TokenMetadata org.apache.cassandra.locator.TokenMetadata top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
73: return
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 74 0 this Lorg/apache/cassandra/service/StorageService$RangeRelocator;
0 74 1 newTokens Ljava/util/Collection<Lorg/apache/cassandra/dht/Token;>;
0 74 2 keyspaceNames Ljava/util/List<Ljava/lang/String;>;
1 74 3 localAddress Ljava/net/InetAddress;
2 74 4 snitch Lorg/apache/cassandra/locator/IEndpointSnitch;
3 74 5 tokenMetaCloneAllSettled Lorg/apache/cassandra/locator/TokenMetadata;
4 74 6 tokenMetaClone Lorg/apache/cassandra/locator/TokenMetadata;
6 72 7 keyspace Ljava/lang/String;
7 72 9 strategy Lorg/apache/cassandra/locator/AbstractReplicationStrategy;
8 72 10 endpointToRanges Lcom/google/common/collect/Multimap<Ljava/net/InetAddress;Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
11 71 11 newToken Lorg/apache/cassandra/dht/Token;
12 71 13 currentRanges Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
13 71 14 updatedRanges Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
14 71 15 rangeAddresses Lcom/google/common/collect/Multimap<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;Ljava/net/InetAddress;>;
15 71 16 rangesPerKeyspace Lorg/apache/cassandra/utils/Pair<Ljava/util/Set<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;Ljava/util/Set<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;>;
16 71 17 rangesToFetchWithPreferredEndpoints Lcom/google/common/collect/Multimap<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;Ljava/net/InetAddress;>;
18 44 18 toFetch Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;
20 34 20 range Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;
22 34 22 endpoints Ljava/util/List<Ljava/net/InetAddress;>;
24 31 23 oldEndpoints Ljava/util/Set<Ljava/net/InetAddress;>;
25 31 24 newEndpoints Ljava/util/Set<Ljava/net/InetAddress;>;
36 44 20 addressList Ljava/util/Collection<Ljava/net/InetAddress;>;
42 44 21 sourceIp Ljava/net/InetAddress;
46 71 18 endpointRanges Lcom/google/common/collect/Multimap<Ljava/net/InetAddress;Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
48 56 19 toStream Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;
49 56 21 currentEndpoints Ljava/util/Set<Ljava/net/InetAddress;>;
50 56 22 newEndpoints Ljava/util/Set<Ljava/net/InetAddress;>;
53 55 23 address Ljava/net/InetAddress;
59 62 19 address Ljava/net/InetAddress;
61 62 21 preferred Ljava/net/InetAddress;
64 71 19 workMap Lcom/google/common/collect/Multimap<Ljava/net/InetAddress;Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
66 69 20 address Ljava/net/InetAddress;
68 69 22 preferred Ljava/net/InetAddress;
Signature: (Ljava/util/Collection<Lorg/apache/cassandra/dht/Token;>;Ljava/util/List<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
newTokens
keyspaceNames
public java.util.concurrent.Future<org.apache.cassandra.streaming.StreamState> stream();
descriptor: ()Ljava/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.service.StorageService$RangeRelocator.streamPlan:Lorg/apache/cassandra/streaming/StreamPlan;
invokevirtual org.apache.cassandra.streaming.StreamPlan.execute:()Lorg/apache/cassandra/streaming/StreamResultFuture;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageService$RangeRelocator;
Signature: ()Ljava/util/concurrent/Future<Lorg/apache/cassandra/streaming/StreamState;>;
public boolean streamsNeeded();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.service.StorageService$RangeRelocator.streamPlan:Lorg/apache/cassandra/streaming/StreamPlan;
invokevirtual org.apache.cassandra.streaming.StreamPlan.isEmpty:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/service/StorageService$RangeRelocator;
}
SourceFile: "StorageService.java"
NestHost: org.apache.cassandra.service.StorageService
InnerClasses:
public abstract SetView = com.google.common.collect.Sets$SetView of com.google.common.collect.Sets
private RangeRelocator = org.apache.cassandra.service.StorageService$RangeRelocator of org.apache.cassandra.service.StorageService