public class org.apache.cassandra.locator.GossipingPropertyFileSnitch extends org.apache.cassandra.locator.AbstractNetworkTopologySnitch
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.locator.GossipingPropertyFileSnitch
super_class: org.apache.cassandra.locator.AbstractNetworkTopologySnitch
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private org.apache.cassandra.locator.PropertyFileSnitch psnitch;
descriptor: Lorg/apache/cassandra/locator/PropertyFileSnitch;
flags: (0x0002) ACC_PRIVATE
private final java.lang.String myDC;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String myRack;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean preferLocal;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<org.apache.cassandra.locator.ReconnectableSnitchHelper> snitchHelperReference;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Lorg/apache/cassandra/locator/ReconnectableSnitchHelper;>;
private java.util.Map<java.net.InetAddress, java.util.Map<java.lang.String, java.lang.String>> savedEndpoints;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/net/InetAddress;Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;
private static final java.lang.String DEFAULT_DC;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "UNKNOWN_DC"
private static final java.lang.String DEFAULT_RACK;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "UNKNOWN_RACK"
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/locator/GossipingPropertyFileSnitch;
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.locator.GossipingPropertyFileSnitch.$assertionsDisabled:Z
3: ldc Lorg/apache/cassandra/locator/GossipingPropertyFileSnitch;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.locator.GossipingPropertyFileSnitch.logger:Lorg/slf4j/Logger;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokespecial org.apache.cassandra.locator.AbstractNetworkTopologySnitch.<init>:()V
1: invokestatic org.apache.cassandra.locator.GossipingPropertyFileSnitch.loadConfiguration:()Lorg/apache/cassandra/locator/SnitchProperties;
astore 1
start local 1 2: aload 0
aload 1
ldc "dc"
ldc "UNKNOWN_DC"
invokevirtual org.apache.cassandra.locator.SnitchProperties.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
putfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.myDC:Ljava/lang/String;
3: aload 0
aload 1
ldc "rack"
ldc "UNKNOWN_RACK"
invokevirtual org.apache.cassandra.locator.SnitchProperties.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
putfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.myRack:Ljava/lang/String;
4: aload 0
aload 1
ldc "prefer_local"
ldc "false"
invokevirtual org.apache.cassandra.locator.SnitchProperties.get:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
putfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.preferLocal:Z
5: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.snitchHelperReference:Ljava/util/concurrent/atomic/AtomicReference;
6: aload 0
new org.apache.cassandra.locator.PropertyFileSnitch
dup
invokespecial org.apache.cassandra.locator.PropertyFileSnitch.<init>:()V
putfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.psnitch:Lorg/apache/cassandra/locator/PropertyFileSnitch;
7: getstatic org.apache.cassandra.locator.GossipingPropertyFileSnitch.logger:Lorg/slf4j/Logger;
ldc "Loaded {} for compatibility"
ldc "cassandra-topology.properties"
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
8: goto 11
9: StackMap locals: org.apache.cassandra.locator.GossipingPropertyFileSnitch org.apache.cassandra.locator.SnitchProperties
StackMap stack: org.apache.cassandra.exceptions.ConfigurationException
pop
10: getstatic org.apache.cassandra.locator.GossipingPropertyFileSnitch.logger:Lorg/slf4j/Logger;
ldc "Unable to load {}; compatibility mode disabled"
ldc "cassandra-topology.properties"
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/locator/GossipingPropertyFileSnitch;
2 12 1 properties Lorg/apache/cassandra/locator/SnitchProperties;
Exception table:
from to target type
6 8 9 Class org.apache.cassandra.exceptions.ConfigurationException
Exceptions:
throws org.apache.cassandra.exceptions.ConfigurationException
private static org.apache.cassandra.locator.SnitchProperties loadConfiguration();
descriptor: ()Lorg/apache/cassandra/locator/SnitchProperties;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: new org.apache.cassandra.locator.SnitchProperties
dup
invokespecial org.apache.cassandra.locator.SnitchProperties.<init>:()V
astore 0
start local 0 1: aload 0
ldc "dc"
invokevirtual org.apache.cassandra.locator.SnitchProperties.contains:(Ljava/lang/String;)Z
ifeq 2
aload 0
ldc "rack"
invokevirtual org.apache.cassandra.locator.SnitchProperties.contains:(Ljava/lang/String;)Z
ifne 3
2: StackMap locals: org.apache.cassandra.locator.SnitchProperties
StackMap stack:
new org.apache.cassandra.exceptions.ConfigurationException
dup
ldc "DC or rack not found in snitch properties, check your configuration in: cassandra-rackdc.properties"
invokespecial org.apache.cassandra.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 properties Lorg/apache/cassandra/locator/SnitchProperties;
Exceptions:
throws org.apache.cassandra.exceptions.ConfigurationException
public java.lang.String getDatacenter(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.myDC:Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
aload 1
invokevirtual org.apache.cassandra.gms.Gossiper.getEndpointStateForEndpoint:(Ljava/net/InetAddress;)Lorg/apache/cassandra/gms/EndpointState;
astore 2
start local 2 3: aload 2
ifnull 4
aload 2
getstatic org.apache.cassandra.gms.ApplicationState.DC:Lorg/apache/cassandra/gms/ApplicationState;
invokevirtual org.apache.cassandra.gms.EndpointState.getApplicationState:(Lorg/apache/cassandra/gms/ApplicationState;)Lorg/apache/cassandra/gms/VersionedValue;
ifnonnull 11
4: StackMap locals: org.apache.cassandra.gms.EndpointState
StackMap stack:
aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.psnitch:Lorg/apache/cassandra/locator/PropertyFileSnitch;
ifnonnull 10
5: aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.savedEndpoints:Ljava/util/Map;
ifnonnull 7
6: aload 0
invokestatic org.apache.cassandra.db.SystemKeyspace.loadDcRackInfo:()Ljava/util/Map;
putfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.savedEndpoints:Ljava/util/Map;
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.savedEndpoints:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 9
8: aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.savedEndpoints:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
ldc "data_center"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
areturn
9: StackMap locals:
StackMap stack:
ldc "UNKNOWN_DC"
areturn
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.psnitch:Lorg/apache/cassandra/locator/PropertyFileSnitch;
aload 1
invokevirtual org.apache.cassandra.locator.PropertyFileSnitch.getDatacenter:(Ljava/net/InetAddress;)Ljava/lang/String;
areturn
11: StackMap locals:
StackMap stack:
aload 2
getstatic org.apache.cassandra.gms.ApplicationState.DC:Lorg/apache/cassandra/gms/ApplicationState;
invokevirtual org.apache.cassandra.gms.EndpointState.getApplicationState:(Lorg/apache/cassandra/gms/ApplicationState;)Lorg/apache/cassandra/gms/VersionedValue;
getfield org.apache.cassandra.gms.VersionedValue.value:Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/locator/GossipingPropertyFileSnitch;
0 12 1 endpoint Ljava/net/InetAddress;
3 12 2 epState Lorg/apache/cassandra/gms/EndpointState;
MethodParameters:
Name Flags
endpoint
public java.lang.String getRack(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.myRack:Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
aload 1
invokevirtual org.apache.cassandra.gms.Gossiper.getEndpointStateForEndpoint:(Ljava/net/InetAddress;)Lorg/apache/cassandra/gms/EndpointState;
astore 2
start local 2 3: aload 2
ifnull 4
aload 2
getstatic org.apache.cassandra.gms.ApplicationState.RACK:Lorg/apache/cassandra/gms/ApplicationState;
invokevirtual org.apache.cassandra.gms.EndpointState.getApplicationState:(Lorg/apache/cassandra/gms/ApplicationState;)Lorg/apache/cassandra/gms/VersionedValue;
ifnonnull 11
4: StackMap locals: org.apache.cassandra.gms.EndpointState
StackMap stack:
aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.psnitch:Lorg/apache/cassandra/locator/PropertyFileSnitch;
ifnonnull 10
5: aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.savedEndpoints:Ljava/util/Map;
ifnonnull 7
6: aload 0
invokestatic org.apache.cassandra.db.SystemKeyspace.loadDcRackInfo:()Ljava/util/Map;
putfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.savedEndpoints:Ljava/util/Map;
7: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.savedEndpoints:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 9
8: aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.savedEndpoints:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
ldc "rack"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
areturn
9: StackMap locals:
StackMap stack:
ldc "UNKNOWN_RACK"
areturn
10: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.psnitch:Lorg/apache/cassandra/locator/PropertyFileSnitch;
aload 1
invokevirtual org.apache.cassandra.locator.PropertyFileSnitch.getRack:(Ljava/net/InetAddress;)Ljava/lang/String;
areturn
11: StackMap locals:
StackMap stack:
aload 2
getstatic org.apache.cassandra.gms.ApplicationState.RACK:Lorg/apache/cassandra/gms/ApplicationState;
invokevirtual org.apache.cassandra.gms.EndpointState.getApplicationState:(Lorg/apache/cassandra/gms/ApplicationState;)Lorg/apache/cassandra/gms/VersionedValue;
getfield org.apache.cassandra.gms.VersionedValue.value:Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/locator/GossipingPropertyFileSnitch;
0 12 1 endpoint Ljava/net/InetAddress;
3 12 2 epState Lorg/apache/cassandra/gms/EndpointState;
MethodParameters:
Name Flags
endpoint
public void gossiperStarting();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.cassandra.locator.AbstractNetworkTopologySnitch.gossiperStarting:()V
1: getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
getstatic org.apache.cassandra.gms.ApplicationState.INTERNAL_IP:Lorg/apache/cassandra/gms/ApplicationState;
2: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
getfield org.apache.cassandra.service.StorageService.valueFactory:Lorg/apache/cassandra/gms/VersionedValue$VersionedValueFactory;
invokestatic org.apache.cassandra.utils.FBUtilities.getLocalAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
invokevirtual org.apache.cassandra.gms.VersionedValue$VersionedValueFactory.internalIP:(Ljava/lang/String;)Lorg/apache/cassandra/gms/VersionedValue;
3: invokevirtual org.apache.cassandra.gms.Gossiper.addLocalApplicationState:(Lorg/apache/cassandra/gms/ApplicationState;Lorg/apache/cassandra/gms/VersionedValue;)V
4: aload 0
invokevirtual org.apache.cassandra.locator.GossipingPropertyFileSnitch.loadGossiperState:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/locator/GossipingPropertyFileSnitch;
private void loadGossiperState();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic org.apache.cassandra.locator.GossipingPropertyFileSnitch.$assertionsDisabled:Z
ifne 1
getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new org.apache.cassandra.locator.ReconnectableSnitchHelper
dup
aload 0
aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.myDC:Ljava/lang/String;
aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.preferLocal:Z
invokespecial org.apache.cassandra.locator.ReconnectableSnitchHelper.<init>:(Lorg/apache/cassandra/locator/IEndpointSnitch;Ljava/lang/String;Z)V
astore 1
start local 1 2: getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
aload 1
invokevirtual org.apache.cassandra.gms.Gossiper.register:(Lorg/apache/cassandra/gms/IEndpointStateChangeSubscriber;)V
3: aload 0
getfield org.apache.cassandra.locator.GossipingPropertyFileSnitch.snitchHelperReference:Ljava/util/concurrent/atomic/AtomicReference;
aload 1
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.locator.ReconnectableSnitchHelper
astore 1
4: aload 1
ifnull 6
5: getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
aload 1
invokevirtual org.apache.cassandra.gms.Gossiper.unregister:(Lorg/apache/cassandra/gms/IEndpointStateChangeSubscriber;)V
6: StackMap locals: org.apache.cassandra.locator.ReconnectableSnitchHelper
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/locator/GossipingPropertyFileSnitch;
2 7 1 pendingHelper Lorg/apache/cassandra/locator/ReconnectableSnitchHelper;
}
SourceFile: "GossipingPropertyFileSnitch.java"
InnerClasses:
public VersionedValueFactory = org.apache.cassandra.gms.VersionedValue$VersionedValueFactory of org.apache.cassandra.gms.VersionedValue