public class org.apache.cassandra.service.StorageProxy implements org.apache.cassandra.service.StorageProxyMBean
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.service.StorageProxy
super_class: java.lang.Object
{
public static final java.lang.String MBEAN_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "org.apache.cassandra.db:type=StorageProxy"
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final java.lang.String UNREACHABLE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "UNREACHABLE"
private static final org.apache.cassandra.service.StorageProxy$WritePerformer standardWritePerformer;
descriptor: Lorg/apache/cassandra/service/StorageProxy$WritePerformer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.cassandra.service.StorageProxy$WritePerformer counterWritePerformer;
descriptor: Lorg/apache/cassandra/service/StorageProxy$WritePerformer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.cassandra.service.StorageProxy$WritePerformer counterWriteOnCoordinatorPerformer;
descriptor: Lorg/apache/cassandra/service/StorageProxy$WritePerformer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final org.apache.cassandra.service.StorageProxy instance;
descriptor: Lorg/apache/cassandra/service/StorageProxy;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static volatile int maxHintsInProgress;
descriptor: I
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static final com.google.common.cache.CacheLoader<java.net.InetAddress, java.util.concurrent.atomic.AtomicInteger> hintsInProgress;
descriptor: Lcom/google/common/cache/CacheLoader;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Lcom/google/common/cache/CacheLoader<Ljava/net/InetAddress;Ljava/util/concurrent/atomic/AtomicInteger;>;
private static final org.apache.cassandra.metrics.ClientRequestMetrics readMetrics;
descriptor: Lorg/apache/cassandra/metrics/ClientRequestMetrics;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.cassandra.metrics.ClientRequestMetrics rangeMetrics;
descriptor: Lorg/apache/cassandra/metrics/ClientRequestMetrics;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.cassandra.metrics.ClientRequestMetrics writeMetrics;
descriptor: Lorg/apache/cassandra/metrics/ClientRequestMetrics;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.cassandra.metrics.CASClientRequestMetrics casWriteMetrics;
descriptor: Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.cassandra.metrics.CASClientRequestMetrics casReadMetrics;
descriptor: Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.cassandra.metrics.ViewWriteMetrics viewWriteMetrics;
descriptor: Lorg/apache/cassandra/metrics/ViewWriteMetrics;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Map<org.apache.cassandra.db.ConsistencyLevel, org.apache.cassandra.metrics.ClientRequestMetrics> readMetricsMap;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/metrics/ClientRequestMetrics;>;
private static final java.util.Map<org.apache.cassandra.db.ConsistencyLevel, org.apache.cassandra.metrics.ClientRequestMetrics> writeMetricsMap;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/metrics/ClientRequestMetrics;>;
private static final double CONCURRENT_SUBREQUESTS_MARGIN;
descriptor: D
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0.1
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$apache$cassandra$db$ConsistencyLevel;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=4, args_size=0
0: ldc Lorg/apache/cassandra/service/StorageProxy;
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.StorageProxy.$assertionsDisabled:Z
3: ldc Lorg/apache/cassandra/service/StorageProxy;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
4: new org.apache.cassandra.service.StorageProxy
dup
invokespecial org.apache.cassandra.service.StorageProxy.<init>:()V
putstatic org.apache.cassandra.service.StorageProxy.instance:Lorg/apache/cassandra/service/StorageProxy;
5: sipush 128
invokestatic org.apache.cassandra.utils.FBUtilities.getAvailableProcessors:()I
imul
putstatic org.apache.cassandra.service.StorageProxy.maxHintsInProgress:I
6: new org.apache.cassandra.service.StorageProxy$1
dup
invokespecial org.apache.cassandra.service.StorageProxy$1.<init>:()V
putstatic org.apache.cassandra.service.StorageProxy.hintsInProgress:Lcom/google/common/cache/CacheLoader;
7: new org.apache.cassandra.metrics.ClientRequestMetrics
dup
ldc "Read"
invokespecial org.apache.cassandra.metrics.ClientRequestMetrics.<init>:(Ljava/lang/String;)V
putstatic org.apache.cassandra.service.StorageProxy.readMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
8: new org.apache.cassandra.metrics.ClientRequestMetrics
dup
ldc "RangeSlice"
invokespecial org.apache.cassandra.metrics.ClientRequestMetrics.<init>:(Ljava/lang/String;)V
putstatic org.apache.cassandra.service.StorageProxy.rangeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
9: new org.apache.cassandra.metrics.ClientRequestMetrics
dup
ldc "Write"
invokespecial org.apache.cassandra.metrics.ClientRequestMetrics.<init>:(Ljava/lang/String;)V
putstatic org.apache.cassandra.service.StorageProxy.writeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
10: new org.apache.cassandra.metrics.CASClientRequestMetrics
dup
ldc "CASWrite"
invokespecial org.apache.cassandra.metrics.CASClientRequestMetrics.<init>:(Ljava/lang/String;)V
putstatic org.apache.cassandra.service.StorageProxy.casWriteMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
11: new org.apache.cassandra.metrics.CASClientRequestMetrics
dup
ldc "CASRead"
invokespecial org.apache.cassandra.metrics.CASClientRequestMetrics.<init>:(Ljava/lang/String;)V
putstatic org.apache.cassandra.service.StorageProxy.casReadMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
12: new org.apache.cassandra.metrics.ViewWriteMetrics
dup
ldc "ViewWrite"
invokespecial org.apache.cassandra.metrics.ViewWriteMetrics.<init>:(Ljava/lang/String;)V
putstatic org.apache.cassandra.service.StorageProxy.viewWriteMetrics:Lorg/apache/cassandra/metrics/ViewWriteMetrics;
13: new java.util.EnumMap
dup
ldc Lorg/apache/cassandra/db/ConsistencyLevel;
invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
putstatic org.apache.cassandra.service.StorageProxy.readMetricsMap:Ljava/util/Map;
14: new java.util.EnumMap
dup
ldc Lorg/apache/cassandra/db/ConsistencyLevel;
invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
putstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
15: getstatic org.apache.cassandra.utils.MBeanWrapper.instance:Lorg/apache/cassandra/utils/MBeanWrapper;
getstatic org.apache.cassandra.service.StorageProxy.instance:Lorg/apache/cassandra/service/StorageProxy;
ldc "org.apache.cassandra.db:type=StorageProxy"
invokeinterface org.apache.cassandra.utils.MBeanWrapper.registerMBean:(Ljava/lang/Object;Ljava/lang/String;)V
16: getstatic org.apache.cassandra.hints.HintsService.instance:Lorg/apache/cassandra/hints/HintsService;
invokevirtual org.apache.cassandra.hints.HintsService.registerMBean:()V
17: getstatic org.apache.cassandra.db.HintedHandOffManager.instance:Lorg/apache/cassandra/db/HintedHandOffManager;
invokevirtual org.apache.cassandra.db.HintedHandOffManager.registerMBean:()V
18: new org.apache.cassandra.service.StorageProxy$2
dup
invokespecial org.apache.cassandra.service.StorageProxy$2.<init>:()V
putstatic org.apache.cassandra.service.StorageProxy.standardWritePerformer:Lorg/apache/cassandra/service/StorageProxy$WritePerformer;
19: new org.apache.cassandra.service.StorageProxy$3
dup
invokespecial org.apache.cassandra.service.StorageProxy$3.<init>:()V
putstatic org.apache.cassandra.service.StorageProxy.counterWritePerformer:Lorg/apache/cassandra/service/StorageProxy$WritePerformer;
20: new org.apache.cassandra.service.StorageProxy$4
dup
invokespecial org.apache.cassandra.service.StorageProxy$4.<init>:()V
putstatic org.apache.cassandra.service.StorageProxy.counterWriteOnCoordinatorPerformer:Lorg/apache/cassandra/service/StorageProxy$WritePerformer;
21: invokestatic org.apache.cassandra.db.ConsistencyLevel.values:()[Lorg/apache/cassandra/db/ConsistencyLevel;
dup
astore 3
arraylength
istore 2
iconst_0
istore 1
goto 26
StackMap locals: top int int org.apache.cassandra.db.ConsistencyLevel[]
StackMap stack:
22: aload 3
iload 1
aaload
astore 0
start local 0 23: getstatic org.apache.cassandra.service.StorageProxy.readMetricsMap:Ljava/util/Map;
aload 0
new org.apache.cassandra.metrics.ClientRequestMetrics
dup
new java.lang.StringBuilder
dup
ldc "Read-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.apache.cassandra.db.ConsistencyLevel.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.cassandra.metrics.ClientRequestMetrics.<init>:(Ljava/lang/String;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
24: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 0
new org.apache.cassandra.metrics.ClientRequestMetrics
dup
new java.lang.StringBuilder
dup
ldc "Write-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.apache.cassandra.db.ConsistencyLevel.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.apache.cassandra.metrics.ClientRequestMetrics.<init>:(Ljava/lang/String;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 0 25: iinc 1 1
StackMap locals:
StackMap stack:
26: iload 1
iload 2
if_icmplt 22
27: return
LocalVariableTable:
Start End Slot Name Signature
23 25 0 level Lorg/apache/cassandra/db/ConsistencyLevel;
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/service/StorageProxy;
public static org.apache.cassandra.db.rows.RowIterator cas(java.lang.String, java.lang.String, org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.service.CASRequest, org.apache.cassandra.db.ConsistencyLevel, org.apache.cassandra.db.ConsistencyLevel, org.apache.cassandra.service.ClientState, long);
descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/service/CASRequest;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/service/ClientState;J)Lorg/apache/cassandra/db/rows/RowIterator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=10, locals=30, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: invokestatic java.lang.System.nanoTime:()J
lstore 9
start local 9 1: iconst_0
istore 11
start local 11 2: aload 4
invokevirtual org.apache.cassandra.db.ConsistencyLevel.validateForCas:()V
3: aload 5
aload 0
invokevirtual org.apache.cassandra.db.ConsistencyLevel.validateForCasCommit:(Ljava/lang/String;)V
4: getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
aload 0
aload 1
invokevirtual org.apache.cassandra.config.Schema.getCFMetaData:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData;
astore 12
start local 12 5: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getCasContentionTimeout:()J
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lstore 13
start local 13 6: goto 51
7: StackMap locals: java.lang.String java.lang.String org.apache.cassandra.db.DecoratedKey org.apache.cassandra.service.CASRequest org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.service.ClientState long long int org.apache.cassandra.config.CFMetaData long
StackMap stack:
aload 12
aload 2
aload 4
invokestatic org.apache.cassandra.service.StorageProxy.getPaxosParticipants:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/ConsistencyLevel;)Lorg/apache/cassandra/utils/Pair;
astore 15
start local 15 8: aload 15
getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
checkcast java.util.List
astore 16
start local 16 9: aload 15
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 17
start local 17 10: lload 7
aload 2
aload 12
aload 16
iload 17
aload 4
aload 5
iconst_1
aload 6
invokestatic org.apache.cassandra.service.StorageProxy.beginAndRepairPaxos:(JLorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/config/CFMetaData;Ljava/util/List;ILorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/ConsistencyLevel;ZLorg/apache/cassandra/service/ClientState;)Lorg/apache/cassandra/utils/Pair;
astore 18
start local 18 11: aload 18
getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
checkcast java.util.UUID
astore 19
start local 19 12: iload 11
aload 18
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iadd
istore 11
13: ldc "Reading existing values for CAS precondition"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
14: aload 3
invokestatic org.apache.cassandra.utils.FBUtilities.nowInSeconds:()I
invokeinterface org.apache.cassandra.service.CASRequest.readCommand:(I)Lorg/apache/cassandra/db/SinglePartitionReadCommand;
astore 20
start local 20 15: aload 4
getstatic org.apache.cassandra.db.ConsistencyLevel.LOCAL_SERIAL:Lorg/apache/cassandra/db/ConsistencyLevel;
if_acmpne 16
getstatic org.apache.cassandra.db.ConsistencyLevel.LOCAL_QUORUM:Lorg/apache/cassandra/db/ConsistencyLevel;
goto 17
StackMap locals: java.lang.String java.lang.String org.apache.cassandra.db.DecoratedKey org.apache.cassandra.service.CASRequest org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.service.ClientState long long int org.apache.cassandra.config.CFMetaData long org.apache.cassandra.utils.Pair java.util.List int org.apache.cassandra.utils.Pair java.util.UUID org.apache.cassandra.db.SinglePartitionReadCommand
StackMap stack:
16: getstatic org.apache.cassandra.db.ConsistencyLevel.QUORUM:Lorg/apache/cassandra/db/ConsistencyLevel;
StackMap locals:
StackMap stack: org.apache.cassandra.db.ConsistencyLevel
17: astore 21
start local 21 18: aconst_null
astore 23
aconst_null
astore 24
19: aload 20
aload 21
lload 7
invokestatic org.apache.cassandra.service.StorageProxy.readOne:(Lorg/apache/cassandra/db/SinglePartitionReadCommand;Lorg/apache/cassandra/db/ConsistencyLevel;J)Lorg/apache/cassandra/db/rows/RowIterator;
astore 25
start local 25 20: aload 25
invokestatic org.apache.cassandra.db.partitions.FilteredPartition.create:(Lorg/apache/cassandra/db/rows/RowIterator;)Lorg/apache/cassandra/db/partitions/FilteredPartition;
astore 22
start local 22 21: aload 25
ifnull 27
aload 25
invokeinterface org.apache.cassandra.db.rows.RowIterator.close:()V
goto 27
end local 22 StackMap locals: java.lang.String java.lang.String org.apache.cassandra.db.DecoratedKey org.apache.cassandra.service.CASRequest org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.service.ClientState long long int org.apache.cassandra.config.CFMetaData long org.apache.cassandra.utils.Pair java.util.List int org.apache.cassandra.utils.Pair java.util.UUID org.apache.cassandra.db.SinglePartitionReadCommand org.apache.cassandra.db.ConsistencyLevel top java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.rows.RowIterator
StackMap stack: java.lang.Throwable
22: astore 23
aload 25
ifnull 23
aload 25
invokeinterface org.apache.cassandra.db.rows.RowIterator.close:()V
end local 25 StackMap locals:
StackMap stack:
23: aload 23
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 24
aload 23
ifnonnull 25
aload 24
astore 23
goto 26
StackMap locals:
StackMap stack:
25: aload 23
aload 24
if_acmpeq 26
aload 23
aload 24
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
26: aload 23
athrow
start local 22 27: StackMap locals: java.lang.String java.lang.String org.apache.cassandra.db.DecoratedKey org.apache.cassandra.service.CASRequest org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.service.ClientState long long int org.apache.cassandra.config.CFMetaData long org.apache.cassandra.utils.Pair java.util.List int org.apache.cassandra.utils.Pair java.util.UUID org.apache.cassandra.db.SinglePartitionReadCommand org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.db.partitions.FilteredPartition
StackMap stack:
aload 3
aload 22
invokeinterface org.apache.cassandra.service.CASRequest.appliesTo:(Lorg/apache/cassandra/db/partitions/FilteredPartition;)Z
ifne 36
28: ldc "CAS precondition does not match current values {}"
aload 22
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;)V
29: getstatic org.apache.cassandra.service.StorageProxy.casWriteMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
getfield org.apache.cassandra.metrics.CASClientRequestMetrics.conditionNotMet:Lcom/codahale/metrics/Counter;
invokevirtual com.codahale.metrics.Counter.inc:()V
30: aload 22
invokevirtual org.apache.cassandra.db.partitions.FilteredPartition.rowIterator:()Lorg/apache/cassandra/db/rows/RowIterator;
astore 27
31: iload 11
invokestatic org.apache.cassandra.service.StorageProxy.recordCasContention:(I)V
32: invokestatic java.lang.System.nanoTime:()J
lload 9
lsub
lstore 28
start local 28 33: getstatic org.apache.cassandra.service.StorageProxy.casWriteMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
lload 28
invokevirtual org.apache.cassandra.metrics.CASClientRequestMetrics.addNano:(J)V
34: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
lload 28
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
end local 28 35: aload 27
areturn
36: StackMap locals:
StackMap stack:
aload 3
aload 22
invokeinterface org.apache.cassandra.service.CASRequest.makeUpdates:(Lorg/apache/cassandra/db/partitions/FilteredPartition;)Lorg/apache/cassandra/db/partitions/PartitionUpdate;
astore 23
start local 23 37: getstatic org.apache.cassandra.triggers.TriggerExecutor.instance:Lorg/apache/cassandra/triggers/TriggerExecutor;
aload 23
invokevirtual org.apache.cassandra.triggers.TriggerExecutor.execute:(Lorg/apache/cassandra/db/partitions/PartitionUpdate;)Lorg/apache/cassandra/db/partitions/PartitionUpdate;
astore 23
38: aload 19
aload 23
invokestatic org.apache.cassandra.service.paxos.Commit.newProposal:(Ljava/util/UUID;Lorg/apache/cassandra/db/partitions/PartitionUpdate;)Lorg/apache/cassandra/service/paxos/Commit;
astore 24
start local 24 39: ldc "CAS precondition is met; proposing client-requested updates for {}"
aload 19
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;)V
40: aload 24
aload 16
iload 17
iconst_1
aload 4
lload 7
invokestatic org.apache.cassandra.service.StorageProxy.proposePaxos:(Lorg/apache/cassandra/service/paxos/Commit;Ljava/util/List;IZLorg/apache/cassandra/db/ConsistencyLevel;J)Z
ifeq 48
41: aload 24
aload 5
iconst_1
lload 7
invokestatic org.apache.cassandra.service.StorageProxy.commitPaxos:(Lorg/apache/cassandra/service/paxos/Commit;Lorg/apache/cassandra/db/ConsistencyLevel;ZJ)V
42: ldc "CAS successful"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
43: iload 11
invokestatic org.apache.cassandra.service.StorageProxy.recordCasContention:(I)V
44: invokestatic java.lang.System.nanoTime:()J
lload 9
lsub
lstore 28
start local 28 45: getstatic org.apache.cassandra.service.StorageProxy.casWriteMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
lload 28
invokevirtual org.apache.cassandra.metrics.CASClientRequestMetrics.addNano:(J)V
46: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
lload 28
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
end local 28 47: aconst_null
areturn
48: StackMap locals: org.apache.cassandra.db.partitions.PartitionUpdate org.apache.cassandra.service.paxos.Commit
StackMap stack:
ldc "Paxos proposal not accepted (pre-empted by a higher ballot)"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
49: iinc 11 1
50: invokestatic java.util.concurrent.ThreadLocalRandom.current:()Ljava/util/concurrent/ThreadLocalRandom;
bipush 100
invokevirtual java.util.concurrent.ThreadLocalRandom.nextInt:(I)I
i2l
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly:(JLjava/util/concurrent/TimeUnit;)V
end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 51: StackMap locals: java.lang.String java.lang.String org.apache.cassandra.db.DecoratedKey org.apache.cassandra.service.CASRequest org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.service.ClientState long long int org.apache.cassandra.config.CFMetaData long
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lload 7
lsub
lload 13
lcmp
iflt 7
52: new org.apache.cassandra.exceptions.WriteTimeoutException
dup
getstatic org.apache.cassandra.db.WriteType.CAS:Lorg/apache/cassandra/db/WriteType;
aload 4
iconst_0
aload 4
aload 0
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.blockFor:(Lorg/apache/cassandra/db/Keyspace;)I
invokespecial org.apache.cassandra.exceptions.WriteTimeoutException.<init>:(Lorg/apache/cassandra/db/WriteType;Lorg/apache/cassandra/db/ConsistencyLevel;II)V
athrow
end local 13 end local 12 53: StackMap locals: java.lang.String java.lang.String org.apache.cassandra.db.DecoratedKey org.apache.cassandra.service.CASRequest org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.service.ClientState long long int
StackMap stack: org.apache.cassandra.exceptions.RequestTimeoutException
astore 12
start local 12 54: getstatic org.apache.cassandra.service.StorageProxy.casWriteMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
getfield org.apache.cassandra.metrics.CASClientRequestMetrics.timeouts:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
55: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.timeouts:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
56: aload 12
athrow
end local 12 57: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.RequestFailureException
astore 12
start local 12 58: getstatic org.apache.cassandra.service.StorageProxy.casWriteMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
getfield org.apache.cassandra.metrics.CASClientRequestMetrics.failures:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
59: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.failures:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
60: aload 12
athrow
end local 12 61: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.UnavailableException
astore 12
start local 12 62: getstatic org.apache.cassandra.service.StorageProxy.casWriteMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
getfield org.apache.cassandra.metrics.CASClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
63: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
64: aload 12
athrow
end local 12 65: StackMap locals:
StackMap stack: java.lang.Throwable
astore 26
66: iload 11
invokestatic org.apache.cassandra.service.StorageProxy.recordCasContention:(I)V
67: invokestatic java.lang.System.nanoTime:()J
lload 9
lsub
lstore 28
start local 28 68: getstatic org.apache.cassandra.service.StorageProxy.casWriteMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
lload 28
invokevirtual org.apache.cassandra.metrics.CASClientRequestMetrics.addNano:(J)V
69: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
lload 28
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
end local 28 70: aload 26
athrow
end local 11 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 71 0 keyspaceName Ljava/lang/String;
0 71 1 cfName Ljava/lang/String;
0 71 2 key Lorg/apache/cassandra/db/DecoratedKey;
0 71 3 request Lorg/apache/cassandra/service/CASRequest;
0 71 4 consistencyForPaxos Lorg/apache/cassandra/db/ConsistencyLevel;
0 71 5 consistencyForCommit Lorg/apache/cassandra/db/ConsistencyLevel;
0 71 6 state Lorg/apache/cassandra/service/ClientState;
0 71 7 queryStartNanoTime J
1 71 9 startTimeForMetrics J
2 71 11 contentions I
5 53 12 metadata Lorg/apache/cassandra/config/CFMetaData;
6 53 13 timeout J
8 51 15 p Lorg/apache/cassandra/utils/Pair<Ljava/util/List<Ljava/net/InetAddress;>;Ljava/lang/Integer;>;
9 51 16 liveEndpoints Ljava/util/List<Ljava/net/InetAddress;>;
10 51 17 requiredParticipants I
11 51 18 pair Lorg/apache/cassandra/utils/Pair<Ljava/util/UUID;Ljava/lang/Integer;>;
12 51 19 ballot Ljava/util/UUID;
15 51 20 readCommand Lorg/apache/cassandra/db/SinglePartitionReadCommand;
18 51 21 readConsistency Lorg/apache/cassandra/db/ConsistencyLevel;
21 22 22 current Lorg/apache/cassandra/db/partitions/FilteredPartition;
27 51 22 current Lorg/apache/cassandra/db/partitions/FilteredPartition;
20 23 25 rowIter Lorg/apache/cassandra/db/rows/RowIterator;
37 51 23 updates Lorg/apache/cassandra/db/partitions/PartitionUpdate;
39 51 24 proposal Lorg/apache/cassandra/service/paxos/Commit;
54 57 12 e Lorg/apache/cassandra/exceptions/RequestTimeoutException;
58 61 12 e Lorg/apache/cassandra/exceptions/RequestFailureException;
62 65 12 e Lorg/apache/cassandra/exceptions/UnavailableException;
33 35 28 latency J
45 47 28 latency J
68 70 28 latency J
Exception table:
from to target type
20 21 22 any
19 24 24 any
2 31 53 Class org.apache.cassandra.exceptions.WriteTimeoutException
36 43 53 Class org.apache.cassandra.exceptions.WriteTimeoutException
48 53 53 Class org.apache.cassandra.exceptions.WriteTimeoutException
2 31 53 Class org.apache.cassandra.exceptions.ReadTimeoutException
36 43 53 Class org.apache.cassandra.exceptions.ReadTimeoutException
48 53 53 Class org.apache.cassandra.exceptions.ReadTimeoutException
2 31 57 Class org.apache.cassandra.exceptions.WriteFailureException
36 43 57 Class org.apache.cassandra.exceptions.WriteFailureException
48 53 57 Class org.apache.cassandra.exceptions.WriteFailureException
2 31 57 Class org.apache.cassandra.exceptions.ReadFailureException
36 43 57 Class org.apache.cassandra.exceptions.ReadFailureException
48 53 57 Class org.apache.cassandra.exceptions.ReadFailureException
2 31 61 Class org.apache.cassandra.exceptions.UnavailableException
36 43 61 Class org.apache.cassandra.exceptions.UnavailableException
48 53 61 Class org.apache.cassandra.exceptions.UnavailableException
2 31 65 any
36 43 65 any
48 65 65 any
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.IsBootstrappingException, org.apache.cassandra.exceptions.RequestFailureException, org.apache.cassandra.exceptions.RequestTimeoutException, org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
keyspaceName
cfName
key
request
consistencyForPaxos
consistencyForCommit
state
queryStartNanoTime
private static void recordCasContention(int);
descriptor: (I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ifle 2
1: getstatic org.apache.cassandra.service.StorageProxy.casWriteMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
getfield org.apache.cassandra.metrics.CASClientRequestMetrics.contention:Lcom/codahale/metrics/Histogram;
iload 0
invokevirtual com.codahale.metrics.Histogram.update:(I)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 contentions I
MethodParameters:
Name Flags
contentions
private static com.google.common.base.Predicate<java.net.InetAddress> sameDCPredicateFor(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/google/common/base/Predicate;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getEndpointSnitch:()Lorg/apache/cassandra/locator/IEndpointSnitch;
astore 1
start local 1 1: new org.apache.cassandra.service.StorageProxy$5
dup
aload 0
aload 1
invokespecial org.apache.cassandra.service.StorageProxy$5.<init>:(Ljava/lang/String;Lorg/apache/cassandra/locator/IEndpointSnitch;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 dc Ljava/lang/String;
1 2 1 snitch Lorg/apache/cassandra/locator/IEndpointSnitch;
Signature: (Ljava/lang/String;)Lcom/google/common/base/Predicate<Ljava/net/InetAddress;>;
MethodParameters:
Name Flags
dc final
private static org.apache.cassandra.utils.Pair<java.util.List<java.net.InetAddress>, java.lang.Integer> getPaxosParticipants(org.apache.cassandra.config.CFMetaData, org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.ConsistencyLevel);
descriptor: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/ConsistencyLevel;)Lorg/apache/cassandra/utils/Pair;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
astore 3
start local 3 1: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
aload 0
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
aload 3
invokevirtual org.apache.cassandra.service.StorageService.getNaturalEndpoints:(Ljava/lang/String;Lorg/apache/cassandra/dht/RingPosition;)Ljava/util/List;
astore 4
start local 4 2: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.getTokenMetadata:()Lorg/apache/cassandra/locator/TokenMetadata;
aload 3
aload 0
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokevirtual org.apache.cassandra.locator.TokenMetadata.pendingEndpointsFor:(Lorg/apache/cassandra/dht/Token;Ljava/lang/String;)Ljava/util/Collection;
astore 5
start local 5 3: aload 2
getstatic org.apache.cassandra.db.ConsistencyLevel.LOCAL_SERIAL:Lorg/apache/cassandra/db/ConsistencyLevel;
if_acmpne 8
4: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getEndpointSnitch:()Lorg/apache/cassandra/locator/IEndpointSnitch;
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
invokeinterface org.apache.cassandra.locator.IEndpointSnitch.getDatacenter:(Ljava/net/InetAddress;)Ljava/lang/String;
astore 6
start local 6 5: aload 6
invokestatic org.apache.cassandra.service.StorageProxy.sameDCPredicateFor:(Ljava/lang/String;)Lcom/google/common/base/Predicate;
astore 7
start local 7 6: aload 4
aload 7
invokestatic com.google.common.collect.Iterables.filter:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Ljava/lang/Iterable;
invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList;
astore 4
7: aload 5
aload 7
invokestatic com.google.common.collect.Iterables.filter:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Ljava/lang/Iterable;
invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList;
astore 5
end local 7 end local 6 8: StackMap locals: org.apache.cassandra.dht.Token java.util.List java.util.Collection
StackMap stack:
aload 5
invokeinterface java.util.Collection.size:()I
aload 4
invokeinterface java.util.List.size:()I
iadd
istore 6
start local 6 9: iload 6
iconst_2
idiv
iconst_1
iadd
istore 7
start local 7 10: aload 4
aload 5
invokestatic com.google.common.collect.Iterables.concat:(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;
getstatic org.apache.cassandra.net.IAsyncCallback.isAlive:Lcom/google/common/base/Predicate;
invokestatic com.google.common.collect.Iterables.filter:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Ljava/lang/Iterable;
invokestatic com.google.common.collect.ImmutableList.copyOf:(Ljava/lang/Iterable;)Lcom/google/common/collect/ImmutableList;
astore 8
start local 8 11: aload 8
invokeinterface java.util.List.size:()I
iload 7
if_icmpge 13
12: new org.apache.cassandra.exceptions.UnavailableException
dup
aload 2
iload 7
aload 8
invokeinterface java.util.List.size:()I
invokespecial org.apache.cassandra.exceptions.UnavailableException.<init>:(Lorg/apache/cassandra/db/ConsistencyLevel;II)V
athrow
13: StackMap locals: int int java.util.List
StackMap stack:
aload 5
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmple 19
14: new org.apache.cassandra.exceptions.UnavailableException
dup
ldc "Cannot perform LWT operation as there is more than one (%d) pending range movement"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 5
invokeinterface java.util.Collection.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
15: aload 2
16: iload 6
iconst_1
iadd
17: aload 8
invokeinterface java.util.List.size:()I
18: invokespecial org.apache.cassandra.exceptions.UnavailableException.<init>:(Ljava/lang/String;Lorg/apache/cassandra/db/ConsistencyLevel;II)V
athrow
19: StackMap locals:
StackMap stack:
aload 8
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
areturn
end local 8 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 20 0 cfm Lorg/apache/cassandra/config/CFMetaData;
0 20 1 key Lorg/apache/cassandra/db/DecoratedKey;
0 20 2 consistencyForPaxos Lorg/apache/cassandra/db/ConsistencyLevel;
1 20 3 tk Lorg/apache/cassandra/dht/Token;
2 20 4 naturalEndpoints Ljava/util/List<Ljava/net/InetAddress;>;
3 20 5 pendingEndpoints Ljava/util/Collection<Ljava/net/InetAddress;>;
5 8 6 localDc Ljava/lang/String;
6 8 7 isLocalDc Lcom/google/common/base/Predicate<Ljava/net/InetAddress;>;
9 20 6 participants I
10 20 7 requiredParticipants I
11 20 8 liveEndpoints Ljava/util/List<Ljava/net/InetAddress;>;
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException
Signature: (Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/ConsistencyLevel;)Lorg/apache/cassandra/utils/Pair<Ljava/util/List<Ljava/net/InetAddress;>;Ljava/lang/Integer;>;
MethodParameters:
Name Flags
cfm
key
consistencyForPaxos
private static org.apache.cassandra.utils.Pair<java.util.UUID, java.lang.Integer> beginAndRepairPaxos(long, org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.config.CFMetaData, java.util.List<java.net.InetAddress>, int, org.apache.cassandra.db.ConsistencyLevel, org.apache.cassandra.db.ConsistencyLevel, boolean, org.apache.cassandra.service.ClientState);
descriptor: (JLorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/config/CFMetaData;Ljava/util/List;ILorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/ConsistencyLevel;ZLorg/apache/cassandra/service/ClientState;)Lorg/apache/cassandra/utils/Pair;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=24, args_size=9
start local 0 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getCasContentionTimeout:()J
invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
lstore 10
start local 10 1: aconst_null
astore 12
start local 12 2: iconst_0
istore 13
start local 13 3: goto 42
4: StackMap locals: long org.apache.cassandra.service.paxos.PrepareCallback int
StackMap stack:
aload 12
ifnonnull 5
ldc -9223372036854775808
goto 6
StackMap locals:
StackMap stack:
5: lconst_1
aload 12
getfield org.apache.cassandra.service.paxos.PrepareCallback.mostRecentInProgressCommit:Lorg/apache/cassandra/service/paxos/Commit;
getfield org.apache.cassandra.service.paxos.Commit.ballot:Ljava/util/UUID;
invokestatic org.apache.cassandra.utils.UUIDGen.microsTimestamp:(Ljava/util/UUID;)J
ladd
StackMap locals:
StackMap stack: long
6: lstore 14
start local 14 7: aload 9
lload 14
invokevirtual org.apache.cassandra.service.ClientState.getTimestampForPaxos:(J)J
lstore 16
start local 16 8: lload 16
invokestatic org.apache.cassandra.utils.UUIDGen.getRandomTimeUUIDFromMicros:(J)Ljava/util/UUID;
astore 18
start local 18 9: ldc "Preparing {}"
aload 18
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;)V
10: aload 2
aload 3
aload 18
invokestatic org.apache.cassandra.service.paxos.Commit.newPrepare:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/config/CFMetaData;Ljava/util/UUID;)Lorg/apache/cassandra/service/paxos/Commit;
astore 19
start local 19 11: aload 19
aload 4
iload 5
aload 6
lload 0
invokestatic org.apache.cassandra.service.StorageProxy.preparePaxos:(Lorg/apache/cassandra/service/paxos/Commit;Ljava/util/List;ILorg/apache/cassandra/db/ConsistencyLevel;J)Lorg/apache/cassandra/service/paxos/PrepareCallback;
astore 12
12: aload 12
getfield org.apache.cassandra.service.paxos.PrepareCallback.promised:Z
ifne 17
13: ldc "Some replicas have already promised a higher ballot than ours; aborting"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
14: iinc 13 1
15: invokestatic java.util.concurrent.ThreadLocalRandom.current:()Ljava/util/concurrent/ThreadLocalRandom;
bipush 100
invokevirtual java.util.concurrent.ThreadLocalRandom.nextInt:(I)I
i2l
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly:(JLjava/util/concurrent/TimeUnit;)V
16: goto 42
17: StackMap locals: long org.apache.cassandra.db.DecoratedKey org.apache.cassandra.config.CFMetaData java.util.List int org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.db.ConsistencyLevel int org.apache.cassandra.service.ClientState long org.apache.cassandra.service.paxos.PrepareCallback int long long java.util.UUID org.apache.cassandra.service.paxos.Commit
StackMap stack:
aload 12
getfield org.apache.cassandra.service.paxos.PrepareCallback.mostRecentInProgressCommitWithUpdate:Lorg/apache/cassandra/service/paxos/Commit;
astore 20
start local 20 18: aload 12
getfield org.apache.cassandra.service.paxos.PrepareCallback.mostRecentCommit:Lorg/apache/cassandra/service/paxos/Commit;
astore 21
start local 21 19: aload 20
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.isEmpty:()Z
ifne 35
aload 20
aload 21
invokevirtual org.apache.cassandra.service.paxos.Commit.isAfter:(Lorg/apache/cassandra/service/paxos/Commit;)Z
ifeq 35
20: ldc "Finishing incomplete paxos round {}"
aload 20
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;)V
21: iload 8
ifeq 23
22: getstatic org.apache.cassandra.service.StorageProxy.casWriteMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
getfield org.apache.cassandra.metrics.CASClientRequestMetrics.unfinishedCommit:Lcom/codahale/metrics/Counter;
invokevirtual com.codahale.metrics.Counter.inc:()V
goto 24
23: StackMap locals: org.apache.cassandra.service.paxos.Commit org.apache.cassandra.service.paxos.Commit
StackMap stack:
getstatic org.apache.cassandra.service.StorageProxy.casReadMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
getfield org.apache.cassandra.metrics.CASClientRequestMetrics.unfinishedCommit:Lcom/codahale/metrics/Counter;
invokevirtual com.codahale.metrics.Counter.inc:()V
24: StackMap locals:
StackMap stack:
aload 18
aload 20
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokestatic org.apache.cassandra.service.paxos.Commit.newProposal:(Ljava/util/UUID;Lorg/apache/cassandra/db/partitions/PartitionUpdate;)Lorg/apache/cassandra/service/paxos/Commit;
astore 22
start local 22 25: aload 22
aload 4
iload 5
iconst_0
aload 6
lload 0
invokestatic org.apache.cassandra.service.StorageProxy.proposePaxos:(Lorg/apache/cassandra/service/paxos/Commit;Ljava/util/List;IZLorg/apache/cassandra/db/ConsistencyLevel;J)Z
ifeq 31
26: aload 22
aload 7
iconst_0
lload 0
invokestatic org.apache.cassandra.service.StorageProxy.commitPaxos:(Lorg/apache/cassandra/service/paxos/Commit;Lorg/apache/cassandra/db/ConsistencyLevel;ZJ)V
27: goto 42
28: StackMap locals: long org.apache.cassandra.db.DecoratedKey org.apache.cassandra.config.CFMetaData java.util.List int org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.db.ConsistencyLevel int org.apache.cassandra.service.ClientState long org.apache.cassandra.service.paxos.PrepareCallback int long long java.util.UUID org.apache.cassandra.service.paxos.Commit org.apache.cassandra.service.paxos.Commit org.apache.cassandra.service.paxos.Commit org.apache.cassandra.service.paxos.Commit
StackMap stack: org.apache.cassandra.exceptions.WriteTimeoutException
astore 23
start local 23 29: iload 13
invokestatic org.apache.cassandra.service.StorageProxy.recordCasContention:(I)V
30: new org.apache.cassandra.exceptions.WriteTimeoutException
dup
getstatic org.apache.cassandra.db.WriteType.CAS:Lorg/apache/cassandra/db/WriteType;
aload 23
getfield org.apache.cassandra.exceptions.WriteTimeoutException.consistency:Lorg/apache/cassandra/db/ConsistencyLevel;
aload 23
getfield org.apache.cassandra.exceptions.WriteTimeoutException.received:I
aload 23
getfield org.apache.cassandra.exceptions.WriteTimeoutException.blockFor:I
invokespecial org.apache.cassandra.exceptions.WriteTimeoutException.<init>:(Lorg/apache/cassandra/db/WriteType;Lorg/apache/cassandra/db/ConsistencyLevel;II)V
athrow
end local 23 31: StackMap locals:
StackMap stack:
ldc "Some replicas have already promised a higher ballot than ours; aborting"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
32: iinc 13 1
33: invokestatic java.util.concurrent.ThreadLocalRandom.current:()Ljava/util/concurrent/ThreadLocalRandom;
bipush 100
invokevirtual java.util.concurrent.ThreadLocalRandom.nextInt:(I)I
i2l
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly:(JLjava/util/concurrent/TimeUnit;)V
34: goto 42
end local 22 35: StackMap locals:
StackMap stack:
getstatic java.util.concurrent.TimeUnit.MICROSECONDS:Ljava/util/concurrent/TimeUnit;
lload 16
invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
invokestatic com.google.common.primitives.Ints.checkedCast:(J)I
istore 22
start local 22 36: aload 12
aload 3
iload 22
invokevirtual org.apache.cassandra.service.paxos.PrepareCallback.replicasMissingMostRecentCommit:(Lorg/apache/cassandra/config/CFMetaData;I)Ljava/lang/Iterable;
astore 23
start local 23 37: aload 23
invokestatic com.google.common.collect.Iterables.size:(Ljava/lang/Iterable;)I
ifle 41
38: ldc "Repairing replicas that missed the most recent commit"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
39: aload 21
aload 23
invokestatic org.apache.cassandra.service.StorageProxy.sendCommit:(Lorg/apache/cassandra/service/paxos/Commit;Ljava/lang/Iterable;)V
40: goto 42
41: StackMap locals: int java.lang.Iterable
StackMap stack:
aload 18
iload 13
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
areturn
end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 16 end local 14 42: StackMap locals: long org.apache.cassandra.db.DecoratedKey org.apache.cassandra.config.CFMetaData java.util.List int org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.db.ConsistencyLevel int org.apache.cassandra.service.ClientState long org.apache.cassandra.service.paxos.PrepareCallback int
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lload 0
lsub
lload 10
lcmp
iflt 4
43: iload 13
invokestatic org.apache.cassandra.service.StorageProxy.recordCasContention:(I)V
44: new org.apache.cassandra.exceptions.WriteTimeoutException
dup
getstatic org.apache.cassandra.db.WriteType.CAS:Lorg/apache/cassandra/db/WriteType;
aload 6
iconst_0
aload 6
aload 3
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.blockFor:(Lorg/apache/cassandra/db/Keyspace;)I
invokespecial org.apache.cassandra.exceptions.WriteTimeoutException.<init>:(Lorg/apache/cassandra/db/WriteType;Lorg/apache/cassandra/db/ConsistencyLevel;II)V
athrow
end local 13 end local 12 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 queryStartNanoTime J
0 45 2 key Lorg/apache/cassandra/db/DecoratedKey;
0 45 3 metadata Lorg/apache/cassandra/config/CFMetaData;
0 45 4 liveEndpoints Ljava/util/List<Ljava/net/InetAddress;>;
0 45 5 requiredParticipants I
0 45 6 consistencyForPaxos Lorg/apache/cassandra/db/ConsistencyLevel;
0 45 7 consistencyForCommit Lorg/apache/cassandra/db/ConsistencyLevel;
0 45 8 isWrite Z
0 45 9 state Lorg/apache/cassandra/service/ClientState;
1 45 10 timeout J
2 45 12 summary Lorg/apache/cassandra/service/paxos/PrepareCallback;
3 45 13 contentions I
7 42 14 minTimestampMicrosToUse J
8 42 16 ballotMicros J
9 42 18 ballot Ljava/util/UUID;
11 42 19 toPrepare Lorg/apache/cassandra/service/paxos/Commit;
18 42 20 inProgress Lorg/apache/cassandra/service/paxos/Commit;
19 42 21 mostRecent Lorg/apache/cassandra/service/paxos/Commit;
25 35 22 refreshedInProgress Lorg/apache/cassandra/service/paxos/Commit;
29 31 23 e Lorg/apache/cassandra/exceptions/WriteTimeoutException;
36 42 22 nowInSec I
37 42 23 missingMRC Ljava/lang/Iterable<Ljava/net/InetAddress;>;
Exception table:
from to target type
26 27 28 Class org.apache.cassandra.exceptions.WriteTimeoutException
Exceptions:
throws org.apache.cassandra.exceptions.WriteTimeoutException, org.apache.cassandra.exceptions.WriteFailureException
Signature: (JLorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/config/CFMetaData;Ljava/util/List<Ljava/net/InetAddress;>;ILorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/ConsistencyLevel;ZLorg/apache/cassandra/service/ClientState;)Lorg/apache/cassandra/utils/Pair<Ljava/util/UUID;Ljava/lang/Integer;>;
MethodParameters:
Name Flags
queryStartNanoTime
key
metadata
liveEndpoints
requiredParticipants
consistencyForPaxos
consistencyForCommit
isWrite final
state
private static void sendCommit(org.apache.cassandra.service.paxos.Commit, java.lang.Iterable<java.net.InetAddress>);
descriptor: (Lorg/apache/cassandra/service/paxos/Commit;Ljava/lang/Iterable;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: new org.apache.cassandra.net.MessageOut
dup
getstatic org.apache.cassandra.net.MessagingService$Verb.PAXOS_COMMIT:Lorg/apache/cassandra/net/MessagingService$Verb;
aload 0
getstatic org.apache.cassandra.service.paxos.Commit.serializer:Lorg/apache/cassandra/service/paxos/Commit$CommitSerializer;
invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;)V
astore 2
start local 2 1: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: org.apache.cassandra.service.paxos.Commit java.lang.Iterable org.apache.cassandra.net.MessageOut top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 3
start local 3 3: invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 2
aload 3
invokevirtual org.apache.cassandra.net.MessagingService.sendOneWay:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;)V
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 commit Lorg/apache/cassandra/service/paxos/Commit;
0 6 1 replicas Ljava/lang/Iterable<Ljava/net/InetAddress;>;
1 6 2 message Lorg/apache/cassandra/net/MessageOut<Lorg/apache/cassandra/service/paxos/Commit;>;
3 4 3 target Ljava/net/InetAddress;
Signature: (Lorg/apache/cassandra/service/paxos/Commit;Ljava/lang/Iterable<Ljava/net/InetAddress;>;)V
MethodParameters:
Name Flags
commit
replicas
private static org.apache.cassandra.service.paxos.PrepareCallback preparePaxos(org.apache.cassandra.service.paxos.Commit, java.util.List<java.net.InetAddress>, int, org.apache.cassandra.db.ConsistencyLevel, long);
descriptor: (Lorg/apache/cassandra/service/paxos/Commit;Ljava/util/List;ILorg/apache/cassandra/db/ConsistencyLevel;J)Lorg/apache/cassandra/service/paxos/PrepareCallback;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new org.apache.cassandra.service.paxos.PrepareCallback
dup
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
iload 2
aload 3
lload 4
invokespecial org.apache.cassandra.service.paxos.PrepareCallback.<init>:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/config/CFMetaData;ILorg/apache/cassandra/db/ConsistencyLevel;J)V
astore 6
start local 6 1: new org.apache.cassandra.net.MessageOut
dup
getstatic org.apache.cassandra.net.MessagingService$Verb.PAXOS_PREPARE:Lorg/apache/cassandra/net/MessagingService$Verb;
aload 0
getstatic org.apache.cassandra.service.paxos.Commit.serializer:Lorg/apache/cassandra/service/paxos/Commit$CommitSerializer;
invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;)V
astore 7
start local 7 2: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 5
StackMap locals: org.apache.cassandra.service.paxos.Commit java.util.List int org.apache.cassandra.db.ConsistencyLevel long org.apache.cassandra.service.paxos.PrepareCallback org.apache.cassandra.net.MessageOut top java.util.Iterator
StackMap stack:
3: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 8
start local 8 4: invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 7
aload 8
aload 6
invokevirtual org.apache.cassandra.net.MessagingService.sendRR:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;Lorg/apache/cassandra/net/IAsyncCallback;)I
pop
end local 8 5: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 6
invokevirtual org.apache.cassandra.service.paxos.PrepareCallback.await:()V
7: aload 6
areturn
end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 toPrepare Lorg/apache/cassandra/service/paxos/Commit;
0 8 1 endpoints Ljava/util/List<Ljava/net/InetAddress;>;
0 8 2 requiredParticipants I
0 8 3 consistencyForPaxos Lorg/apache/cassandra/db/ConsistencyLevel;
0 8 4 queryStartNanoTime J
1 8 6 callback Lorg/apache/cassandra/service/paxos/PrepareCallback;
2 8 7 message Lorg/apache/cassandra/net/MessageOut<Lorg/apache/cassandra/service/paxos/Commit;>;
4 5 8 target Ljava/net/InetAddress;
Exceptions:
throws org.apache.cassandra.exceptions.WriteTimeoutException
Signature: (Lorg/apache/cassandra/service/paxos/Commit;Ljava/util/List<Ljava/net/InetAddress;>;ILorg/apache/cassandra/db/ConsistencyLevel;J)Lorg/apache/cassandra/service/paxos/PrepareCallback;
MethodParameters:
Name Flags
toPrepare
endpoints
requiredParticipants
consistencyForPaxos
queryStartNanoTime
private static boolean proposePaxos(org.apache.cassandra.service.paxos.Commit, java.util.List<java.net.InetAddress>, int, boolean, org.apache.cassandra.db.ConsistencyLevel, );
descriptor: (Lorg/apache/cassandra/service/paxos/Commit;Ljava/util/List;IZLorg/apache/cassandra/db/ConsistencyLevel;J)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new org.apache.cassandra.service.paxos.ProposeCallback
dup
aload 1
invokeinterface java.util.List.size:()I
iload 2
iload 3
ifeq 1
iconst_0
goto 2
StackMap locals: org.apache.cassandra.service.paxos.Commit java.util.List int int org.apache.cassandra.db.ConsistencyLevel long
StackMap stack: new 0 new 0 int int
1: iconst_1
StackMap locals: org.apache.cassandra.service.paxos.Commit java.util.List int int org.apache.cassandra.db.ConsistencyLevel long
StackMap stack: new 0 new 0 int int int
2: aload 4
lload 5
invokespecial org.apache.cassandra.service.paxos.ProposeCallback.<init>:(IIZLorg/apache/cassandra/db/ConsistencyLevel;J)V
astore 7
start local 7 3: new org.apache.cassandra.net.MessageOut
dup
getstatic org.apache.cassandra.net.MessagingService$Verb.PAXOS_PROPOSE:Lorg/apache/cassandra/net/MessagingService$Verb;
aload 0
getstatic org.apache.cassandra.service.paxos.Commit.serializer:Lorg/apache/cassandra/service/paxos/Commit$CommitSerializer;
invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;)V
astore 8
start local 8 4: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 7
StackMap locals: org.apache.cassandra.service.paxos.Commit java.util.List int int org.apache.cassandra.db.ConsistencyLevel long org.apache.cassandra.service.paxos.ProposeCallback org.apache.cassandra.net.MessageOut top java.util.Iterator
StackMap stack:
5: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 9
start local 9 6: invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 8
aload 9
aload 7
invokevirtual org.apache.cassandra.net.MessagingService.sendRR:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;Lorg/apache/cassandra/net/IAsyncCallback;)I
pop
end local 9 7: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: aload 7
invokevirtual org.apache.cassandra.service.paxos.ProposeCallback.await:()V
9: aload 7
invokevirtual org.apache.cassandra.service.paxos.ProposeCallback.isSuccessful:()Z
ifeq 11
10: iconst_1
ireturn
11: StackMap locals: org.apache.cassandra.service.paxos.Commit java.util.List int int org.apache.cassandra.db.ConsistencyLevel long org.apache.cassandra.service.paxos.ProposeCallback org.apache.cassandra.net.MessageOut
StackMap stack:
iload 3
ifeq 13
aload 7
invokevirtual org.apache.cassandra.service.paxos.ProposeCallback.isFullyRefused:()Z
ifne 13
12: new org.apache.cassandra.exceptions.WriteTimeoutException
dup
getstatic org.apache.cassandra.db.WriteType.CAS:Lorg/apache/cassandra/db/WriteType;
aload 4
aload 7
invokevirtual org.apache.cassandra.service.paxos.ProposeCallback.getAcceptCount:()I
iload 2
invokespecial org.apache.cassandra.exceptions.WriteTimeoutException.<init>:(Lorg/apache/cassandra/db/WriteType;Lorg/apache/cassandra/db/ConsistencyLevel;II)V
athrow
13: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 8 end local 7 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 14 0 proposal Lorg/apache/cassandra/service/paxos/Commit;
0 14 1 endpoints Ljava/util/List<Ljava/net/InetAddress;>;
0 14 2 requiredParticipants I
0 14 3 timeoutIfPartial Z
0 14 4 consistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
0 14 5 queryStartNanoTime J
3 14 7 callback Lorg/apache/cassandra/service/paxos/ProposeCallback;
4 14 8 message Lorg/apache/cassandra/net/MessageOut<Lorg/apache/cassandra/service/paxos/Commit;>;
6 7 9 target Ljava/net/InetAddress;
Exceptions:
throws org.apache.cassandra.exceptions.WriteTimeoutException
Signature: (Lorg/apache/cassandra/service/paxos/Commit;Ljava/util/List<Ljava/net/InetAddress;>;IZLorg/apache/cassandra/db/ConsistencyLevel;J)Z
MethodParameters:
Name Flags
proposal
endpoints
requiredParticipants
timeoutIfPartial
consistencyLevel
queryStartNanoTime
private static void commitPaxos(org.apache.cassandra.service.paxos.Commit, org.apache.cassandra.db.ConsistencyLevel, boolean, long);
descriptor: (Lorg/apache/cassandra/service/paxos/Commit;Lorg/apache/cassandra/db/ConsistencyLevel;ZJ)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getstatic org.apache.cassandra.db.ConsistencyLevel.ANY:Lorg/apache/cassandra/db/ConsistencyLevel;
if_acmpeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 5
start local 5 3: aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
astore 6
start local 6 4: aload 0
getfield org.apache.cassandra.service.paxos.Commit.update:Lorg/apache/cassandra/db/partitions/PartitionUpdate;
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
astore 7
start local 7 5: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
aload 6
invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
aload 7
invokevirtual org.apache.cassandra.service.StorageService.getNaturalEndpoints:(Ljava/lang/String;Lorg/apache/cassandra/dht/RingPosition;)Ljava/util/List;
astore 8
start local 8 6: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.getTokenMetadata:()Lorg/apache/cassandra/locator/TokenMetadata;
aload 7
aload 6
invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
invokevirtual org.apache.cassandra.locator.TokenMetadata.pendingEndpointsFor:(Lorg/apache/cassandra/dht/Token;Ljava/lang/String;)Ljava/util/Collection;
astore 9
start local 9 7: aconst_null
astore 10
start local 10 8: iload 5
ifeq 12
9: aload 6
invokevirtual org.apache.cassandra.db.Keyspace.getReplicationStrategy:()Lorg/apache/cassandra/locator/AbstractReplicationStrategy;
astore 11
start local 11 10: aload 11
aload 8
aload 9
aload 1
aconst_null
getstatic org.apache.cassandra.db.WriteType.SIMPLE:Lorg/apache/cassandra/db/WriteType;
lload 3
invokevirtual org.apache.cassandra.locator.AbstractReplicationStrategy.getWriteResponseHandler:(Ljava/util/Collection;Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/lang/Runnable;Lorg/apache/cassandra/db/WriteType;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
astore 10
11: aload 10
iconst_0
invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.setSupportsBackPressure:(Z)V
end local 11 12: StackMap locals: org.apache.cassandra.service.paxos.Commit org.apache.cassandra.db.ConsistencyLevel int long int org.apache.cassandra.db.Keyspace org.apache.cassandra.dht.Token java.util.List java.util.Collection org.apache.cassandra.service.AbstractWriteResponseHandler
StackMap stack:
new org.apache.cassandra.net.MessageOut
dup
getstatic org.apache.cassandra.net.MessagingService$Verb.PAXOS_COMMIT:Lorg/apache/cassandra/net/MessagingService$Verb;
aload 0
getstatic org.apache.cassandra.service.paxos.Commit.serializer:Lorg/apache/cassandra/service/paxos/Commit$CommitSerializer;
invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;)V
astore 11
start local 11 13: aload 8
aload 9
invokestatic com.google.common.collect.Iterables.concat:(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 13
goto 28
StackMap locals: org.apache.cassandra.service.paxos.Commit org.apache.cassandra.db.ConsistencyLevel int long int org.apache.cassandra.db.Keyspace org.apache.cassandra.dht.Token java.util.List java.util.Collection org.apache.cassandra.service.AbstractWriteResponseHandler org.apache.cassandra.net.MessageOut top java.util.Iterator
StackMap stack:
14: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 12
start local 12 15: aload 12
invokestatic org.apache.cassandra.service.StorageProxy.checkHintOverload:(Ljava/net/InetAddress;)V
16: getstatic org.apache.cassandra.gms.FailureDetector.instance:Lorg/apache/cassandra/gms/IFailureDetector;
aload 12
invokeinterface org.apache.cassandra.gms.IFailureDetector.isAlive:(Ljava/net/InetAddress;)Z
ifeq 26
17: iload 5
ifeq 24
18: aload 12
invokestatic org.apache.cassandra.service.StorageProxy.canDoLocalRequest:(Ljava/net/InetAddress;)Z
ifeq 20
19: aload 11
aload 10
invokestatic org.apache.cassandra.service.StorageProxy.commitPaxosLocal:(Lorg/apache/cassandra/net/MessageOut;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;)V
goto 28
20: StackMap locals: org.apache.cassandra.service.paxos.Commit org.apache.cassandra.db.ConsistencyLevel int long int org.apache.cassandra.db.Keyspace org.apache.cassandra.dht.Token java.util.List java.util.Collection org.apache.cassandra.service.AbstractWriteResponseHandler org.apache.cassandra.net.MessageOut java.net.InetAddress java.util.Iterator
StackMap stack:
invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 11
aload 12
aload 10
iload 2
ifeq 21
aload 12
invokestatic org.apache.cassandra.service.StorageProxy.shouldHint:(Ljava/net/InetAddress;)Z
ifeq 21
iconst_1
goto 22
StackMap locals: org.apache.cassandra.service.paxos.Commit org.apache.cassandra.db.ConsistencyLevel int long int org.apache.cassandra.db.Keyspace org.apache.cassandra.dht.Token java.util.List java.util.Collection org.apache.cassandra.service.AbstractWriteResponseHandler org.apache.cassandra.net.MessageOut java.net.InetAddress java.util.Iterator
StackMap stack: org.apache.cassandra.net.MessagingService org.apache.cassandra.net.MessageOut java.net.InetAddress org.apache.cassandra.service.AbstractWriteResponseHandler
21: iconst_0
StackMap locals: org.apache.cassandra.service.paxos.Commit org.apache.cassandra.db.ConsistencyLevel int long int org.apache.cassandra.db.Keyspace org.apache.cassandra.dht.Token java.util.List java.util.Collection org.apache.cassandra.service.AbstractWriteResponseHandler org.apache.cassandra.net.MessageOut java.net.InetAddress java.util.Iterator
StackMap stack: org.apache.cassandra.net.MessagingService org.apache.cassandra.net.MessageOut java.net.InetAddress org.apache.cassandra.service.AbstractWriteResponseHandler int
22: invokevirtual org.apache.cassandra.net.MessagingService.sendRR:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;Z)I
pop
23: goto 28
24: StackMap locals:
StackMap stack:
invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 11
aload 12
invokevirtual org.apache.cassandra.net.MessagingService.sendOneWay:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;)V
25: goto 28
26: StackMap locals:
StackMap stack:
iload 2
ifeq 28
aload 12
invokestatic org.apache.cassandra.service.StorageProxy.shouldHint:(Ljava/net/InetAddress;)Z
ifeq 28
27: aload 0
invokevirtual org.apache.cassandra.service.paxos.Commit.makeMutation:()Lorg/apache/cassandra/db/Mutation;
aload 12
aconst_null
invokestatic org.apache.cassandra.service.StorageProxy.submitHint:(Lorg/apache/cassandra/db/Mutation;Ljava/net/InetAddress;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;)Ljava/util/concurrent/Future;
pop
end local 12 28: StackMap locals: org.apache.cassandra.service.paxos.Commit org.apache.cassandra.db.ConsistencyLevel int long int org.apache.cassandra.db.Keyspace org.apache.cassandra.dht.Token java.util.List java.util.Collection org.apache.cassandra.service.AbstractWriteResponseHandler org.apache.cassandra.net.MessageOut top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
29: iload 5
ifeq 31
30: aload 10
invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.get:()V
31: StackMap locals: org.apache.cassandra.service.paxos.Commit org.apache.cassandra.db.ConsistencyLevel int long int org.apache.cassandra.db.Keyspace org.apache.cassandra.dht.Token java.util.List java.util.Collection org.apache.cassandra.service.AbstractWriteResponseHandler org.apache.cassandra.net.MessageOut
StackMap stack:
return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 proposal Lorg/apache/cassandra/service/paxos/Commit;
0 32 1 consistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
0 32 2 allowHints Z
0 32 3 queryStartNanoTime J
3 32 5 shouldBlock Z
4 32 6 keyspace Lorg/apache/cassandra/db/Keyspace;
5 32 7 tk Lorg/apache/cassandra/dht/Token;
6 32 8 naturalEndpoints Ljava/util/List<Ljava/net/InetAddress;>;
7 32 9 pendingEndpoints Ljava/util/Collection<Ljava/net/InetAddress;>;
8 32 10 responseHandler Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/service/paxos/Commit;>;
10 12 11 rs Lorg/apache/cassandra/locator/AbstractReplicationStrategy;
13 32 11 message Lorg/apache/cassandra/net/MessageOut<Lorg/apache/cassandra/service/paxos/Commit;>;
15 28 12 destination Ljava/net/InetAddress;
Exceptions:
throws org.apache.cassandra.exceptions.WriteTimeoutException
MethodParameters:
Name Flags
proposal
consistencyLevel
allowHints
queryStartNanoTime
private static void commitPaxosLocal(org.apache.cassandra.net.MessageOut<org.apache.cassandra.service.paxos.Commit>, org.apache.cassandra.service.AbstractWriteResponseHandler<?>);
descriptor: (Lorg/apache/cassandra/net/MessageOut;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.apache.cassandra.net.MessagingService.verbStages:Ljava/util/EnumMap;
getstatic org.apache.cassandra.net.MessagingService$Verb.PAXOS_COMMIT:Lorg/apache/cassandra/net/MessagingService$Verb;
invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.concurrent.Stage
invokestatic org.apache.cassandra.concurrent.StageManager.getStage:(Lorg/apache/cassandra/concurrent/Stage;)Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
new org.apache.cassandra.service.StorageProxy$6
dup
aload 0
aload 1
invokespecial org.apache.cassandra.service.StorageProxy$6.<init>:(Lorg/apache/cassandra/net/MessageOut;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;)V
invokeinterface org.apache.cassandra.concurrent.LocalAwareExecutorService.maybeExecuteImmediately:(Ljava/lang/Runnable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 message Lorg/apache/cassandra/net/MessageOut<Lorg/apache/cassandra/service/paxos/Commit;>;
0 2 1 responseHandler Lorg/apache/cassandra/service/AbstractWriteResponseHandler<*>;
Signature: (Lorg/apache/cassandra/net/MessageOut<Lorg/apache/cassandra/service/paxos/Commit;>;Lorg/apache/cassandra/service/AbstractWriteResponseHandler<*>;)V
MethodParameters:
Name Flags
message final
responseHandler final
public static void mutate(java.util.Collection<? extends org.apache.cassandra.db.IMutation>, org.apache.cassandra.db.ConsistencyLevel, );
descriptor: (Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=14, args_size=3
start local 0 start local 1 start local 2 0: ldc "Determining replicas for mutation"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
1: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getEndpointSnitch:()Lorg/apache/cassandra/locator/IEndpointSnitch;
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
invokeinterface org.apache.cassandra.locator.IEndpointSnitch.getDatacenter:(Ljava/net/InetAddress;)Ljava/lang/String;
astore 4
start local 4 2: invokestatic java.lang.System.nanoTime:()J
lstore 5
start local 5 3: new java.util.ArrayList
dup
aload 0
invokeinterface java.util.Collection.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
start local 7 4: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
goto 13
StackMap locals: java.util.Collection org.apache.cassandra.db.ConsistencyLevel long java.lang.String long java.util.List top java.util.Iterator
StackMap stack:
5: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.IMutation
astore 8
start local 8 6: aload 8
instanceof org.apache.cassandra.db.CounterMutation
ifeq 9
7: aload 7
aload 8
checkcast org.apache.cassandra.db.CounterMutation
aload 4
lload 2
invokestatic org.apache.cassandra.service.StorageProxy.mutateCounter:(Lorg/apache/cassandra/db/CounterMutation;Ljava/lang/String;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
8: goto 13
9: StackMap locals: java.util.Collection org.apache.cassandra.db.ConsistencyLevel long java.lang.String long java.util.List org.apache.cassandra.db.IMutation java.util.Iterator
StackMap stack:
aload 0
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmpgt 10
getstatic org.apache.cassandra.db.WriteType.SIMPLE:Lorg/apache/cassandra/db/WriteType;
goto 11
StackMap locals:
StackMap stack:
10: getstatic org.apache.cassandra.db.WriteType.UNLOGGED_BATCH:Lorg/apache/cassandra/db/WriteType;
StackMap locals:
StackMap stack: org.apache.cassandra.db.WriteType
11: astore 10
start local 10 12: aload 7
aload 8
aload 1
aload 4
getstatic org.apache.cassandra.service.StorageProxy.standardWritePerformer:Lorg/apache/cassandra/service/StorageProxy$WritePerformer;
aconst_null
aload 10
lload 2
invokestatic org.apache.cassandra.service.StorageProxy.performWrite:(Lorg/apache/cassandra/db/IMutation;Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/lang/String;Lorg/apache/cassandra/service/StorageProxy$WritePerformer;Ljava/lang/Runnable;Lorg/apache/cassandra/db/WriteType;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 8 13: StackMap locals: java.util.Collection org.apache.cassandra.db.ConsistencyLevel long java.lang.String long java.util.List top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
14: aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 17
StackMap locals:
StackMap stack:
15: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.service.AbstractWriteResponseHandler
astore 8
start local 8 16: aload 8
invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.get:()V
end local 8 17: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 15
18: goto 55
19: StackMap locals: java.util.Collection org.apache.cassandra.db.ConsistencyLevel long java.lang.String long java.util.List
StackMap stack: org.apache.cassandra.exceptions.RequestExecutionException
astore 8
start local 8 20: aload 1
getstatic org.apache.cassandra.db.ConsistencyLevel.ANY:Lorg/apache/cassandra/db/ConsistencyLevel;
if_acmpne 23
21: aload 0
invokestatic org.apache.cassandra.service.StorageProxy.hintMutations:(Ljava/util/Collection;)V
22: goto 36
23: StackMap locals: org.apache.cassandra.exceptions.RequestExecutionException
StackMap stack:
aload 8
instanceof org.apache.cassandra.exceptions.WriteFailureException
ifeq 31
24: getstatic org.apache.cassandra.service.StorageProxy.writeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.failures:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
25: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.failures:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
26: aload 8
checkcast org.apache.cassandra.exceptions.WriteFailureException
astore 9
start local 9 27: ldc "Write failure; received {} of {} required replies, failed {} requests"
iconst_3
anewarray java.lang.Object
dup
iconst_0
28: aload 9
getfield org.apache.cassandra.exceptions.WriteFailureException.received:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 9
getfield org.apache.cassandra.exceptions.WriteFailureException.blockFor:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 9
getfield org.apache.cassandra.exceptions.WriteFailureException.failureReasonByEndpoint:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
29: invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 9 30: goto 35
31: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.service.StorageProxy.writeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.timeouts:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
32: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.timeouts:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
33: aload 8
checkcast org.apache.cassandra.exceptions.WriteTimeoutException
astore 9
start local 9 34: ldc "Write timeout; received {} of {} required replies"
aload 9
getfield org.apache.cassandra.exceptions.WriteTimeoutException.received:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 9
getfield org.apache.cassandra.exceptions.WriteTimeoutException.blockFor:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 9 35: StackMap locals:
StackMap stack:
aload 8
athrow
end local 8 36: StackMap locals:
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lload 5
lsub
lstore 12
start local 12 37: getstatic org.apache.cassandra.service.StorageProxy.writeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
lload 12
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
38: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
lload 12
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
end local 12 39: goto 58
40: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.UnavailableException
astore 8
start local 8 41: getstatic org.apache.cassandra.service.StorageProxy.writeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
42: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
43: ldc "Unavailable"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
44: aload 8
athrow
end local 8 45: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.OverloadedException
astore 8
start local 8 46: getstatic org.apache.cassandra.service.StorageProxy.writeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
47: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
48: ldc "Overloaded"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
49: aload 8
athrow
end local 8 50: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
51: invokestatic java.lang.System.nanoTime:()J
lload 5
lsub
lstore 12
start local 12 52: getstatic org.apache.cassandra.service.StorageProxy.writeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
lload 12
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
53: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
lload 12
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
end local 12 54: aload 11
athrow
55: StackMap locals:
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lload 5
lsub
lstore 12
start local 12 56: getstatic org.apache.cassandra.service.StorageProxy.writeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
lload 12
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
57: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
lload 12
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
end local 12 58: StackMap locals:
StackMap stack:
return
end local 7 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 59 0 mutations Ljava/util/Collection<+Lorg/apache/cassandra/db/IMutation;>;
0 59 1 consistency_level Lorg/apache/cassandra/db/ConsistencyLevel;
0 59 2 queryStartNanoTime J
2 59 4 localDataCenter Ljava/lang/String;
3 59 5 startTime J
4 59 7 responseHandlers Ljava/util/List<Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;>;
6 13 8 mutation Lorg/apache/cassandra/db/IMutation;
12 13 10 wt Lorg/apache/cassandra/db/WriteType;
16 17 8 responseHandler Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
20 36 8 ex Lorg/apache/cassandra/exceptions/RequestExecutionException;
27 30 9 fe Lorg/apache/cassandra/exceptions/WriteFailureException;
34 35 9 te Lorg/apache/cassandra/exceptions/WriteTimeoutException;
41 45 8 e Lorg/apache/cassandra/exceptions/UnavailableException;
46 50 8 e Lorg/apache/cassandra/exceptions/OverloadedException;
37 39 12 latency J
52 54 12 latency J
56 58 12 latency J
Exception table:
from to target type
4 18 19 Class org.apache.cassandra.exceptions.WriteTimeoutException
4 18 19 Class org.apache.cassandra.exceptions.WriteFailureException
4 18 40 Class org.apache.cassandra.exceptions.UnavailableException
4 18 45 Class org.apache.cassandra.exceptions.OverloadedException
4 36 50 any
40 50 50 any
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.OverloadedException, org.apache.cassandra.exceptions.WriteTimeoutException, org.apache.cassandra.exceptions.WriteFailureException
Signature: (Ljava/util/Collection<+Lorg/apache/cassandra/db/IMutation;>;Lorg/apache/cassandra/db/ConsistencyLevel;J)V
MethodParameters:
Name Flags
mutations
consistency_level
queryStartNanoTime
private static void hintMutations(java.util.Collection<? extends org.apache.cassandra.db.IMutation>);
descriptor: (Ljava/util/Collection;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: java.util.Collection top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.IMutation
astore 1
start local 1 2: aload 1
instanceof org.apache.cassandra.db.CounterMutation
ifne 4
3: aload 1
checkcast org.apache.cassandra.db.Mutation
invokestatic org.apache.cassandra.service.StorageProxy.hintMutation:(Lorg/apache/cassandra/db/Mutation;)V
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: ldc "Wrote hints to satisfy CL.ANY after no replicas acknowledged the write"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 mutations Ljava/util/Collection<+Lorg/apache/cassandra/db/IMutation;>;
2 4 1 mutation Lorg/apache/cassandra/db/IMutation;
Signature: (Ljava/util/Collection<+Lorg/apache/cassandra/db/IMutation;>;)V
MethodParameters:
Name Flags
mutations
private static void hintMutation(org.apache.cassandra.db.Mutation);
descriptor: (Lorg/apache/cassandra/db/Mutation;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.db.Mutation.getKeyspaceName:()Ljava/lang/String;
astore 1
start local 1 1: aload 0
invokevirtual org.apache.cassandra.db.Mutation.key:()Lorg/apache/cassandra/db/DecoratedKey;
invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
astore 2
start local 2 2: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
aload 1
aload 2
invokevirtual org.apache.cassandra.service.StorageService.getNaturalAndPendingEndpoints:(Ljava/lang/String;Lorg/apache/cassandra/dht/Token;)Ljava/lang/Iterable;
astore 3
start local 3 3: new java.util.ArrayList
dup
aload 3
invokestatic com.google.common.collect.Iterables.size:(Ljava/lang/Iterable;)I
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 4: aload 3
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 8
StackMap locals: org.apache.cassandra.db.Mutation java.lang.String org.apache.cassandra.dht.Token java.lang.Iterable java.util.ArrayList top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 5
start local 5 6: aload 5
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifne 8
aload 5
invokestatic org.apache.cassandra.service.StorageProxy.shouldHint:(Ljava/net/InetAddress;)Z
ifeq 8
7: aload 4
aload 5
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 5 8: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
9: aload 0
aload 4
aconst_null
invokestatic org.apache.cassandra.service.StorageProxy.submitHint:(Lorg/apache/cassandra/db/Mutation;Ljava/util/Collection;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;)Ljava/util/concurrent/Future;
pop
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 mutation Lorg/apache/cassandra/db/Mutation;
1 11 1 keyspaceName Ljava/lang/String;
2 11 2 token Lorg/apache/cassandra/dht/Token;
3 11 3 endpoints Ljava/lang/Iterable<Ljava/net/InetAddress;>;
4 11 4 endpointsToHint Ljava/util/ArrayList<Ljava/net/InetAddress;>;
6 8 5 target Ljava/net/InetAddress;
MethodParameters:
Name Flags
mutation
public boolean appliesLocally(org.apache.cassandra.db.Mutation);
descriptor: (Lorg/apache/cassandra/db/Mutation;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.apache.cassandra.db.Mutation.getKeyspaceName:()Ljava/lang/String;
astore 2
start local 2 1: aload 1
invokevirtual org.apache.cassandra.db.Mutation.key:()Lorg/apache/cassandra/db/DecoratedKey;
invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
astore 3
start local 3 2: invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
astore 4
start local 4 3: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
aload 2
aload 3
invokevirtual org.apache.cassandra.service.StorageService.getNaturalEndpoints:(Ljava/lang/String;Lorg/apache/cassandra/dht/RingPosition;)Ljava/util/List;
aload 4
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 6
4: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.getTokenMetadata:()Lorg/apache/cassandra/locator/TokenMetadata;
aload 3
aload 2
invokevirtual org.apache.cassandra.locator.TokenMetadata.pendingEndpointsFor:(Lorg/apache/cassandra/dht/Token;Ljava/lang/String;)Ljava/util/Collection;
aload 4
invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
ifne 6
5: iconst_0
ireturn
StackMap locals: java.lang.String org.apache.cassandra.dht.Token java.net.InetAddress
StackMap stack:
6: iconst_1
ireturn
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/StorageProxy;
0 7 1 mutation Lorg/apache/cassandra/db/Mutation;
1 7 2 keyspaceName Ljava/lang/String;
2 7 3 token Lorg/apache/cassandra/dht/Token;
3 7 4 local Ljava/net/InetAddress;
MethodParameters:
Name Flags
mutation
public static void mutateMV(java.nio.ByteBuffer, java.util.Collection<org.apache.cassandra.db.Mutation>, boolean, java.util.concurrent.atomic.AtomicLong, );
descriptor: (Ljava/nio/ByteBuffer;Ljava/util/Collection;ZLjava/util/concurrent/atomic/AtomicLong;J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=10, locals=24, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: ldc "Determining replicas for mutation"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
1: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getEndpointSnitch:()Lorg/apache/cassandra/locator/IEndpointSnitch;
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
invokeinterface org.apache.cassandra.locator.IEndpointSnitch.getDatacenter:(Ljava/net/InetAddress;)Ljava/lang/String;
astore 6
start local 6 2: invokestatic java.lang.System.nanoTime:()J
lstore 7
start local 7 3: invokestatic org.apache.cassandra.utils.UUIDGen.getTimeUUID:()Ljava/util/UUID;
astore 9
start local 9 4: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.isStarting:()Z
ifne 5
getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.isJoining:()Z
ifne 5
getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.isMoving:()Z
ifeq 11
5: StackMap locals: java.lang.String long java.util.UUID
StackMap stack:
aload 9
invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
6: aload 1
7: invokestatic org.apache.cassandra.batchlog.Batch.createLocal:(Ljava/util/UUID;JLjava/util/Collection;)Lorg/apache/cassandra/batchlog/Batch;
8: iload 2
9: invokestatic org.apache.cassandra.batchlog.BatchlogManager.store:(Lorg/apache/cassandra/batchlog/Batch;Z)V
10: goto 56
11: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 1
invokeinterface java.util.Collection.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 10
start local 10 12: new java.util.HashSet
dup
aload 1
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 11
start local 11 13: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.getTokenMetadata:()Lorg/apache/cassandra/locator/TokenMetadata;
getfield org.apache.cassandra.locator.TokenMetadata.partitioner:Lorg/apache/cassandra/dht/IPartitioner;
aload 0
invokeinterface org.apache.cassandra.dht.IPartitioner.getToken:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/dht/Token;
astore 12
start local 12 14: getstatic org.apache.cassandra.db.ConsistencyLevel.ONE:Lorg/apache/cassandra/db/ConsistencyLevel;
astore 13
start local 13 15: invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
astore 14
start local 14 16: new org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup
dup
aload 1
invokeinterface java.util.Collection.size:()I
aload 14
aload 9
invokedynamic invoke(Ljava/util/Collection;Ljava/util/UUID;)Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanupCallback;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
org/apache/cassandra/service/StorageProxy.lambda$0(Ljava/util/Collection;Ljava/util/UUID;)V (6)
()V
invokespecial org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup.<init>:(ILorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanupCallback;)V
astore 15
start local 15 17: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 17
goto 47
StackMap locals: java.nio.ByteBuffer java.util.Collection int java.util.concurrent.atomic.AtomicLong long java.lang.String long java.util.UUID java.util.List java.util.Set org.apache.cassandra.dht.Token org.apache.cassandra.db.ConsistencyLevel java.util.Collection org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup top java.util.Iterator
StackMap stack:
18: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.Mutation
astore 16
start local 16 19: aload 16
invokevirtual org.apache.cassandra.db.Mutation.getKeyspaceName:()Ljava/lang/String;
astore 18
start local 18 20: aload 16
invokevirtual org.apache.cassandra.db.Mutation.key:()Lorg/apache/cassandra/db/DecoratedKey;
invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
astore 19
start local 19 21: aload 18
aload 12
aload 19
invokestatic org.apache.cassandra.db.view.ViewUtils.getViewNaturalEndpoint:(Ljava/lang/String;Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/Token;)Ljava/util/Optional;
astore 20
start local 20 22: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.getTokenMetadata:()Lorg/apache/cassandra/locator/TokenMetadata;
aload 19
aload 18
invokevirtual org.apache.cassandra.locator.TokenMetadata.pendingEndpointsFor:(Lorg/apache/cassandra/dht/Token;Ljava/lang/String;)Ljava/util/Collection;
astore 21
start local 21 23: aload 20
invokevirtual java.util.Optional.isPresent:()Z
ifne 29
24: aload 21
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 47
25: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
ldc "Received base materialized view mutation for key {} that does not belong to this node. There is probably a range movement happening (move or decommission),but this node hasn't updated its ring metadata yet. Adding mutation to local batchlog to be replayed later."
26: aload 16
invokevirtual org.apache.cassandra.db.Mutation.key:()Lorg/apache/cassandra/db/DecoratedKey;
27: invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
28: goto 47
29: StackMap locals: java.nio.ByteBuffer java.util.Collection int java.util.concurrent.atomic.AtomicLong long java.lang.String long java.util.UUID java.util.List java.util.Set org.apache.cassandra.dht.Token org.apache.cassandra.db.ConsistencyLevel java.util.Collection org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup org.apache.cassandra.db.Mutation java.util.Iterator java.lang.String org.apache.cassandra.dht.Token java.util.Optional java.util.Collection
StackMap stack:
aload 20
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.net.InetAddress
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 38
getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.isJoined:()Z
ifeq 38
30: aload 21
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 38
31: aload 16
iload 2
invokevirtual org.apache.cassandra.db.Mutation.apply:(Z)V
32: aload 11
aload 16
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
33: aload 15
invokevirtual org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup.ackMutation:()V
34: goto 47
35: StackMap locals:
StackMap stack: java.lang.Exception
astore 22
start local 22 36: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
ldc "Error applying local view update to keyspace {}: {}"
aload 16
invokevirtual org.apache.cassandra.db.Mutation.getKeyspaceName:()Ljava/lang/String;
aload 16
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
37: aload 22
athrow
end local 22 38: StackMap locals:
StackMap stack:
aload 10
aload 16
39: aload 13
40: aload 13
41: aload 20
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.net.InetAddress
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
42: aload 3
43: getstatic org.apache.cassandra.db.WriteType.BATCH:Lorg/apache/cassandra/db/WriteType;
44: aload 15
45: lload 4
46: invokestatic org.apache.cassandra.service.StorageProxy.wrapViewBatchResponseHandler:(Lorg/apache/cassandra/db/Mutation;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/util/List;Ljava/util/concurrent/atomic/AtomicLong;Lorg/apache/cassandra/db/WriteType;Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;J)Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 21 end local 20 end local 19 end local 18 end local 16 47: StackMap locals: java.nio.ByteBuffer java.util.Collection int java.util.concurrent.atomic.AtomicLong long java.lang.String long java.util.UUID java.util.List java.util.Set org.apache.cassandra.dht.Token org.apache.cassandra.db.ConsistencyLevel java.util.Collection org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup top java.util.Iterator
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
48: aload 11
invokeinterface java.util.Set.isEmpty:()Z
ifne 50
49: aload 9
invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
aload 11
invokestatic org.apache.cassandra.batchlog.Batch.createLocal:(Ljava/util/UUID;JLjava/util/Collection;)Lorg/apache/cassandra/batchlog/Batch;
iload 2
invokestatic org.apache.cassandra.batchlog.BatchlogManager.store:(Lorg/apache/cassandra/batchlog/Batch;Z)V
50: StackMap locals: java.nio.ByteBuffer java.util.Collection int java.util.concurrent.atomic.AtomicLong long java.lang.String long java.util.UUID java.util.List java.util.Set org.apache.cassandra.dht.Token org.apache.cassandra.db.ConsistencyLevel java.util.Collection org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup
StackMap stack:
aload 10
invokeinterface java.util.List.isEmpty:()Z
ifne 56
51: aload 10
aload 6
getstatic org.apache.cassandra.concurrent.Stage.VIEW_MUTATION:Lorg/apache/cassandra/concurrent/Stage;
invokestatic org.apache.cassandra.service.StorageProxy.asyncWriteBatchedMutations:(Ljava/util/List;Ljava/lang/String;Lorg/apache/cassandra/concurrent/Stage;)V
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 52: goto 56
53: StackMap locals: java.nio.ByteBuffer java.util.Collection int java.util.concurrent.atomic.AtomicLong long java.lang.String long
StackMap stack: java.lang.Throwable
astore 23
54: getstatic org.apache.cassandra.service.StorageProxy.viewWriteMetrics:Lorg/apache/cassandra/metrics/ViewWriteMetrics;
invokestatic java.lang.System.nanoTime:()J
lload 7
lsub
invokevirtual org.apache.cassandra.metrics.ViewWriteMetrics.addNano:(J)V
55: aload 23
athrow
56: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.service.StorageProxy.viewWriteMetrics:Lorg/apache/cassandra/metrics/ViewWriteMetrics;
invokestatic java.lang.System.nanoTime:()J
lload 7
lsub
invokevirtual org.apache.cassandra.metrics.ViewWriteMetrics.addNano:(J)V
57: return
end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 dataKey Ljava/nio/ByteBuffer;
0 58 1 mutations Ljava/util/Collection<Lorg/apache/cassandra/db/Mutation;>;
0 58 2 writeCommitLog Z
0 58 3 baseComplete Ljava/util/concurrent/atomic/AtomicLong;
0 58 4 queryStartNanoTime J
2 58 6 localDataCenter Ljava/lang/String;
3 58 7 startTime J
4 52 9 batchUUID Ljava/util/UUID;
12 52 10 wrappers Ljava/util/List<Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;>;
13 52 11 nonLocalMutations Ljava/util/Set<Lorg/apache/cassandra/db/Mutation;>;
14 52 12 baseToken Lorg/apache/cassandra/dht/Token;
15 52 13 consistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
16 52 14 batchlogEndpoints Ljava/util/Collection<Ljava/net/InetAddress;>;
17 52 15 cleanup Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;
19 47 16 mutation Lorg/apache/cassandra/db/Mutation;
20 47 18 keyspaceName Ljava/lang/String;
21 47 19 tk Lorg/apache/cassandra/dht/Token;
22 47 20 pairedEndpoint Ljava/util/Optional<Ljava/net/InetAddress;>;
23 47 21 pendingEndpoints Ljava/util/Collection<Ljava/net/InetAddress;>;
36 38 22 exc Ljava/lang/Exception;
Exception table:
from to target type
31 34 35 Class java.lang.Exception
3 53 53 any
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.OverloadedException, org.apache.cassandra.exceptions.WriteTimeoutException
Signature: (Ljava/nio/ByteBuffer;Ljava/util/Collection<Lorg/apache/cassandra/db/Mutation;>;ZLjava/util/concurrent/atomic/AtomicLong;J)V
MethodParameters:
Name Flags
dataKey
mutations
writeCommitLog
baseComplete
queryStartNanoTime
public static void mutateWithTriggers(java.util.Collection<? extends org.apache.cassandra.db.IMutation>, org.apache.cassandra.db.ConsistencyLevel, boolean, );
descriptor: (Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;ZJ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.apache.cassandra.triggers.TriggerExecutor.instance:Lorg/apache/cassandra/triggers/TriggerExecutor;
aload 0
invokevirtual org.apache.cassandra.triggers.TriggerExecutor.execute:(Ljava/util/Collection;)Ljava/util/Collection;
astore 5
start local 5 1: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.IMutation
invokeinterface org.apache.cassandra.db.IMutation.getKeyspaceName:()Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
2: getfield org.apache.cassandra.db.Keyspace.viewManager:Lorg/apache/cassandra/db/view/ViewManager;
3: aload 0
iconst_1
invokevirtual org.apache.cassandra.db.view.ViewManager.updatesAffectView:(Ljava/util/Collection;Z)Z
4: istore 6
start local 6 5: aload 5
ifnull 7
6: aload 5
aload 1
iload 6
lload 3
invokestatic org.apache.cassandra.service.StorageProxy.mutateAtomically:(Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;ZJ)V
goto 10
7: StackMap locals: java.util.Collection int
StackMap stack:
iload 2
ifne 8
iload 6
ifeq 9
8: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 6
lload 3
invokestatic org.apache.cassandra.service.StorageProxy.mutateAtomically:(Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;ZJ)V
goto 10
9: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 3
invokestatic org.apache.cassandra.service.StorageProxy.mutate:(Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;J)V
10: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 mutations Ljava/util/Collection<+Lorg/apache/cassandra/db/IMutation;>;
0 11 1 consistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
0 11 2 mutateAtomically Z
0 11 3 queryStartNanoTime J
1 11 5 augmented Ljava/util/Collection<Lorg/apache/cassandra/db/Mutation;>;
5 11 6 updatesView Z
Exceptions:
throws org.apache.cassandra.exceptions.WriteTimeoutException, org.apache.cassandra.exceptions.WriteFailureException, org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.OverloadedException, org.apache.cassandra.exceptions.InvalidRequestException
Signature: (Ljava/util/Collection<+Lorg/apache/cassandra/db/IMutation;>;Lorg/apache/cassandra/db/ConsistencyLevel;ZJ)V
MethodParameters:
Name Flags
mutations
consistencyLevel
mutateAtomically
queryStartNanoTime
public static void mutateAtomically(java.util.Collection<org.apache.cassandra.db.Mutation>, org.apache.cassandra.db.ConsistencyLevel, boolean, );
descriptor: (Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;ZJ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=19, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "Determining replicas for atomic batch"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
1: invokestatic java.lang.System.nanoTime:()J
lstore 5
start local 5 2: new java.util.ArrayList
dup
aload 0
invokeinterface java.util.Collection.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
start local 7 3: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getEndpointSnitch:()Lorg/apache/cassandra/locator/IEndpointSnitch;
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
invokeinterface org.apache.cassandra.locator.IEndpointSnitch.getDatacenter:(Ljava/net/InetAddress;)Ljava/lang/String;
astore 8
start local 8 4: iload 2
ifeq 6
5: getstatic org.apache.cassandra.db.ConsistencyLevel.QUORUM:Lorg/apache/cassandra/db/ConsistencyLevel;
goto 7
6: StackMap locals: long java.util.List java.lang.String
StackMap stack:
aload 1
7: StackMap locals:
StackMap stack: org.apache.cassandra.db.ConsistencyLevel
astore 9
start local 9 8: invokestatic org.apache.cassandra.service.StorageProxy.$SWITCH_TABLE$org$apache$cassandra$db$ConsistencyLevel:()[I
aload 1
invokevirtual org.apache.cassandra.db.ConsistencyLevel.ordinal:()I
iaload
tableswitch { // 6 - 8
6: 9
7: 10
8: 9
default: 10
}
9: StackMap locals: org.apache.cassandra.db.ConsistencyLevel
StackMap stack:
aload 1
astore 9
10: StackMap locals:
StackMap stack:
aload 8
aload 9
invokestatic org.apache.cassandra.service.StorageProxy.getBatchlogEndpoints:(Ljava/lang/String;Lorg/apache/cassandra/db/ConsistencyLevel;)Lorg/apache/cassandra/service/StorageProxy$BatchlogEndpoints;
astore 10
start local 10 11: invokestatic org.apache.cassandra.utils.UUIDGen.getTimeUUID:()Ljava/util/UUID;
astore 11
start local 11 12: new org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup
dup
aload 0
invokeinterface java.util.Collection.size:()I
13: aload 10
aload 11
lload 3
invokedynamic invoke(Lorg/apache/cassandra/service/StorageProxy$BatchlogEndpoints;Ljava/util/UUID;J)Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanupCallback;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
org/apache/cassandra/service/StorageProxy.lambda$1(Lorg/apache/cassandra/service/StorageProxy$BatchlogEndpoints;Ljava/util/UUID;J)V (6)
()V
14: invokespecial org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup.<init>:(ILorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanupCallback;)V
astore 12
start local 12 15: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 14
goto 26
StackMap locals: java.util.Collection org.apache.cassandra.db.ConsistencyLevel int long long java.util.List java.lang.String org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.service.StorageProxy$BatchlogEndpoints java.util.UUID org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup top java.util.Iterator
StackMap stack:
16: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.Mutation
astore 13
start local 13 17: aload 13
18: aload 1
19: aload 9
20: getstatic org.apache.cassandra.db.WriteType.BATCH:Lorg/apache/cassandra/db/WriteType;
21: aload 12
22: lload 3
23: invokestatic org.apache.cassandra.service.StorageProxy.wrapBatchResponseHandler:(Lorg/apache/cassandra/db/Mutation;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/WriteType;Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;J)Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;
astore 15
start local 15 24: aload 15
getfield org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper.handler:Lorg/apache/cassandra/service/BatchlogResponseHandler;
invokevirtual org.apache.cassandra.service.BatchlogResponseHandler.assureSufficientLiveNodes:()V
25: aload 7
aload 15
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 15 end local 13 26: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
27: aload 0
aload 10
aload 11
lload 3
invokestatic org.apache.cassandra.service.StorageProxy.syncWriteToBatchlog:(Ljava/util/Collection;Lorg/apache/cassandra/service/StorageProxy$BatchlogEndpoints;Ljava/util/UUID;J)V
28: aload 7
aload 8
getstatic org.apache.cassandra.concurrent.Stage.MUTATION:Lorg/apache/cassandra/concurrent/Stage;
invokestatic org.apache.cassandra.service.StorageProxy.syncWriteBatchedMutations:(Ljava/util/List;Ljava/lang/String;Lorg/apache/cassandra/concurrent/Stage;)V
end local 12 end local 11 end local 10 end local 9 29: goto 50
30: StackMap locals: java.util.Collection org.apache.cassandra.db.ConsistencyLevel int long long java.util.List java.lang.String
StackMap stack: org.apache.cassandra.exceptions.UnavailableException
astore 9
start local 9 31: getstatic org.apache.cassandra.service.StorageProxy.writeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
32: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
33: ldc "Unavailable"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
34: aload 9
athrow
end local 9 35: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.WriteTimeoutException
astore 9
start local 9 36: getstatic org.apache.cassandra.service.StorageProxy.writeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.timeouts:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
37: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.timeouts:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
38: ldc "Write timeout; received {} of {} required replies"
aload 9
getfield org.apache.cassandra.exceptions.WriteTimeoutException.received:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 9
getfield org.apache.cassandra.exceptions.WriteTimeoutException.blockFor:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
39: aload 9
athrow
end local 9 40: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.WriteFailureException
astore 9
start local 9 41: getstatic org.apache.cassandra.service.StorageProxy.writeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.failures:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
42: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.failures:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
43: ldc "Write failure; received {} of {} required replies"
aload 9
getfield org.apache.cassandra.exceptions.WriteFailureException.received:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 9
getfield org.apache.cassandra.exceptions.WriteFailureException.blockFor:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
44: aload 9
athrow
end local 9 45: StackMap locals:
StackMap stack: java.lang.Throwable
astore 16
46: invokestatic java.lang.System.nanoTime:()J
lload 5
lsub
lstore 17
start local 17 47: getstatic org.apache.cassandra.service.StorageProxy.writeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
lload 17
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
48: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
lload 17
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
end local 17 49: aload 16
athrow
50: StackMap locals:
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lload 5
lsub
lstore 17
start local 17 51: getstatic org.apache.cassandra.service.StorageProxy.writeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
lload 17
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
52: getstatic org.apache.cassandra.service.StorageProxy.writeMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
lload 17
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
end local 17 53: return
end local 8 end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 mutations Ljava/util/Collection<Lorg/apache/cassandra/db/Mutation;>;
0 54 1 consistency_level Lorg/apache/cassandra/db/ConsistencyLevel;
0 54 2 requireQuorumForRemove Z
0 54 3 queryStartNanoTime J
2 54 5 startTime J
3 54 7 wrappers Ljava/util/List<Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;>;
4 54 8 localDataCenter Ljava/lang/String;
8 29 9 batchConsistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
11 29 10 batchlogEndpoints Lorg/apache/cassandra/service/StorageProxy$BatchlogEndpoints;
12 29 11 batchUUID Ljava/util/UUID;
15 29 12 cleanup Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;
17 26 13 mutation Lorg/apache/cassandra/db/Mutation;
24 26 15 wrapper Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;
31 35 9 e Lorg/apache/cassandra/exceptions/UnavailableException;
36 40 9 e Lorg/apache/cassandra/exceptions/WriteTimeoutException;
41 45 9 e Lorg/apache/cassandra/exceptions/WriteFailureException;
47 49 17 latency J
51 53 17 latency J
Exception table:
from to target type
4 29 30 Class org.apache.cassandra.exceptions.UnavailableException
4 29 35 Class org.apache.cassandra.exceptions.WriteTimeoutException
4 29 40 Class org.apache.cassandra.exceptions.WriteFailureException
4 45 45 any
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.OverloadedException, org.apache.cassandra.exceptions.WriteTimeoutException
Signature: (Ljava/util/Collection<Lorg/apache/cassandra/db/Mutation;>;Lorg/apache/cassandra/db/ConsistencyLevel;ZJ)V
MethodParameters:
Name Flags
mutations
consistency_level
requireQuorumForRemove
queryStartNanoTime
public static boolean canDoLocalRequest(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 replica Ljava/net/InetAddress;
MethodParameters:
Name Flags
replica
private static void syncWriteToBatchlog(java.util.Collection<org.apache.cassandra.db.Mutation>, org.apache.cassandra.service.StorageProxy$BatchlogEndpoints, java.util.UUID, );
descriptor: (Ljava/util/Collection;Lorg/apache/cassandra/service/StorageProxy$BatchlogEndpoints;Ljava/util/UUID;J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.apache.cassandra.service.WriteResponseHandler
dup
aload 1
getfield org.apache.cassandra.service.StorageProxy$BatchlogEndpoints.all:Ljava/util/Collection;
1: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
2: aload 1
getfield org.apache.cassandra.service.StorageProxy$BatchlogEndpoints.all:Ljava/util/Collection;
invokeinterface java.util.Collection.size:()I
iconst_1
if_icmpne 3
getstatic org.apache.cassandra.db.ConsistencyLevel.ONE:Lorg/apache/cassandra/db/ConsistencyLevel;
goto 4
StackMap locals: java.util.Collection org.apache.cassandra.service.StorageProxy$BatchlogEndpoints java.util.UUID long
StackMap stack: new 0 new 0 java.util.Collection java.util.List
3: getstatic org.apache.cassandra.db.ConsistencyLevel.TWO:Lorg/apache/cassandra/db/ConsistencyLevel;
4: StackMap locals: java.util.Collection org.apache.cassandra.service.StorageProxy$BatchlogEndpoints java.util.UUID long
StackMap stack: new 0 new 0 java.util.Collection java.util.List org.apache.cassandra.db.ConsistencyLevel
ldc "system"
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
5: aconst_null
6: getstatic org.apache.cassandra.db.WriteType.BATCH_LOG:Lorg/apache/cassandra/db/WriteType;
7: lload 3
8: invokespecial org.apache.cassandra.service.WriteResponseHandler.<init>:(Ljava/util/Collection;Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/Keyspace;Ljava/lang/Runnable;Lorg/apache/cassandra/db/WriteType;J)V
astore 5
start local 5 9: aload 2
invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
aload 0
invokestatic org.apache.cassandra.batchlog.Batch.createLocal:(Ljava/util/UUID;JLjava/util/Collection;)Lorg/apache/cassandra/batchlog/Batch;
astore 6
start local 6 10: aload 1
getfield org.apache.cassandra.service.StorageProxy$BatchlogEndpoints.current:Ljava/util/Collection;
invokeinterface java.util.Collection.isEmpty:()Z
ifne 12
11: aload 5
aload 6
aload 1
getfield org.apache.cassandra.service.StorageProxy$BatchlogEndpoints.current:Ljava/util/Collection;
invokestatic org.apache.cassandra.service.StorageProxy.syncWriteToBatchlog:(Lorg/apache/cassandra/service/WriteResponseHandler;Lorg/apache/cassandra/batchlog/Batch;Ljava/util/Collection;)V
12: StackMap locals: org.apache.cassandra.service.WriteResponseHandler org.apache.cassandra.batchlog.Batch
StackMap stack:
aload 1
getfield org.apache.cassandra.service.StorageProxy$BatchlogEndpoints.legacy:Ljava/util/Collection;
invokeinterface java.util.Collection.isEmpty:()Z
ifne 14
13: aload 5
aload 6
aload 1
getfield org.apache.cassandra.service.StorageProxy$BatchlogEndpoints.legacy:Ljava/util/Collection;
invokestatic org.apache.cassandra.batchlog.LegacyBatchlogMigrator.syncWriteToBatchlog:(Lorg/apache/cassandra/service/WriteResponseHandler;Lorg/apache/cassandra/batchlog/Batch;Ljava/util/Collection;)V
14: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.apache.cassandra.service.WriteResponseHandler.get:()V
15: return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 mutations Ljava/util/Collection<Lorg/apache/cassandra/db/Mutation;>;
0 16 1 endpoints Lorg/apache/cassandra/service/StorageProxy$BatchlogEndpoints;
0 16 2 uuid Ljava/util/UUID;
0 16 3 queryStartNanoTime J
9 16 5 handler Lorg/apache/cassandra/service/WriteResponseHandler<*>;
10 16 6 batch Lorg/apache/cassandra/batchlog/Batch;
Exceptions:
throws org.apache.cassandra.exceptions.WriteTimeoutException, org.apache.cassandra.exceptions.WriteFailureException
Signature: (Ljava/util/Collection<Lorg/apache/cassandra/db/Mutation;>;Lorg/apache/cassandra/service/StorageProxy$BatchlogEndpoints;Ljava/util/UUID;J)V
MethodParameters:
Name Flags
mutations
endpoints
uuid
queryStartNanoTime
private static void syncWriteToBatchlog(org.apache.cassandra.service.WriteResponseHandler<?>, org.apache.cassandra.batchlog.Batch, java.util.Collection<java.net.InetAddress>);
descriptor: (Lorg/apache/cassandra/service/WriteResponseHandler;Lorg/apache/cassandra/batchlog/Batch;Ljava/util/Collection;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new org.apache.cassandra.net.MessageOut
dup
getstatic org.apache.cassandra.net.MessagingService$Verb.BATCH_STORE:Lorg/apache/cassandra/net/MessagingService$Verb;
aload 1
getstatic org.apache.cassandra.batchlog.Batch.serializer:Lorg/apache/cassandra/batchlog/Batch$Serializer;
invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;)V
astore 3
start local 3 1: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: org.apache.cassandra.service.WriteResponseHandler org.apache.cassandra.batchlog.Batch java.util.Collection org.apache.cassandra.net.MessageOut top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 4
start local 4 3: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
ldc "Sending batchlog store request {} to {} for {} mutations"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 1
getfield org.apache.cassandra.batchlog.Batch.id:Ljava/util/UUID;
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 1
invokevirtual org.apache.cassandra.batchlog.Batch.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
4: aload 4
invokestatic org.apache.cassandra.service.StorageProxy.canDoLocalRequest:(Ljava/net/InetAddress;)Z
ifeq 6
5: getstatic org.apache.cassandra.concurrent.Stage.MUTATION:Lorg/apache/cassandra/concurrent/Stage;
invokestatic java.util.Optional.empty:()Ljava/util/Optional;
aload 1
invokedynamic run(Lorg/apache/cassandra/batchlog/Batch;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
org/apache/cassandra/service/StorageProxy.lambda$2(Lorg/apache/cassandra/batchlog/Batch;)V (6)
()V
aload 0
invokestatic org.apache.cassandra.service.StorageProxy.performLocally:(Lorg/apache/cassandra/concurrent/Stage;Ljava/util/Optional;Ljava/lang/Runnable;Lorg/apache/cassandra/net/IAsyncCallbackWithFailure;)V
goto 7
6: StackMap locals: org.apache.cassandra.service.WriteResponseHandler org.apache.cassandra.batchlog.Batch java.util.Collection org.apache.cassandra.net.MessageOut java.net.InetAddress java.util.Iterator
StackMap stack:
invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 3
aload 4
aload 0
invokevirtual org.apache.cassandra.net.MessagingService.sendRR:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;Lorg/apache/cassandra/net/IAsyncCallback;)I
pop
end local 4 7: StackMap locals: org.apache.cassandra.service.WriteResponseHandler org.apache.cassandra.batchlog.Batch java.util.Collection org.apache.cassandra.net.MessageOut top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 handler Lorg/apache/cassandra/service/WriteResponseHandler<*>;
0 9 1 batch Lorg/apache/cassandra/batchlog/Batch;
0 9 2 endpoints Ljava/util/Collection<Ljava/net/InetAddress;>;
1 9 3 message Lorg/apache/cassandra/net/MessageOut<Lorg/apache/cassandra/batchlog/Batch;>;
3 7 4 target Ljava/net/InetAddress;
Exceptions:
throws org.apache.cassandra.exceptions.WriteTimeoutException, org.apache.cassandra.exceptions.WriteFailureException
Signature: (Lorg/apache/cassandra/service/WriteResponseHandler<*>;Lorg/apache/cassandra/batchlog/Batch;Ljava/util/Collection<Ljava/net/InetAddress;>;)V
MethodParameters:
Name Flags
handler
batch
endpoints
private static void asyncRemoveFromBatchlog(org.apache.cassandra.service.StorageProxy$BatchlogEndpoints, java.util.UUID, long);
descriptor: (Lorg/apache/cassandra/service/StorageProxy$BatchlogEndpoints;Ljava/util/UUID;J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.service.StorageProxy$BatchlogEndpoints.current:Ljava/util/Collection;
invokeinterface java.util.Collection.isEmpty:()Z
ifne 2
1: aload 0
getfield org.apache.cassandra.service.StorageProxy$BatchlogEndpoints.current:Ljava/util/Collection;
aload 1
invokestatic org.apache.cassandra.service.StorageProxy.asyncRemoveFromBatchlog:(Ljava/util/Collection;Ljava/util/UUID;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.StorageProxy$BatchlogEndpoints.legacy:Ljava/util/Collection;
invokeinterface java.util.Collection.isEmpty:()Z
ifne 4
3: aload 0
getfield org.apache.cassandra.service.StorageProxy$BatchlogEndpoints.legacy:Ljava/util/Collection;
aload 1
lload 2
invokestatic org.apache.cassandra.batchlog.LegacyBatchlogMigrator.asyncRemoveFromBatchlog:(Ljava/util/Collection;Ljava/util/UUID;J)V
4: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 endpoints Lorg/apache/cassandra/service/StorageProxy$BatchlogEndpoints;
0 5 1 uuid Ljava/util/UUID;
0 5 2 queryStartNanoTime J
MethodParameters:
Name Flags
endpoints
uuid
queryStartNanoTime
private static void asyncRemoveFromBatchlog(java.util.Collection<java.net.InetAddress>, java.util.UUID);
descriptor: (Ljava/util/Collection;Ljava/util/UUID;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: new org.apache.cassandra.net.MessageOut
dup
getstatic org.apache.cassandra.net.MessagingService$Verb.BATCH_REMOVE:Lorg/apache/cassandra/net/MessagingService$Verb;
aload 1
getstatic org.apache.cassandra.utils.UUIDSerializer.serializer:Lorg/apache/cassandra/utils/UUIDSerializer;
invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;)V
astore 2
start local 2 1: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: java.util.Collection java.util.UUID org.apache.cassandra.net.MessageOut top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 3
start local 3 3: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
ifeq 5
4: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
ldc "Sending batchlog remove request {} to {}"
aload 1
aload 3
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
5: StackMap locals: java.util.Collection java.util.UUID org.apache.cassandra.net.MessageOut java.net.InetAddress java.util.Iterator
StackMap stack:
aload 3
invokestatic org.apache.cassandra.service.StorageProxy.canDoLocalRequest:(Ljava/net/InetAddress;)Z
ifeq 7
6: getstatic org.apache.cassandra.concurrent.Stage.MUTATION:Lorg/apache/cassandra/concurrent/Stage;
aload 1
invokedynamic run(Ljava/util/UUID;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
org/apache/cassandra/service/StorageProxy.lambda$3(Ljava/util/UUID;)V (6)
()V
invokestatic org.apache.cassandra.service.StorageProxy.performLocally:(Lorg/apache/cassandra/concurrent/Stage;Ljava/lang/Runnable;)V
goto 8
7: StackMap locals:
StackMap stack:
invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 2
aload 3
invokevirtual org.apache.cassandra.net.MessagingService.sendOneWay:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;)V
end local 3 8: StackMap locals: java.util.Collection java.util.UUID org.apache.cassandra.net.MessageOut top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 endpoints Ljava/util/Collection<Ljava/net/InetAddress;>;
0 10 1 uuid Ljava/util/UUID;
1 10 2 message Lorg/apache/cassandra/net/MessageOut<Ljava/util/UUID;>;
3 8 3 target Ljava/net/InetAddress;
Signature: (Ljava/util/Collection<Ljava/net/InetAddress;>;Ljava/util/UUID;)V
MethodParameters:
Name Flags
endpoints
uuid
private static void asyncWriteBatchedMutations(java.util.List<org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper>, java.lang.String, org.apache.cassandra.concurrent.Stage);
descriptor: (Ljava/util/List;Ljava/lang/String;Lorg/apache/cassandra/concurrent/Stage;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: java.util.List java.lang.String org.apache.cassandra.concurrent.Stage top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper
astore 3
start local 3 2: aload 3
getfield org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper.handler:Lorg/apache/cassandra/service/BatchlogResponseHandler;
getfield org.apache.cassandra.service.BatchlogResponseHandler.naturalEndpoints:Ljava/util/Collection;
aload 3
getfield org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper.handler:Lorg/apache/cassandra/service/BatchlogResponseHandler;
getfield org.apache.cassandra.service.BatchlogResponseHandler.pendingEndpoints:Ljava/util/Collection;
invokestatic com.google.common.collect.Iterables.concat:(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;
astore 5
start local 5 3: aload 3
getfield org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper.mutation:Lorg/apache/cassandra/db/Mutation;
aload 5
aload 3
getfield org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper.handler:Lorg/apache/cassandra/service/BatchlogResponseHandler;
aload 1
aload 2
invokestatic org.apache.cassandra.service.StorageProxy.sendToHintedEndpoints:(Lorg/apache/cassandra/db/Mutation;Ljava/lang/Iterable;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;Ljava/lang/String;Lorg/apache/cassandra/concurrent/Stage;)V
4: goto 7
5: StackMap locals: java.util.List java.lang.String org.apache.cassandra.concurrent.Stage org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper java.util.Iterator java.lang.Iterable
StackMap stack: org.apache.cassandra.exceptions.RequestExecutionException
pop
6: aload 3
getfield org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper.handler:Lorg/apache/cassandra/service/BatchlogResponseHandler;
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
getstatic org.apache.cassandra.exceptions.RequestFailureReason.UNKNOWN:Lorg/apache/cassandra/exceptions/RequestFailureReason;
invokevirtual org.apache.cassandra.service.BatchlogResponseHandler.onFailure:(Ljava/net/InetAddress;Lorg/apache/cassandra/exceptions/RequestFailureReason;)V
end local 5 end local 3 7: StackMap locals: java.util.List java.lang.String org.apache.cassandra.concurrent.Stage top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 wrappers Ljava/util/List<Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;>;
0 9 1 localDataCenter Ljava/lang/String;
0 9 2 stage Lorg/apache/cassandra/concurrent/Stage;
2 7 3 wrapper Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;
3 7 5 endpoints Ljava/lang/Iterable<Ljava/net/InetAddress;>;
Exception table:
from to target type
3 4 5 Class org.apache.cassandra.exceptions.OverloadedException
3 4 5 Class org.apache.cassandra.exceptions.WriteTimeoutException
Signature: (Ljava/util/List<Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;>;Ljava/lang/String;Lorg/apache/cassandra/concurrent/Stage;)V
MethodParameters:
Name Flags
wrappers
localDataCenter
stage
private static void syncWriteBatchedMutations(java.util.List<org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper>, java.lang.String, org.apache.cassandra.concurrent.Stage);
descriptor: (Ljava/util/List;Ljava/lang/String;Lorg/apache/cassandra/concurrent/Stage;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: java.util.List java.lang.String org.apache.cassandra.concurrent.Stage top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper
astore 3
start local 3 2: aload 3
getfield org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper.handler:Lorg/apache/cassandra/service/BatchlogResponseHandler;
getfield org.apache.cassandra.service.BatchlogResponseHandler.naturalEndpoints:Ljava/util/Collection;
aload 3
getfield org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper.handler:Lorg/apache/cassandra/service/BatchlogResponseHandler;
getfield org.apache.cassandra.service.BatchlogResponseHandler.pendingEndpoints:Ljava/util/Collection;
invokestatic com.google.common.collect.Iterables.concat:(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;
astore 5
start local 5 3: aload 3
getfield org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper.mutation:Lorg/apache/cassandra/db/Mutation;
aload 5
aload 3
getfield org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper.handler:Lorg/apache/cassandra/service/BatchlogResponseHandler;
aload 1
aload 2
invokestatic org.apache.cassandra.service.StorageProxy.sendToHintedEndpoints:(Lorg/apache/cassandra/db/Mutation;Ljava/lang/Iterable;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;Ljava/lang/String;Lorg/apache/cassandra/concurrent/Stage;)V
end local 5 end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals:
StackMap stack:
6: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper
astore 3
start local 3 7: aload 3
getfield org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper.handler:Lorg/apache/cassandra/service/BatchlogResponseHandler;
invokevirtual org.apache.cassandra.service.BatchlogResponseHandler.get:()V
end local 3 8: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 wrappers Ljava/util/List<Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;>;
0 10 1 localDataCenter Ljava/lang/String;
0 10 2 stage Lorg/apache/cassandra/concurrent/Stage;
2 4 3 wrapper Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;
3 4 5 endpoints Ljava/lang/Iterable<Ljava/net/InetAddress;>;
7 8 3 wrapper Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;
Exceptions:
throws org.apache.cassandra.exceptions.WriteTimeoutException, org.apache.cassandra.exceptions.OverloadedException
Signature: (Ljava/util/List<Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;>;Ljava/lang/String;Lorg/apache/cassandra/concurrent/Stage;)V
MethodParameters:
Name Flags
wrappers
localDataCenter
stage
public static org.apache.cassandra.service.AbstractWriteResponseHandler<org.apache.cassandra.db.IMutation> performWrite(org.apache.cassandra.db.IMutation, org.apache.cassandra.db.ConsistencyLevel, java.lang.String, org.apache.cassandra.service.StorageProxy$WritePerformer, java.lang.Runnable, org.apache.cassandra.db.WriteType, long);
descriptor: (Lorg/apache/cassandra/db/IMutation;Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/lang/String;Lorg/apache/cassandra/service/StorageProxy$WritePerformer;Ljava/lang/Runnable;Lorg/apache/cassandra/db/WriteType;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=14, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokeinterface org.apache.cassandra.db.IMutation.getKeyspaceName:()Ljava/lang/String;
astore 8
start local 8 1: aload 8
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 2: aload 0
invokeinterface org.apache.cassandra.db.IMutation.key:()Lorg/apache/cassandra/db/DecoratedKey;
invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
astore 10
start local 10 3: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
aload 8
aload 10
invokevirtual org.apache.cassandra.service.StorageService.getNaturalEndpoints:(Ljava/lang/String;Lorg/apache/cassandra/dht/RingPosition;)Ljava/util/List;
astore 11
start local 11 4: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.getTokenMetadata:()Lorg/apache/cassandra/locator/TokenMetadata;
aload 10
aload 8
invokevirtual org.apache.cassandra.locator.TokenMetadata.pendingEndpointsFor:(Lorg/apache/cassandra/dht/Token;Ljava/lang/String;)Ljava/util/Collection;
astore 12
start local 12 5: aload 9
aload 11
aload 12
aload 1
aload 4
aload 5
lload 6
invokevirtual org.apache.cassandra.locator.AbstractReplicationStrategy.getWriteResponseHandler:(Ljava/util/Collection;Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/lang/Runnable;Lorg/apache/cassandra/db/WriteType;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
astore 13
start local 13 6: aload 13
invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.assureSufficientLiveNodes:()V
7: aload 3
aload 0
aload 11
aload 12
invokestatic com.google.common.collect.Iterables.concat:(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;
aload 13
aload 2
aload 1
invokeinterface org.apache.cassandra.service.StorageProxy$WritePerformer.apply:(Lorg/apache/cassandra/db/IMutation;Ljava/lang/Iterable;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;Ljava/lang/String;Lorg/apache/cassandra/db/ConsistencyLevel;)V
8: aload 13
areturn
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 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 9 0 mutation Lorg/apache/cassandra/db/IMutation;
0 9 1 consistency_level Lorg/apache/cassandra/db/ConsistencyLevel;
0 9 2 localDataCenter Ljava/lang/String;
0 9 3 performer Lorg/apache/cassandra/service/StorageProxy$WritePerformer;
0 9 4 callback Ljava/lang/Runnable;
0 9 5 writeType Lorg/apache/cassandra/db/WriteType;
0 9 6 queryStartNanoTime J
1 9 8 keyspaceName Ljava/lang/String;
2 9 9 rs Lorg/apache/cassandra/locator/AbstractReplicationStrategy;
3 9 10 tk Lorg/apache/cassandra/dht/Token;
4 9 11 naturalEndpoints Ljava/util/List<Ljava/net/InetAddress;>;
5 9 12 pendingEndpoints Ljava/util/Collection<Ljava/net/InetAddress;>;
6 9 13 responseHandler Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.OverloadedException
Signature: (Lorg/apache/cassandra/db/IMutation;Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/lang/String;Lorg/apache/cassandra/service/StorageProxy$WritePerformer;Ljava/lang/Runnable;Lorg/apache/cassandra/db/WriteType;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
MethodParameters:
Name Flags
mutation
consistency_level
localDataCenter
performer
callback
writeType
queryStartNanoTime
private static org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper wrapBatchResponseHandler(org.apache.cassandra.db.Mutation, org.apache.cassandra.db.ConsistencyLevel, org.apache.cassandra.db.ConsistencyLevel, org.apache.cassandra.db.WriteType, org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup, long);
descriptor: (Lorg/apache/cassandra/db/Mutation;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/WriteType;Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;J)Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=15, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual org.apache.cassandra.db.Mutation.getKeyspaceName:()Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
astore 7
start local 7 1: aload 7
invokevirtual org.apache.cassandra.db.Keyspace.getReplicationStrategy:()Lorg/apache/cassandra/locator/AbstractReplicationStrategy;
astore 8
start local 8 2: aload 0
invokevirtual org.apache.cassandra.db.Mutation.getKeyspaceName:()Ljava/lang/String;
astore 9
start local 9 3: aload 0
invokevirtual org.apache.cassandra.db.Mutation.key:()Lorg/apache/cassandra/db/DecoratedKey;
invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
astore 10
start local 10 4: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
aload 9
aload 10
invokevirtual org.apache.cassandra.service.StorageService.getNaturalEndpoints:(Ljava/lang/String;Lorg/apache/cassandra/dht/RingPosition;)Ljava/util/List;
astore 11
start local 11 5: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.getTokenMetadata:()Lorg/apache/cassandra/locator/TokenMetadata;
aload 10
aload 9
invokevirtual org.apache.cassandra.locator.TokenMetadata.pendingEndpointsFor:(Lorg/apache/cassandra/dht/Token;Ljava/lang/String;)Ljava/util/Collection;
astore 12
start local 12 6: aload 8
aload 11
aload 12
aload 1
aconst_null
aload 3
lload 5
invokevirtual org.apache.cassandra.locator.AbstractReplicationStrategy.getWriteResponseHandler:(Ljava/util/Collection;Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/lang/Runnable;Lorg/apache/cassandra/db/WriteType;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
astore 13
start local 13 7: new org.apache.cassandra.service.BatchlogResponseHandler
dup
aload 13
aload 2
aload 7
invokevirtual org.apache.cassandra.db.ConsistencyLevel.blockFor:(Lorg/apache/cassandra/db/Keyspace;)I
aload 4
lload 5
invokespecial org.apache.cassandra.service.BatchlogResponseHandler.<init>:(Lorg/apache/cassandra/service/AbstractWriteResponseHandler;ILorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;J)V
astore 14
start local 14 8: new org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper
dup
aload 14
aload 0
invokespecial org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper.<init>:(Lorg/apache/cassandra/service/BatchlogResponseHandler;Lorg/apache/cassandra/db/Mutation;)V
areturn
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 mutation Lorg/apache/cassandra/db/Mutation;
0 9 1 consistency_level Lorg/apache/cassandra/db/ConsistencyLevel;
0 9 2 batchConsistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
0 9 3 writeType Lorg/apache/cassandra/db/WriteType;
0 9 4 cleanup Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;
0 9 5 queryStartNanoTime J
1 9 7 keyspace Lorg/apache/cassandra/db/Keyspace;
2 9 8 rs Lorg/apache/cassandra/locator/AbstractReplicationStrategy;
3 9 9 keyspaceName Ljava/lang/String;
4 9 10 tk Lorg/apache/cassandra/dht/Token;
5 9 11 naturalEndpoints Ljava/util/List<Ljava/net/InetAddress;>;
6 9 12 pendingEndpoints Ljava/util/Collection<Ljava/net/InetAddress;>;
7 9 13 writeHandler Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
8 9 14 batchHandler Lorg/apache/cassandra/service/BatchlogResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
MethodParameters:
Name Flags
mutation
consistency_level
batchConsistencyLevel
writeType
cleanup
queryStartNanoTime
private static org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper wrapViewBatchResponseHandler(org.apache.cassandra.db.Mutation, org.apache.cassandra.db.ConsistencyLevel, org.apache.cassandra.db.ConsistencyLevel, java.util.List<java.net.InetAddress>, java.util.concurrent.atomic.AtomicLong, org.apache.cassandra.db.WriteType, org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup, long);
descriptor: (Lorg/apache/cassandra/db/Mutation;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/util/List;Ljava/util/concurrent/atomic/AtomicLong;Lorg/apache/cassandra/db/WriteType;Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;J)Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=16, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokevirtual org.apache.cassandra.db.Mutation.getKeyspaceName:()Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
astore 9
start local 9 1: aload 9
invokevirtual org.apache.cassandra.db.Keyspace.getReplicationStrategy:()Lorg/apache/cassandra/locator/AbstractReplicationStrategy;
astore 10
start local 10 2: aload 0
invokevirtual org.apache.cassandra.db.Mutation.getKeyspaceName:()Ljava/lang/String;
astore 11
start local 11 3: aload 0
invokevirtual org.apache.cassandra.db.Mutation.key:()Lorg/apache/cassandra/db/DecoratedKey;
invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
astore 12
start local 12 4: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.getTokenMetadata:()Lorg/apache/cassandra/locator/TokenMetadata;
aload 12
aload 11
invokevirtual org.apache.cassandra.locator.TokenMetadata.pendingEndpointsFor:(Lorg/apache/cassandra/dht/Token;Ljava/lang/String;)Ljava/util/Collection;
astore 13
start local 13 5: aload 10
aload 3
aload 13
aload 1
aload 4
invokedynamic run(Ljava/util/concurrent/atomic/AtomicLong;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
org/apache/cassandra/service/StorageProxy.lambda$4(Ljava/util/concurrent/atomic/AtomicLong;)V (6)
()V
6: aload 5
lload 7
7: invokevirtual org.apache.cassandra.locator.AbstractReplicationStrategy.getWriteResponseHandler:(Ljava/util/Collection;Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/lang/Runnable;Lorg/apache/cassandra/db/WriteType;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
astore 14
start local 14 8: new org.apache.cassandra.service.StorageProxy$ViewWriteMetricsWrapped
dup
aload 14
aload 2
aload 9
invokevirtual org.apache.cassandra.db.ConsistencyLevel.blockFor:(Lorg/apache/cassandra/db/Keyspace;)I
aload 6
lload 7
invokespecial org.apache.cassandra.service.StorageProxy$ViewWriteMetricsWrapped.<init>:(Lorg/apache/cassandra/service/AbstractWriteResponseHandler;ILorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;J)V
astore 15
start local 15 9: new org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper
dup
aload 15
aload 0
invokespecial org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper.<init>:(Lorg/apache/cassandra/service/BatchlogResponseHandler;Lorg/apache/cassandra/db/Mutation;)V
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 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 10 0 mutation Lorg/apache/cassandra/db/Mutation;
0 10 1 consistency_level Lorg/apache/cassandra/db/ConsistencyLevel;
0 10 2 batchConsistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
0 10 3 naturalEndpoints Ljava/util/List<Ljava/net/InetAddress;>;
0 10 4 baseComplete Ljava/util/concurrent/atomic/AtomicLong;
0 10 5 writeType Lorg/apache/cassandra/db/WriteType;
0 10 6 cleanup Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;
0 10 7 queryStartNanoTime J
1 10 9 keyspace Lorg/apache/cassandra/db/Keyspace;
2 10 10 rs Lorg/apache/cassandra/locator/AbstractReplicationStrategy;
3 10 11 keyspaceName Ljava/lang/String;
4 10 12 tk Lorg/apache/cassandra/dht/Token;
5 10 13 pendingEndpoints Ljava/util/Collection<Ljava/net/InetAddress;>;
8 10 14 writeHandler Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
9 10 15 batchHandler Lorg/apache/cassandra/service/BatchlogResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
Signature: (Lorg/apache/cassandra/db/Mutation;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/util/List<Ljava/net/InetAddress;>;Ljava/util/concurrent/atomic/AtomicLong;Lorg/apache/cassandra/db/WriteType;Lorg/apache/cassandra/service/BatchlogResponseHandler$BatchlogCleanup;J)Lorg/apache/cassandra/service/StorageProxy$WriteResponseHandlerWrapper;
MethodParameters:
Name Flags
mutation
consistency_level
batchConsistencyLevel
naturalEndpoints
baseComplete
writeType
cleanup
queryStartNanoTime
private static org.apache.cassandra.service.StorageProxy$BatchlogEndpoints getBatchlogEndpoints(java.lang.String, org.apache.cassandra.db.ConsistencyLevel);
descriptor: (Ljava/lang/String;Lorg/apache/cassandra/db/ConsistencyLevel;)Lorg/apache/cassandra/service/StorageProxy$BatchlogEndpoints;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.getTokenMetadata:()Lorg/apache/cassandra/locator/TokenMetadata;
invokevirtual org.apache.cassandra.locator.TokenMetadata.cachedOnlyTokenMap:()Lorg/apache/cassandra/locator/TokenMetadata;
invokevirtual org.apache.cassandra.locator.TokenMetadata.getTopology:()Lorg/apache/cassandra/locator/TokenMetadata$Topology;
astore 2
start local 2 1: aload 2
invokevirtual org.apache.cassandra.locator.TokenMetadata$Topology.getDatacenterRacks:()Lcom/google/common/collect/ImmutableMap;
aload 0
invokevirtual com.google.common.collect.ImmutableMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.google.common.collect.Multimap
invokestatic com.google.common.collect.HashMultimap.create:(Lcom/google/common/collect/Multimap;)Lcom/google/common/collect/HashMultimap;
astore 3
start local 3 2: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getEndpointSnitch:()Lorg/apache/cassandra/locator/IEndpointSnitch;
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
invokeinterface org.apache.cassandra.locator.IEndpointSnitch.getRack:(Ljava/net/InetAddress;)Ljava/lang/String;
astore 4
start local 4 3: new org.apache.cassandra.batchlog.BatchlogManager$EndpointFilter
dup
aload 4
aload 3
invokespecial org.apache.cassandra.batchlog.BatchlogManager$EndpointFilter.<init>:(Ljava/lang/String;Lcom/google/common/collect/Multimap;)V
invokevirtual org.apache.cassandra.batchlog.BatchlogManager$EndpointFilter.filter:()Ljava/util/Collection;
astore 5
start local 5 4: aload 5
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 8
5: aload 1
getstatic org.apache.cassandra.db.ConsistencyLevel.ANY:Lorg/apache/cassandra/db/ConsistencyLevel;
if_acmpne 7
6: new org.apache.cassandra.service.StorageProxy$BatchlogEndpoints
dup
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
invokespecial org.apache.cassandra.service.StorageProxy$BatchlogEndpoints.<init>:(Ljava/util/Collection;)V
areturn
7: StackMap locals: java.lang.String org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.locator.TokenMetadata$Topology com.google.common.collect.Multimap java.lang.String java.util.Collection
StackMap stack:
new org.apache.cassandra.exceptions.UnavailableException
dup
getstatic org.apache.cassandra.db.ConsistencyLevel.ONE:Lorg/apache/cassandra/db/ConsistencyLevel;
iconst_1
iconst_0
invokespecial org.apache.cassandra.exceptions.UnavailableException.<init>:(Lorg/apache/cassandra/db/ConsistencyLevel;II)V
athrow
8: StackMap locals:
StackMap stack:
new org.apache.cassandra.service.StorageProxy$BatchlogEndpoints
dup
aload 5
invokespecial org.apache.cassandra.service.StorageProxy$BatchlogEndpoints.<init>:(Ljava/util/Collection;)V
areturn
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 localDataCenter Ljava/lang/String;
0 9 1 consistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
1 9 2 topology Lorg/apache/cassandra/locator/TokenMetadata$Topology;
2 9 3 localEndpoints Lcom/google/common/collect/Multimap<Ljava/lang/String;Ljava/net/InetAddress;>;
3 9 4 localRack Ljava/lang/String;
4 9 5 chosenEndpoints Ljava/util/Collection<Ljava/net/InetAddress;>;
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException
MethodParameters:
Name Flags
localDataCenter
consistencyLevel
public static void sendToHintedEndpoints(org.apache.cassandra.db.Mutation, java.lang.Iterable<java.net.InetAddress>, org.apache.cassandra.service.AbstractWriteResponseHandler<org.apache.cassandra.db.IMutation>, java.lang.String, org.apache.cassandra.concurrent.Stage);
descriptor: (Lorg/apache/cassandra/db/Mutation;Ljava/lang/Iterable;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;Ljava/lang/String;Lorg/apache/cassandra/concurrent/Stage;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=16, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokestatic com.google.common.collect.Iterables.size:(Ljava/lang/Iterable;)I
istore 5
start local 5 1: aconst_null
astore 6
start local 6 2: aconst_null
astore 7
start local 7 3: aconst_null
astore 8
start local 8 4: iconst_0
istore 9
start local 9 5: aconst_null
astore 10
start local 10 6: aconst_null
astore 11
start local 11 7: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 13
goto 39
StackMap locals: org.apache.cassandra.db.Mutation java.lang.Iterable org.apache.cassandra.service.AbstractWriteResponseHandler java.lang.String org.apache.cassandra.concurrent.Stage int java.util.Collection java.util.Map org.apache.cassandra.net.MessageOut int java.util.ArrayList java.util.List top java.util.Iterator
StackMap stack:
8: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 12
start local 12 9: aload 12
invokestatic org.apache.cassandra.service.StorageProxy.checkHintOverload:(Ljava/net/InetAddress;)V
10: getstatic org.apache.cassandra.gms.FailureDetector.instance:Lorg/apache/cassandra/gms/IFailureDetector;
aload 12
invokeinterface org.apache.cassandra.gms.IFailureDetector.isAlive:(Ljava/net/InetAddress;)Z
ifeq 35
11: aload 12
invokestatic org.apache.cassandra.service.StorageProxy.canDoLocalRequest:(Ljava/net/InetAddress;)Z
ifeq 14
12: iconst_1
istore 9
13: goto 39
14: StackMap locals: org.apache.cassandra.db.Mutation java.lang.Iterable org.apache.cassandra.service.AbstractWriteResponseHandler java.lang.String org.apache.cassandra.concurrent.Stage int java.util.Collection java.util.Map org.apache.cassandra.net.MessageOut int java.util.ArrayList java.util.List java.net.InetAddress java.util.Iterator
StackMap stack:
aload 8
ifnonnull 16
15: aload 0
invokevirtual org.apache.cassandra.db.Mutation.createMessage:()Lorg/apache/cassandra/net/MessageOut;
astore 8
16: StackMap locals:
StackMap stack:
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getEndpointSnitch:()Lorg/apache/cassandra/locator/IEndpointSnitch;
aload 12
invokeinterface org.apache.cassandra.locator.IEndpointSnitch.getDatacenter:(Ljava/net/InetAddress;)Ljava/lang/String;
astore 14
start local 14 17: aload 3
aload 14
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
18: aload 6
ifnonnull 20
19: new java.util.ArrayList
dup
iload 5
invokespecial java.util.ArrayList.<init>:(I)V
astore 6
20: StackMap locals: java.lang.String
StackMap stack:
aload 6
aload 12
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
21: goto 31
22: StackMap locals:
StackMap stack:
aload 7
ifnull 23
aload 7
aload 14
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Collection
goto 24
StackMap locals:
StackMap stack:
23: aconst_null
StackMap locals:
StackMap stack: java.util.Collection
24: astore 15
start local 15 25: aload 15
ifnonnull 30
26: new java.util.ArrayList
dup
iconst_3
invokespecial java.util.ArrayList.<init>:(I)V
astore 15
27: aload 7
ifnonnull 29
28: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 7
29: StackMap locals: java.util.Collection
StackMap stack:
aload 7
aload 14
aload 15
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
30: StackMap locals:
StackMap stack:
aload 15
aload 12
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 15 31: StackMap locals:
StackMap stack:
aload 11
ifnonnull 33
32: new java.util.ArrayList
dup
iload 5
invokespecial java.util.ArrayList.<init>:(I)V
astore 11
33: StackMap locals:
StackMap stack:
aload 11
aload 12
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 14 34: goto 39
35: StackMap locals:
StackMap stack:
aload 12
invokestatic org.apache.cassandra.service.StorageProxy.shouldHint:(Ljava/net/InetAddress;)Z
ifeq 39
36: aload 10
ifnonnull 38
37: new java.util.ArrayList
dup
iload 5
invokespecial java.util.ArrayList.<init>:(I)V
astore 10
38: StackMap locals:
StackMap stack:
aload 10
aload 12
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 12 39: StackMap locals: org.apache.cassandra.db.Mutation java.lang.Iterable org.apache.cassandra.service.AbstractWriteResponseHandler java.lang.String org.apache.cassandra.concurrent.Stage int java.util.Collection java.util.Map org.apache.cassandra.net.MessageOut int java.util.ArrayList java.util.List top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
40: aload 11
ifnull 42
41: invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 11
aload 2
invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.currentTimeout:()J
invokevirtual org.apache.cassandra.net.MessagingService.applyBackPressure:(Ljava/lang/Iterable;J)V
42: StackMap locals: org.apache.cassandra.db.Mutation java.lang.Iterable org.apache.cassandra.service.AbstractWriteResponseHandler java.lang.String org.apache.cassandra.concurrent.Stage int java.util.Collection java.util.Map org.apache.cassandra.net.MessageOut int java.util.ArrayList java.util.List
StackMap stack:
aload 10
ifnull 44
43: aload 0
aload 10
aload 2
invokestatic org.apache.cassandra.service.StorageProxy.submitHint:(Lorg/apache/cassandra/db/Mutation;Ljava/util/Collection;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;)Ljava/util/concurrent/Future;
pop
44: StackMap locals:
StackMap stack:
iload 9
ifeq 46
45: aload 4
aload 0
invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
aload 0
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic run(Lorg/apache/cassandra/db/Mutation;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
org/apache/cassandra/db/Mutation.apply()V (5)
()V
aload 2
invokestatic org.apache.cassandra.service.StorageProxy.performLocally:(Lorg/apache/cassandra/concurrent/Stage;Ljava/util/Optional;Ljava/lang/Runnable;Lorg/apache/cassandra/net/IAsyncCallbackWithFailure;)V
46: StackMap locals:
StackMap stack:
aload 6
ifnull 51
47: aload 6
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 14
goto 50
StackMap locals: org.apache.cassandra.db.Mutation java.lang.Iterable org.apache.cassandra.service.AbstractWriteResponseHandler java.lang.String org.apache.cassandra.concurrent.Stage int java.util.Collection java.util.Map org.apache.cassandra.net.MessageOut int java.util.ArrayList java.util.List top top java.util.Iterator
StackMap stack:
48: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 13
start local 13 49: invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 8
aload 13
aload 2
iconst_1
invokevirtual org.apache.cassandra.net.MessagingService.sendRR:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;Z)I
pop
end local 13 50: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 48
51: StackMap locals: org.apache.cassandra.db.Mutation java.lang.Iterable org.apache.cassandra.service.AbstractWriteResponseHandler java.lang.String org.apache.cassandra.concurrent.Stage int java.util.Collection java.util.Map org.apache.cassandra.net.MessageOut int java.util.ArrayList java.util.List
StackMap stack:
aload 7
ifnull 56
52: aload 7
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 14
goto 55
StackMap locals: org.apache.cassandra.db.Mutation java.lang.Iterable org.apache.cassandra.service.AbstractWriteResponseHandler java.lang.String org.apache.cassandra.concurrent.Stage int java.util.Collection java.util.Map org.apache.cassandra.net.MessageOut int java.util.ArrayList java.util.List top top java.util.Iterator
StackMap stack:
53: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Collection
astore 13
start local 13 54: aload 8
aload 13
aload 2
invokestatic org.apache.cassandra.service.StorageProxy.sendMessagesToNonlocalDC:(Lorg/apache/cassandra/net/MessageOut;Ljava/util/Collection;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;)V
end local 13 55: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 53
56: StackMap locals: org.apache.cassandra.db.Mutation java.lang.Iterable org.apache.cassandra.service.AbstractWriteResponseHandler java.lang.String org.apache.cassandra.concurrent.Stage int java.util.Collection java.util.Map org.apache.cassandra.net.MessageOut int java.util.ArrayList java.util.List
StackMap stack:
return
end local 11 end local 10 end local 9 end local 8 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 57 0 mutation Lorg/apache/cassandra/db/Mutation;
0 57 1 targets Ljava/lang/Iterable<Ljava/net/InetAddress;>;
0 57 2 responseHandler Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
0 57 3 localDataCenter Ljava/lang/String;
0 57 4 stage Lorg/apache/cassandra/concurrent/Stage;
1 57 5 targetsSize I
2 57 6 localDc Ljava/util/Collection<Ljava/net/InetAddress;>;
3 57 7 dcGroups Ljava/util/Map<Ljava/lang/String;Ljava/util/Collection<Ljava/net/InetAddress;>;>;
4 57 8 message Lorg/apache/cassandra/net/MessageOut<Lorg/apache/cassandra/db/Mutation;>;
5 57 9 insertLocal Z
6 57 10 endpointsToHint Ljava/util/ArrayList<Ljava/net/InetAddress;>;
7 57 11 backPressureHosts Ljava/util/List<Ljava/net/InetAddress;>;
9 39 12 destination Ljava/net/InetAddress;
17 34 14 dc Ljava/lang/String;
25 31 15 messages Ljava/util/Collection<Ljava/net/InetAddress;>;
49 50 13 destination Ljava/net/InetAddress;
54 55 13 dcTargets Ljava/util/Collection<Ljava/net/InetAddress;>;
Exceptions:
throws org.apache.cassandra.exceptions.OverloadedException
Signature: (Lorg/apache/cassandra/db/Mutation;Ljava/lang/Iterable<Ljava/net/InetAddress;>;Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;Ljava/lang/String;Lorg/apache/cassandra/concurrent/Stage;)V
MethodParameters:
Name Flags
mutation final
targets
responseHandler
localDataCenter
stage
private static void checkHintOverload(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.metrics.StorageMetrics.totalHintsInProgress:Lcom/codahale/metrics/Counter;
invokevirtual com.codahale.metrics.Counter.getCount:()J
getstatic org.apache.cassandra.service.StorageProxy.maxHintsInProgress:I
i2l
lcmp
ifle 6
1: aload 0
invokestatic org.apache.cassandra.service.StorageProxy.getHintsInProgressFor:(Ljava/net/InetAddress;)Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
ifle 6
aload 0
invokestatic org.apache.cassandra.service.StorageProxy.shouldHint:(Ljava/net/InetAddress;)Z
ifeq 6
2: new org.apache.cassandra.exceptions.OverloadedException
dup
new java.lang.StringBuilder
dup
ldc "Too many in flight hints: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.apache.cassandra.metrics.StorageMetrics.totalHintsInProgress:Lcom/codahale/metrics/Counter;
invokevirtual com.codahale.metrics.Counter.getCount:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
3: ldc " destination: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: ldc " destination hints: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokestatic org.apache.cassandra.service.StorageProxy.getHintsInProgressFor:(Ljava/net/InetAddress;)Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial org.apache.cassandra.exceptions.OverloadedException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 destination Ljava/net/InetAddress;
MethodParameters:
Name Flags
destination
private static void sendMessagesToNonlocalDC(org.apache.cassandra.net.MessageOut<? extends org.apache.cassandra.db.IMutation>, java.util.Collection<java.net.InetAddress>, org.apache.cassandra.service.AbstractWriteResponseHandler<org.apache.cassandra.db.IMutation>);
descriptor: (Lorg/apache/cassandra/net/MessageOut;Ljava/util/Collection;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
start local 3 1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 4
start local 4 2: aconst_null
astore 5
aconst_null
astore 6
3: new org.apache.cassandra.io.util.DataOutputBuffer
dup
invokespecial org.apache.cassandra.io.util.DataOutputBuffer.<init>:()V
astore 7
start local 7 4: aload 7
aload 1
invokeinterface java.util.Collection.size:()I
iconst_1
isub
invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.writeInt:(I)V
5: goto 17
6: StackMap locals: org.apache.cassandra.net.MessageOut java.util.Collection org.apache.cassandra.service.AbstractWriteResponseHandler java.util.Iterator java.net.InetAddress java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.util.DataOutputBuffer
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 8
start local 8 7: aload 8
aload 7
invokestatic org.apache.cassandra.net.CompactEndpointSerializationHelper.serialize:(Ljava/net/InetAddress;Ljava/io/DataOutput;)V
8: invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 2
9: aload 0
10: aload 8
11: aload 0
invokevirtual org.apache.cassandra.net.MessageOut.getTimeout:()J
12: aload 2
getfield org.apache.cassandra.service.AbstractWriteResponseHandler.consistencyLevel:Lorg/apache/cassandra/db/ConsistencyLevel;
13: iconst_1
14: invokevirtual org.apache.cassandra.net.MessagingService.addCallback:(Lorg/apache/cassandra/net/IAsyncCallback;Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;JLorg/apache/cassandra/db/ConsistencyLevel;Z)I
istore 9
start local 9 15: aload 7
iload 9
invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.writeInt:(I)V
16: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
ldc "Adding FWD message to {}@{}"
iload 9
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 8
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 9 end local 8 17: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
18: aload 0
ldc "FWD_TO"
aload 7
invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.getData:()[B
invokevirtual org.apache.cassandra.net.MessageOut.withParameter:(Ljava/lang/String;[B)Lorg/apache/cassandra/net/MessageOut;
astore 0
19: invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 0
aload 4
aload 2
iconst_1
invokevirtual org.apache.cassandra.net.MessagingService.sendRR:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;Z)I
istore 8
start local 8 20: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
ldc "Sending message to {}@{}"
iload 8
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 8 21: aload 7
ifnull 29
aload 7
invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.close:()V
goto 29
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 5
aload 7
ifnull 23
aload 7
invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.close:()V
end local 7 StackMap locals:
StackMap stack:
23: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 6
aload 5
ifnonnull 25
aload 6
astore 5
goto 26
StackMap locals:
StackMap stack:
25: aload 5
aload 6
if_acmpeq 26
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
26: aload 5
athrow
27: StackMap locals: org.apache.cassandra.net.MessageOut java.util.Collection org.apache.cassandra.service.AbstractWriteResponseHandler java.util.Iterator java.net.InetAddress
StackMap stack: java.io.IOException
astore 5
start local 5 28: new java.lang.AssertionError
dup
aload 5
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 5 29: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 message Lorg/apache/cassandra/net/MessageOut<+Lorg/apache/cassandra/db/IMutation;>;
0 30 1 targets Ljava/util/Collection<Ljava/net/InetAddress;>;
0 30 2 handler Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
1 30 3 iter Ljava/util/Iterator<Ljava/net/InetAddress;>;
2 30 4 target Ljava/net/InetAddress;
4 23 7 out Lorg/apache/cassandra/io/util/DataOutputBuffer;
7 17 8 destination Ljava/net/InetAddress;
15 17 9 id I
20 21 8 id I
28 29 5 e Ljava/io/IOException;
Exception table:
from to target type
4 21 22 any
3 24 24 any
2 27 27 Class java.io.IOException
Signature: (Lorg/apache/cassandra/net/MessageOut<+Lorg/apache/cassandra/db/IMutation;>;Ljava/util/Collection<Ljava/net/InetAddress;>;Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;)V
MethodParameters:
Name Flags
message
targets
handler
private static void performLocally(org.apache.cassandra.concurrent.Stage, java.lang.Runnable);
descriptor: (Lorg/apache/cassandra/concurrent/Stage;Ljava/lang/Runnable;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.apache.cassandra.concurrent.StageManager.getStage:(Lorg/apache/cassandra/concurrent/Stage;)Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
new org.apache.cassandra.service.StorageProxy$7
dup
aload 1
invokespecial org.apache.cassandra.service.StorageProxy$7.<init>:(Ljava/lang/Runnable;)V
invokeinterface org.apache.cassandra.concurrent.LocalAwareExecutorService.maybeExecuteImmediately:(Ljava/lang/Runnable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 stage Lorg/apache/cassandra/concurrent/Stage;
0 2 1 runnable Ljava/lang/Runnable;
MethodParameters:
Name Flags
stage
runnable final
private static void performLocally(org.apache.cassandra.concurrent.Stage, java.util.Optional<org.apache.cassandra.db.IMutation>, java.lang.Runnable, org.apache.cassandra.net.IAsyncCallbackWithFailure<?>);
descriptor: (Lorg/apache/cassandra/concurrent/Stage;Ljava/util/Optional;Ljava/lang/Runnable;Lorg/apache/cassandra/net/IAsyncCallbackWithFailure;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokestatic org.apache.cassandra.concurrent.StageManager.getStage:(Lorg/apache/cassandra/concurrent/Stage;)Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
new org.apache.cassandra.service.StorageProxy$8
dup
aload 1
aload 2
aload 3
invokespecial org.apache.cassandra.service.StorageProxy$8.<init>:(Ljava/util/Optional;Ljava/lang/Runnable;Lorg/apache/cassandra/net/IAsyncCallbackWithFailure;)V
invokeinterface org.apache.cassandra.concurrent.LocalAwareExecutorService.maybeExecuteImmediately:(Ljava/lang/Runnable;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 stage Lorg/apache/cassandra/concurrent/Stage;
0 2 1 mutation Ljava/util/Optional<Lorg/apache/cassandra/db/IMutation;>;
0 2 2 runnable Ljava/lang/Runnable;
0 2 3 handler Lorg/apache/cassandra/net/IAsyncCallbackWithFailure<*>;
Signature: (Lorg/apache/cassandra/concurrent/Stage;Ljava/util/Optional<Lorg/apache/cassandra/db/IMutation;>;Ljava/lang/Runnable;Lorg/apache/cassandra/net/IAsyncCallbackWithFailure<*>;)V
MethodParameters:
Name Flags
stage
mutation
runnable final
handler final
public static org.apache.cassandra.service.AbstractWriteResponseHandler<org.apache.cassandra.db.IMutation> mutateCounter(org.apache.cassandra.db.CounterMutation, java.lang.String, long);
descriptor: (Lorg/apache/cassandra/db/CounterMutation;Ljava/lang/String;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.apache.cassandra.db.CounterMutation.getKeyspaceName:()Ljava/lang/String;
aload 0
invokevirtual org.apache.cassandra.db.CounterMutation.key:()Lorg/apache/cassandra/db/DecoratedKey;
aload 1
aload 0
invokevirtual org.apache.cassandra.db.CounterMutation.consistency:()Lorg/apache/cassandra/db/ConsistencyLevel;
invokestatic org.apache.cassandra.service.StorageProxy.findSuitableEndpoint:(Ljava/lang/String;Lorg/apache/cassandra/db/DecoratedKey;Ljava/lang/String;Lorg/apache/cassandra/db/ConsistencyLevel;)Ljava/net/InetAddress;
astore 4
start local 4 1: aload 4
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
ifeq 3
2: aload 0
aload 1
lload 2
invokestatic org.apache.cassandra.service.StorageProxy.applyCounterMutationOnCoordinator:(Lorg/apache/cassandra/db/CounterMutation;Ljava/lang/String;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
areturn
3: StackMap locals: java.net.InetAddress
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.db.CounterMutation.getKeyspaceName:()Ljava/lang/String;
astore 5
start local 5 4: aload 5
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 6
start local 6 5: aload 0
invokevirtual org.apache.cassandra.db.CounterMutation.key:()Lorg/apache/cassandra/db/DecoratedKey;
invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
astore 7
start local 7 6: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
aload 5
aload 7
invokevirtual org.apache.cassandra.service.StorageService.getNaturalEndpoints:(Ljava/lang/String;Lorg/apache/cassandra/dht/RingPosition;)Ljava/util/List;
astore 8
start local 8 7: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.getTokenMetadata:()Lorg/apache/cassandra/locator/TokenMetadata;
aload 7
aload 5
invokevirtual org.apache.cassandra.locator.TokenMetadata.pendingEndpointsFor:(Lorg/apache/cassandra/dht/Token;Ljava/lang/String;)Ljava/util/Collection;
astore 9
start local 9 8: aload 6
aload 8
aload 9
aload 0
invokevirtual org.apache.cassandra.db.CounterMutation.consistency:()Lorg/apache/cassandra/db/ConsistencyLevel;
aconst_null
getstatic org.apache.cassandra.db.WriteType.COUNTER:Lorg/apache/cassandra/db/WriteType;
lload 2
invokevirtual org.apache.cassandra.locator.AbstractReplicationStrategy.getWriteResponseHandler:(Ljava/util/Collection;Ljava/util/Collection;Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/lang/Runnable;Lorg/apache/cassandra/db/WriteType;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
invokevirtual org.apache.cassandra.service.AbstractWriteResponseHandler.assureSufficientLiveNodes:()V
9: new org.apache.cassandra.service.WriteResponseHandler
dup
aload 4
getstatic org.apache.cassandra.db.WriteType.COUNTER:Lorg/apache/cassandra/db/WriteType;
lload 2
invokespecial org.apache.cassandra.service.WriteResponseHandler.<init>:(Ljava/net/InetAddress;Lorg/apache/cassandra/db/WriteType;J)V
astore 10
start local 10 10: ldc "Enqueuing counter update to {}"
aload 4
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;)V
11: invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 0
invokevirtual org.apache.cassandra.db.CounterMutation.makeMutationMessage:()Lorg/apache/cassandra/net/MessageOut;
aload 4
aload 10
iconst_0
invokevirtual org.apache.cassandra.net.MessagingService.sendRR:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;Z)I
pop
12: aload 10
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 cm Lorg/apache/cassandra/db/CounterMutation;
0 13 1 localDataCenter Ljava/lang/String;
0 13 2 queryStartNanoTime J
1 13 4 endpoint Ljava/net/InetAddress;
4 13 5 keyspaceName Ljava/lang/String;
5 13 6 rs Lorg/apache/cassandra/locator/AbstractReplicationStrategy;
6 13 7 tk Lorg/apache/cassandra/dht/Token;
7 13 8 naturalEndpoints Ljava/util/List<Ljava/net/InetAddress;>;
8 13 9 pendingEndpoints Ljava/util/Collection<Ljava/net/InetAddress;>;
10 13 10 responseHandler Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.OverloadedException
Signature: (Lorg/apache/cassandra/db/CounterMutation;Ljava/lang/String;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
MethodParameters:
Name Flags
cm
localDataCenter
queryStartNanoTime
private static java.net.InetAddress findSuitableEndpoint(java.lang.String, org.apache.cassandra.db.DecoratedKey, java.lang.String, org.apache.cassandra.db.ConsistencyLevel);
descriptor: (Ljava/lang/String;Lorg/apache/cassandra/db/DecoratedKey;Ljava/lang/String;Lorg/apache/cassandra/db/ConsistencyLevel;)Ljava/net/InetAddress;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
astore 4
start local 4 1: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getEndpointSnitch:()Lorg/apache/cassandra/locator/IEndpointSnitch;
astore 5
start local 5 2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 3: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
aload 4
aload 1
aload 6
invokevirtual org.apache.cassandra.service.StorageService.getLiveNaturalEndpoints:(Lorg/apache/cassandra/db/Keyspace;Lorg/apache/cassandra/dht/RingPosition;Ljava/util/List;)V
4: aload 6
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/apache/cassandra/service/StorageProxy.lambda$6(Ljava/net/InetAddress;)Z (6)
(Ljava/net/InetAddress;)Z
invokeinterface java.util.List.removeIf:(Ljava/util/function/Predicate;)Z
pop
5: aload 6
invokeinterface java.util.List.isEmpty:()Z
ifeq 7
6: new org.apache.cassandra.exceptions.UnavailableException
dup
aload 3
aload 3
aload 4
invokevirtual org.apache.cassandra.db.ConsistencyLevel.blockFor:(Lorg/apache/cassandra/db/Keyspace;)I
iconst_0
invokespecial org.apache.cassandra.exceptions.UnavailableException.<init>:(Lorg/apache/cassandra/db/ConsistencyLevel;II)V
athrow
7: StackMap locals: org.apache.cassandra.db.Keyspace org.apache.cassandra.locator.IEndpointSnitch java.util.List
StackMap stack:
new java.util.ArrayList
dup
aload 6
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 7
start local 7 8: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 12
StackMap locals: java.lang.String org.apache.cassandra.db.DecoratedKey java.lang.String org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.db.Keyspace org.apache.cassandra.locator.IEndpointSnitch java.util.List java.util.List top java.util.Iterator
StackMap stack:
9: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 8
start local 8 10: aload 5
aload 8
invokeinterface org.apache.cassandra.locator.IEndpointSnitch.getDatacenter:(Ljava/net/InetAddress;)Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
11: aload 7
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 12: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
13: aload 7
invokeinterface java.util.List.isEmpty:()Z
ifeq 18
14: aload 3
invokevirtual org.apache.cassandra.db.ConsistencyLevel.isDatacenterLocal:()Z
ifeq 16
15: new org.apache.cassandra.exceptions.UnavailableException
dup
aload 3
aload 3
aload 4
invokevirtual org.apache.cassandra.db.ConsistencyLevel.blockFor:(Lorg/apache/cassandra/db/Keyspace;)I
iconst_0
invokespecial org.apache.cassandra.exceptions.UnavailableException.<init>:(Lorg/apache/cassandra/db/ConsistencyLevel;II)V
athrow
16: StackMap locals: java.lang.String org.apache.cassandra.db.DecoratedKey java.lang.String org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.db.Keyspace org.apache.cassandra.locator.IEndpointSnitch java.util.List java.util.List
StackMap stack:
aload 5
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
aload 6
invokeinterface org.apache.cassandra.locator.IEndpointSnitch.sortByProximity:(Ljava/net/InetAddress;Ljava/util/List;)V
17: aload 6
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.net.InetAddress
areturn
18: StackMap locals:
StackMap stack:
aload 7
invokestatic java.util.concurrent.ThreadLocalRandom.current:()Ljava/util/concurrent/ThreadLocalRandom;
aload 7
invokeinterface java.util.List.size:()I
invokevirtual java.util.concurrent.ThreadLocalRandom.nextInt:(I)I
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.net.InetAddress
areturn
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 19 0 keyspaceName Ljava/lang/String;
0 19 1 key Lorg/apache/cassandra/db/DecoratedKey;
0 19 2 localDataCenter Ljava/lang/String;
0 19 3 cl Lorg/apache/cassandra/db/ConsistencyLevel;
1 19 4 keyspace Lorg/apache/cassandra/db/Keyspace;
2 19 5 snitch Lorg/apache/cassandra/locator/IEndpointSnitch;
3 19 6 endpoints Ljava/util/List<Ljava/net/InetAddress;>;
8 19 7 localEndpoints Ljava/util/List<Ljava/net/InetAddress;>;
10 12 8 endpoint Ljava/net/InetAddress;
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException
MethodParameters:
Name Flags
keyspaceName
key
localDataCenter
cl
public static org.apache.cassandra.service.AbstractWriteResponseHandler<org.apache.cassandra.db.IMutation> applyCounterMutationOnLeader(org.apache.cassandra.db.CounterMutation, java.lang.String, java.lang.Runnable, long);
descriptor: (Lorg/apache/cassandra/db/CounterMutation;Ljava/lang/String;Ljava/lang/Runnable;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
invokevirtual org.apache.cassandra.db.CounterMutation.consistency:()Lorg/apache/cassandra/db/ConsistencyLevel;
aload 1
getstatic org.apache.cassandra.service.StorageProxy.counterWritePerformer:Lorg/apache/cassandra/service/StorageProxy$WritePerformer;
aload 2
getstatic org.apache.cassandra.db.WriteType.COUNTER:Lorg/apache/cassandra/db/WriteType;
lload 3
invokestatic org.apache.cassandra.service.StorageProxy.performWrite:(Lorg/apache/cassandra/db/IMutation;Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/lang/String;Lorg/apache/cassandra/service/StorageProxy$WritePerformer;Ljava/lang/Runnable;Lorg/apache/cassandra/db/WriteType;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cm Lorg/apache/cassandra/db/CounterMutation;
0 1 1 localDataCenter Ljava/lang/String;
0 1 2 callback Ljava/lang/Runnable;
0 1 3 queryStartNanoTime J
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.OverloadedException
Signature: (Lorg/apache/cassandra/db/CounterMutation;Ljava/lang/String;Ljava/lang/Runnable;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
MethodParameters:
Name Flags
cm
localDataCenter
callback
queryStartNanoTime
public static org.apache.cassandra.service.AbstractWriteResponseHandler<org.apache.cassandra.db.IMutation> applyCounterMutationOnCoordinator(org.apache.cassandra.db.CounterMutation, java.lang.String, long);
descriptor: (Lorg/apache/cassandra/db/CounterMutation;Ljava/lang/String;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 0
invokevirtual org.apache.cassandra.db.CounterMutation.consistency:()Lorg/apache/cassandra/db/ConsistencyLevel;
aload 1
getstatic org.apache.cassandra.service.StorageProxy.counterWriteOnCoordinatorPerformer:Lorg/apache/cassandra/service/StorageProxy$WritePerformer;
aconst_null
getstatic org.apache.cassandra.db.WriteType.COUNTER:Lorg/apache/cassandra/db/WriteType;
lload 2
invokestatic org.apache.cassandra.service.StorageProxy.performWrite:(Lorg/apache/cassandra/db/IMutation;Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/lang/String;Lorg/apache/cassandra/service/StorageProxy$WritePerformer;Ljava/lang/Runnable;Lorg/apache/cassandra/db/WriteType;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cm Lorg/apache/cassandra/db/CounterMutation;
0 1 1 localDataCenter Ljava/lang/String;
0 1 2 queryStartNanoTime J
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.OverloadedException
Signature: (Lorg/apache/cassandra/db/CounterMutation;Ljava/lang/String;J)Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
MethodParameters:
Name Flags
cm
localDataCenter
queryStartNanoTime
private static java.lang.Runnable counterWriteTask(org.apache.cassandra.db.IMutation, java.lang.Iterable<java.net.InetAddress>, org.apache.cassandra.service.AbstractWriteResponseHandler<org.apache.cassandra.db.IMutation>, java.lang.String);
descriptor: (Lorg/apache/cassandra/db/IMutation;Ljava/lang/Iterable;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;Ljava/lang/String;)Ljava/lang/Runnable;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.apache.cassandra.service.StorageProxy$9
dup
getstatic org.apache.cassandra.net.MessagingService$Verb.COUNTER_MUTATION:Lorg/apache/cassandra/net/MessagingService$Verb;
aload 0
aload 2
aload 1
aload 3
invokespecial org.apache.cassandra.service.StorageProxy$9.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;Lorg/apache/cassandra/db/IMutation;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;Ljava/lang/Iterable;Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 mutation Lorg/apache/cassandra/db/IMutation;
0 1 1 targets Ljava/lang/Iterable<Ljava/net/InetAddress;>;
0 1 2 responseHandler Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
0 1 3 localDataCenter Ljava/lang/String;
Signature: (Lorg/apache/cassandra/db/IMutation;Ljava/lang/Iterable<Ljava/net/InetAddress;>;Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;Ljava/lang/String;)Ljava/lang/Runnable;
MethodParameters:
Name Flags
mutation final
targets final
responseHandler final
localDataCenter final
private static boolean systemKeyspaceQuery(java.util.List<? extends org.apache.cassandra.db.ReadCommand>);
descriptor: (Ljava/util/List;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: java.util.List top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.ReadCommand
astore 1
start local 1 2: aload 1
invokevirtual org.apache.cassandra.db.ReadCommand.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.config.SchemaConstants.isLocalSystemKeyspace:(Ljava/lang/String;)Z
ifne 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 cmds Ljava/util/List<+Lorg/apache/cassandra/db/ReadCommand;>;
2 4 1 cmd Lorg/apache/cassandra/db/ReadCommand;
Signature: (Ljava/util/List<+Lorg/apache/cassandra/db/ReadCommand;>;)Z
MethodParameters:
Name Flags
cmds
public static org.apache.cassandra.db.rows.RowIterator readOne(org.apache.cassandra.db.SinglePartitionReadCommand, org.apache.cassandra.db.ConsistencyLevel, long);
descriptor: (Lorg/apache/cassandra/db/SinglePartitionReadCommand;Lorg/apache/cassandra/db/ConsistencyLevel;J)Lorg/apache/cassandra/db/rows/RowIterator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aconst_null
lload 2
invokestatic org.apache.cassandra.service.StorageProxy.readOne:(Lorg/apache/cassandra/db/SinglePartitionReadCommand;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/service/ClientState;J)Lorg/apache/cassandra/db/rows/RowIterator;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 command Lorg/apache/cassandra/db/SinglePartitionReadCommand;
0 1 1 consistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
0 1 2 queryStartNanoTime J
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.IsBootstrappingException, org.apache.cassandra.exceptions.ReadFailureException, org.apache.cassandra.exceptions.ReadTimeoutException, org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
command
consistencyLevel
queryStartNanoTime
public static org.apache.cassandra.db.rows.RowIterator readOne(org.apache.cassandra.db.SinglePartitionReadCommand, org.apache.cassandra.db.ConsistencyLevel, org.apache.cassandra.service.ClientState, long);
descriptor: (Lorg/apache/cassandra/db/SinglePartitionReadCommand;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/service/ClientState;J)Lorg/apache/cassandra/db/rows/RowIterator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokestatic org.apache.cassandra.db.SinglePartitionReadCommand$Group.one:(Lorg/apache/cassandra/db/SinglePartitionReadCommand;)Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;
aload 1
aload 2
lload 3
invokestatic org.apache.cassandra.service.StorageProxy.read:(Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/service/ClientState;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
aload 0
invokestatic org.apache.cassandra.db.partitions.PartitionIterators.getOnlyElement:(Lorg/apache/cassandra/db/partitions/PartitionIterator;Lorg/apache/cassandra/db/SinglePartitionReadCommand;)Lorg/apache/cassandra/db/rows/RowIterator;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 command Lorg/apache/cassandra/db/SinglePartitionReadCommand;
0 1 1 consistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
0 1 2 state Lorg/apache/cassandra/service/ClientState;
0 1 3 queryStartNanoTime J
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.IsBootstrappingException, org.apache.cassandra.exceptions.ReadFailureException, org.apache.cassandra.exceptions.ReadTimeoutException, org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
command
consistencyLevel
state
queryStartNanoTime
public static org.apache.cassandra.db.partitions.PartitionIterator read(org.apache.cassandra.db.SinglePartitionReadCommand$Group, org.apache.cassandra.db.ConsistencyLevel, long);
descriptor: (Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;Lorg/apache/cassandra/db/ConsistencyLevel;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.cassandra.service.StorageProxy.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual org.apache.cassandra.db.ConsistencyLevel.isSerialConsistency:()Z
ifeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
aconst_null
lload 2
invokestatic org.apache.cassandra.service.StorageProxy.read:(Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/service/ClientState;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 group Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;
0 2 1 consistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
0 2 2 queryStartNanoTime J
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.IsBootstrappingException, org.apache.cassandra.exceptions.ReadFailureException, org.apache.cassandra.exceptions.ReadTimeoutException, org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
group
consistencyLevel
queryStartNanoTime
public static org.apache.cassandra.db.partitions.PartitionIterator read(org.apache.cassandra.db.SinglePartitionReadCommand$Group, org.apache.cassandra.db.ConsistencyLevel, org.apache.cassandra.service.ClientState, long);
descriptor: (Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/service/ClientState;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.isBootstrapMode:()Z
ifeq 4
aload 0
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
invokestatic org.apache.cassandra.service.StorageProxy.systemKeyspaceQuery:(Ljava/util/List;)Z
ifne 4
1: getstatic org.apache.cassandra.service.StorageProxy.readMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
2: getstatic org.apache.cassandra.service.StorageProxy.readMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
3: new org.apache.cassandra.exceptions.IsBootstrappingException
dup
invokespecial org.apache.cassandra.exceptions.IsBootstrappingException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.apache.cassandra.db.ConsistencyLevel.isSerialConsistency:()Z
ifeq 6
5: aload 0
aload 1
aload 2
lload 3
invokestatic org.apache.cassandra.service.StorageProxy.readWithPaxos:(Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/service/ClientState;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
goto 7
6: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 3
invokestatic org.apache.cassandra.service.StorageProxy.readRegular:(Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;Lorg/apache/cassandra/db/ConsistencyLevel;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
7: StackMap locals:
StackMap stack: org.apache.cassandra.db.partitions.PartitionIterator
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 group Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;
0 8 1 consistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
0 8 2 state Lorg/apache/cassandra/service/ClientState;
0 8 3 queryStartNanoTime J
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.IsBootstrappingException, org.apache.cassandra.exceptions.ReadFailureException, org.apache.cassandra.exceptions.ReadTimeoutException, org.apache.cassandra.exceptions.InvalidRequestException
MethodParameters:
Name Flags
group
consistencyLevel
state
queryStartNanoTime
private static org.apache.cassandra.db.partitions.PartitionIterator readWithPaxos(org.apache.cassandra.db.SinglePartitionReadCommand$Group, org.apache.cassandra.db.ConsistencyLevel, org.apache.cassandra.service.ClientState, long);
descriptor: (Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/service/ClientState;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=19, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.apache.cassandra.service.StorageProxy.$assertionsDisabled:Z
ifne 1
aload 2
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 3
2: new org.apache.cassandra.exceptions.InvalidRequestException
dup
ldc "SERIAL/LOCAL_SERIAL consistency may only be requested for one partition at a time"
invokespecial org.apache.cassandra.exceptions.InvalidRequestException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lstore 5
start local 5 4: aload 0
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.db.SinglePartitionReadCommand
astore 7
start local 7 5: aload 7
invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand.metadata:()Lorg/apache/cassandra/config/CFMetaData;
astore 8
start local 8 6: aload 7
invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
astore 9
start local 9 7: aconst_null
astore 10
start local 10 8: aload 8
aload 9
aload 1
invokestatic org.apache.cassandra.service.StorageProxy.getPaxosParticipants:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/ConsistencyLevel;)Lorg/apache/cassandra/utils/Pair;
astore 11
start local 11 9: aload 11
getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
checkcast java.util.List
astore 12
start local 12 10: aload 11
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 13
start local 13 11: aload 1
getstatic org.apache.cassandra.db.ConsistencyLevel.LOCAL_SERIAL:Lorg/apache/cassandra/db/ConsistencyLevel;
if_acmpne 13
12: getstatic org.apache.cassandra.db.ConsistencyLevel.LOCAL_QUORUM:Lorg/apache/cassandra/db/ConsistencyLevel;
goto 14
13: StackMap locals: org.apache.cassandra.db.SinglePartitionReadCommand$Group org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.service.ClientState long long org.apache.cassandra.db.SinglePartitionReadCommand org.apache.cassandra.config.CFMetaData org.apache.cassandra.db.DecoratedKey org.apache.cassandra.db.partitions.PartitionIterator org.apache.cassandra.utils.Pair java.util.List int
StackMap stack:
getstatic org.apache.cassandra.db.ConsistencyLevel.QUORUM:Lorg/apache/cassandra/db/ConsistencyLevel;
14: StackMap locals:
StackMap stack: org.apache.cassandra.db.ConsistencyLevel
astore 14
start local 14 15: lload 5
aload 9
aload 8
aload 12
iload 13
aload 1
aload 14
iconst_0
aload 2
invokestatic org.apache.cassandra.service.StorageProxy.beginAndRepairPaxos:(JLorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/config/CFMetaData;Ljava/util/List;ILorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/ConsistencyLevel;ZLorg/apache/cassandra/service/ClientState;)Lorg/apache/cassandra/utils/Pair;
astore 15
start local 15 16: aload 15
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ifle 23
17: getstatic org.apache.cassandra.service.StorageProxy.casReadMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
getfield org.apache.cassandra.metrics.CASClientRequestMetrics.contention:Lcom/codahale/metrics/Histogram;
aload 15
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokevirtual com.codahale.metrics.Histogram.update:(I)V
end local 15 18: goto 23
19: StackMap locals: org.apache.cassandra.db.SinglePartitionReadCommand$Group org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.service.ClientState long long org.apache.cassandra.db.SinglePartitionReadCommand org.apache.cassandra.config.CFMetaData org.apache.cassandra.db.DecoratedKey org.apache.cassandra.db.partitions.PartitionIterator org.apache.cassandra.utils.Pair java.util.List int org.apache.cassandra.db.ConsistencyLevel
StackMap stack: org.apache.cassandra.exceptions.WriteTimeoutException
pop
20: new org.apache.cassandra.exceptions.ReadTimeoutException
dup
aload 1
iconst_0
aload 1
aload 8
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.blockFor:(Lorg/apache/cassandra/db/Keyspace;)I
iconst_0
invokespecial org.apache.cassandra.exceptions.ReadTimeoutException.<init>:(Lorg/apache/cassandra/db/ConsistencyLevel;IIZ)V
athrow
21: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.WriteFailureException
astore 15
start local 15 22: new org.apache.cassandra.exceptions.ReadFailureException
dup
aload 1
aload 15
getfield org.apache.cassandra.exceptions.WriteFailureException.received:I
aload 15
getfield org.apache.cassandra.exceptions.WriteFailureException.blockFor:I
iconst_0
aload 15
getfield org.apache.cassandra.exceptions.WriteFailureException.failureReasonByEndpoint:Ljava/util/Map;
invokespecial org.apache.cassandra.exceptions.ReadFailureException.<init>:(Lorg/apache/cassandra/db/ConsistencyLevel;IIZLjava/util/Map;)V
athrow
end local 15 23: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
aload 14
lload 3
invokestatic org.apache.cassandra.service.StorageProxy.fetchRows:(Ljava/util/List;Lorg/apache/cassandra/db/ConsistencyLevel;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
astore 10
end local 14 end local 13 end local 12 end local 11 24: goto 47
25: StackMap locals: org.apache.cassandra.db.SinglePartitionReadCommand$Group org.apache.cassandra.db.ConsistencyLevel org.apache.cassandra.service.ClientState long long org.apache.cassandra.db.SinglePartitionReadCommand org.apache.cassandra.config.CFMetaData org.apache.cassandra.db.DecoratedKey org.apache.cassandra.db.partitions.PartitionIterator
StackMap stack: org.apache.cassandra.exceptions.UnavailableException
astore 11
start local 11 26: getstatic org.apache.cassandra.service.StorageProxy.readMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
27: getstatic org.apache.cassandra.service.StorageProxy.casReadMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
getfield org.apache.cassandra.metrics.CASClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
28: getstatic org.apache.cassandra.service.StorageProxy.readMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
29: aload 11
athrow
end local 11 30: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.ReadTimeoutException
astore 11
start local 11 31: getstatic org.apache.cassandra.service.StorageProxy.readMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.timeouts:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
32: getstatic org.apache.cassandra.service.StorageProxy.casReadMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
getfield org.apache.cassandra.metrics.CASClientRequestMetrics.timeouts:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
33: getstatic org.apache.cassandra.service.StorageProxy.readMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.timeouts:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
34: aload 11
athrow
end local 11 35: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.ReadFailureException
astore 11
start local 11 36: getstatic org.apache.cassandra.service.StorageProxy.readMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.failures:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
37: getstatic org.apache.cassandra.service.StorageProxy.casReadMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
getfield org.apache.cassandra.metrics.CASClientRequestMetrics.failures:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
38: getstatic org.apache.cassandra.service.StorageProxy.readMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.failures:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
39: aload 11
athrow
end local 11 40: StackMap locals:
StackMap stack: java.lang.Throwable
astore 16
41: invokestatic java.lang.System.nanoTime:()J
lload 5
lsub
lstore 17
start local 17 42: getstatic org.apache.cassandra.service.StorageProxy.readMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
lload 17
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
43: getstatic org.apache.cassandra.service.StorageProxy.casReadMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
lload 17
invokevirtual org.apache.cassandra.metrics.CASClientRequestMetrics.addNano:(J)V
44: getstatic org.apache.cassandra.service.StorageProxy.readMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
lload 17
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
45: aload 8
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
aload 8
getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/lang/String;)Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
getfield org.apache.cassandra.metrics.TableMetrics.coordinatorReadLatency:Lcom/codahale/metrics/Timer;
lload 17
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.codahale.metrics.Timer.update:(JLjava/util/concurrent/TimeUnit;)V
end local 17 46: aload 16
athrow
47: StackMap locals:
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
lload 5
lsub
lstore 17
start local 17 48: getstatic org.apache.cassandra.service.StorageProxy.readMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
lload 17
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
49: getstatic org.apache.cassandra.service.StorageProxy.casReadMetrics:Lorg/apache/cassandra/metrics/CASClientRequestMetrics;
lload 17
invokevirtual org.apache.cassandra.metrics.CASClientRequestMetrics.addNano:(J)V
50: getstatic org.apache.cassandra.service.StorageProxy.readMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
lload 17
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
51: aload 8
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
aload 8
getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/lang/String;)Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
getfield org.apache.cassandra.metrics.TableMetrics.coordinatorReadLatency:Lcom/codahale/metrics/Timer;
lload 17
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.codahale.metrics.Timer.update:(JLjava/util/concurrent/TimeUnit;)V
end local 17 52: aload 10
areturn
end local 10 end local 9 end local 8 end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 group Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;
0 53 1 consistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
0 53 2 state Lorg/apache/cassandra/service/ClientState;
0 53 3 queryStartNanoTime J
4 53 5 start J
5 53 7 command Lorg/apache/cassandra/db/SinglePartitionReadCommand;
6 53 8 metadata Lorg/apache/cassandra/config/CFMetaData;
7 53 9 key Lorg/apache/cassandra/db/DecoratedKey;
8 53 10 result Lorg/apache/cassandra/db/partitions/PartitionIterator;
9 24 11 p Lorg/apache/cassandra/utils/Pair<Ljava/util/List<Ljava/net/InetAddress;>;Ljava/lang/Integer;>;
10 24 12 liveEndpoints Ljava/util/List<Ljava/net/InetAddress;>;
11 24 13 requiredParticipants I
15 24 14 consistencyForCommitOrFetch Lorg/apache/cassandra/db/ConsistencyLevel;
16 18 15 pair Lorg/apache/cassandra/utils/Pair<Ljava/util/UUID;Ljava/lang/Integer;>;
22 23 15 e Lorg/apache/cassandra/exceptions/WriteFailureException;
26 30 11 e Lorg/apache/cassandra/exceptions/UnavailableException;
31 35 11 e Lorg/apache/cassandra/exceptions/ReadTimeoutException;
36 40 11 e Lorg/apache/cassandra/exceptions/ReadFailureException;
42 46 17 latency J
48 52 17 latency J
Exception table:
from to target type
15 18 19 Class org.apache.cassandra.exceptions.WriteTimeoutException
15 18 21 Class org.apache.cassandra.exceptions.WriteFailureException
8 24 25 Class org.apache.cassandra.exceptions.UnavailableException
8 24 30 Class org.apache.cassandra.exceptions.ReadTimeoutException
8 24 35 Class org.apache.cassandra.exceptions.ReadFailureException
8 40 40 any
Exceptions:
throws org.apache.cassandra.exceptions.InvalidRequestException, org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.ReadFailureException, org.apache.cassandra.exceptions.ReadTimeoutException
MethodParameters:
Name Flags
group
consistencyLevel
state
queryStartNanoTime
private static org.apache.cassandra.db.partitions.PartitionIterator readRegular(org.apache.cassandra.db.SinglePartitionReadCommand$Group, org.apache.cassandra.db.ConsistencyLevel, long);
descriptor: (Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;Lorg/apache/cassandra/db/ConsistencyLevel;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=14, args_size=3
start local 0 start local 1 start local 2 0: invokestatic java.lang.System.nanoTime:()J
lstore 4
start local 4 1: aload 0
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
aload 1
lload 2
invokestatic org.apache.cassandra.service.StorageProxy.fetchRows:(Ljava/util/List;Lorg/apache/cassandra/db/ConsistencyLevel;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
astore 6
start local 6 2: aload 0
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.db.SinglePartitionReadCommand
invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand.metadata:()Lorg/apache/cassandra/config/CFMetaData;
invokevirtual org.apache.cassandra.config.CFMetaData.enforceStrictLiveness:()Z
istore 7
start local 7 3: aload 0
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 5
4: aload 0
invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand$Group.limits:()Lorg/apache/cassandra/db/filter/DataLimits;
aload 6
aload 0
invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand$Group.nowInSec:()I
aload 0
invokevirtual org.apache.cassandra.db.SinglePartitionReadCommand$Group.selectsFullPartition:()Z
iload 7
invokevirtual org.apache.cassandra.db.filter.DataLimits.filter:(Lorg/apache/cassandra/db/partitions/PartitionIterator;IZZ)Lorg/apache/cassandra/db/partitions/PartitionIterator;
astore 6
5: StackMap locals: long org.apache.cassandra.db.partitions.PartitionIterator int
StackMap stack:
aload 6
astore 9
6: invokestatic java.lang.System.nanoTime:()J
lload 4
lsub
lstore 10
start local 10 7: getstatic org.apache.cassandra.service.StorageProxy.readMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
lload 10
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
8: getstatic org.apache.cassandra.service.StorageProxy.readMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
lload 10
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
9: aload 0
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 12
StackMap locals: org.apache.cassandra.db.SinglePartitionReadCommand$Group org.apache.cassandra.db.ConsistencyLevel long long org.apache.cassandra.db.partitions.PartitionIterator int top org.apache.cassandra.db.partitions.PartitionIterator long top java.util.Iterator
StackMap stack:
10: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.ReadCommand
astore 12
start local 12 11: aload 12
invokevirtual org.apache.cassandra.db.ReadCommand.metadata:()Lorg/apache/cassandra/config/CFMetaData;
invokestatic org.apache.cassandra.db.Keyspace.openAndGetStore:(Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
getfield org.apache.cassandra.metrics.TableMetrics.coordinatorReadLatency:Lcom/codahale/metrics/Timer;
lload 10
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.codahale.metrics.Timer.update:(JLjava/util/concurrent/TimeUnit;)V
end local 12 12: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
end local 10 13: aload 9
areturn
end local 7 end local 6 14: StackMap locals: org.apache.cassandra.db.SinglePartitionReadCommand$Group org.apache.cassandra.db.ConsistencyLevel long long
StackMap stack: org.apache.cassandra.exceptions.UnavailableException
astore 6
start local 6 15: getstatic org.apache.cassandra.service.StorageProxy.readMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
16: getstatic org.apache.cassandra.service.StorageProxy.readMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
17: aload 6
athrow
end local 6 18: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.ReadTimeoutException
astore 6
start local 6 19: getstatic org.apache.cassandra.service.StorageProxy.readMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.timeouts:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
20: getstatic org.apache.cassandra.service.StorageProxy.readMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.timeouts:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
21: aload 6
athrow
end local 6 22: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.ReadFailureException
astore 6
start local 6 23: getstatic org.apache.cassandra.service.StorageProxy.readMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.failures:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
24: getstatic org.apache.cassandra.service.StorageProxy.readMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
getfield org.apache.cassandra.metrics.ClientRequestMetrics.failures:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
25: aload 6
athrow
end local 6 26: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
27: invokestatic java.lang.System.nanoTime:()J
lload 4
lsub
lstore 10
start local 10 28: getstatic org.apache.cassandra.service.StorageProxy.readMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
lload 10
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
29: getstatic org.apache.cassandra.service.StorageProxy.readMetricsMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.metrics.ClientRequestMetrics
lload 10
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
30: aload 0
getfield org.apache.cassandra.db.SinglePartitionReadCommand$Group.commands:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 33
StackMap locals: org.apache.cassandra.db.SinglePartitionReadCommand$Group org.apache.cassandra.db.ConsistencyLevel long long top top java.lang.Throwable top long top java.util.Iterator
StackMap stack:
31: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.ReadCommand
astore 12
start local 12 32: aload 12
invokevirtual org.apache.cassandra.db.ReadCommand.metadata:()Lorg/apache/cassandra/config/CFMetaData;
invokestatic org.apache.cassandra.db.Keyspace.openAndGetStore:(Lorg/apache/cassandra/config/CFMetaData;)Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
getfield org.apache.cassandra.metrics.TableMetrics.coordinatorReadLatency:Lcom/codahale/metrics/Timer;
lload 10
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.codahale.metrics.Timer.update:(JLjava/util/concurrent/TimeUnit;)V
end local 12 33: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
end local 10 34: aload 8
athrow
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 group Lorg/apache/cassandra/db/SinglePartitionReadCommand$Group;
0 35 1 consistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
0 35 2 queryStartNanoTime J
1 35 4 start J
2 14 6 result Lorg/apache/cassandra/db/partitions/PartitionIterator;
3 14 7 enforceStrictLiveness Z
15 18 6 e Lorg/apache/cassandra/exceptions/UnavailableException;
19 22 6 e Lorg/apache/cassandra/exceptions/ReadTimeoutException;
23 26 6 e Lorg/apache/cassandra/exceptions/ReadFailureException;
7 13 10 latency J
28 34 10 latency J
11 12 12 command Lorg/apache/cassandra/db/ReadCommand;
32 33 12 command Lorg/apache/cassandra/db/ReadCommand;
Exception table:
from to target type
1 6 14 Class org.apache.cassandra.exceptions.UnavailableException
1 6 18 Class org.apache.cassandra.exceptions.ReadTimeoutException
1 6 22 Class org.apache.cassandra.exceptions.ReadFailureException
1 6 26 any
14 26 26 any
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.ReadFailureException, org.apache.cassandra.exceptions.ReadTimeoutException
MethodParameters:
Name Flags
group
consistencyLevel
queryStartNanoTime
private static org.apache.cassandra.db.partitions.PartitionIterator fetchRows(java.util.List<org.apache.cassandra.db.SinglePartitionReadCommand>, org.apache.cassandra.db.ConsistencyLevel, long);
descriptor: (Ljava/util/List;Lorg/apache/cassandra/db/ConsistencyLevel;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface java.util.List.size:()I
istore 4
start local 4 1: iload 4
anewarray org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle
astore 5
start local 5 2: iconst_0
istore 6
start local 6 3: goto 6
4: StackMap locals: int org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle[] int
StackMap stack:
aload 5
iload 6
new org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle
dup
aload 0
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.db.SinglePartitionReadCommand
aload 1
lload 2
invokespecial org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle.<init>:(Lorg/apache/cassandra/db/SinglePartitionReadCommand;Lorg/apache/cassandra/db/ConsistencyLevel;J)V
aastore
5: iinc 6 1
StackMap locals:
StackMap stack:
6: iload 6
iload 4
if_icmplt 4
end local 6 7: iconst_0
istore 6
start local 6 8: goto 11
9: StackMap locals:
StackMap stack:
aload 5
iload 6
aaload
invokevirtual org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle.doInitialQueries:()V
10: iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
iload 4
if_icmplt 9
end local 6 12: iconst_0
istore 6
start local 6 13: goto 16
14: StackMap locals:
StackMap stack:
aload 5
iload 6
aaload
invokevirtual org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle.maybeTryAdditionalReplicas:()V
15: iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 4
if_icmplt 14
end local 6 17: iconst_0
istore 6
start local 6 18: goto 21
19: StackMap locals:
StackMap stack:
aload 5
iload 6
aaload
invokevirtual org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle.awaitResultsAndRetryOnDigestMismatch:()V
20: iinc 6 1
StackMap locals:
StackMap stack:
21: iload 6
iload 4
if_icmplt 19
end local 6 22: iconst_0
istore 6
start local 6 23: goto 27
24: StackMap locals:
StackMap stack:
aload 5
iload 6
aaload
invokevirtual org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle.isDone:()Z
ifne 26
25: aload 5
iload 6
aaload
invokevirtual org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle.maybeAwaitFullDataRead:()V
26: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
27: iload 6
iload 4
if_icmplt 24
end local 6 28: new java.util.ArrayList
dup
iload 4
invokespecial java.util.ArrayList.<init>:(I)V
astore 6
start local 6 29: iconst_0
istore 7
start local 7 30: goto 34
31: StackMap locals: java.util.List org.apache.cassandra.db.ConsistencyLevel long int org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle[] java.util.List int
StackMap stack:
getstatic org.apache.cassandra.service.StorageProxy.$assertionsDisabled:Z
ifne 32
aload 5
iload 7
aaload
invokevirtual org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle.isDone:()Z
ifne 32
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: StackMap locals:
StackMap stack:
aload 6
aload 5
iload 7
aaload
invokevirtual org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle.getResult:()Lorg/apache/cassandra/db/partitions/PartitionIterator;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
33: iinc 7 1
StackMap locals:
StackMap stack:
34: iload 7
iload 4
if_icmplt 31
end local 7 35: aload 6
invokestatic org.apache.cassandra.db.partitions.PartitionIterators.concat:(Ljava/util/List;)Lorg/apache/cassandra/db/partitions/PartitionIterator;
areturn
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 commands Ljava/util/List<Lorg/apache/cassandra/db/SinglePartitionReadCommand;>;
0 36 1 consistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
0 36 2 queryStartNanoTime J
1 36 4 cmdCount I
2 36 5 reads [Lorg/apache/cassandra/service/StorageProxy$SinglePartitionReadLifecycle;
3 7 6 i I
8 12 6 i I
13 17 6 i I
18 22 6 i I
23 28 6 i I
29 36 6 results Ljava/util/List<Lorg/apache/cassandra/db/partitions/PartitionIterator;>;
30 35 7 i I
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, org.apache.cassandra.exceptions.ReadFailureException, org.apache.cassandra.exceptions.ReadTimeoutException
Signature: (Ljava/util/List<Lorg/apache/cassandra/db/SinglePartitionReadCommand;>;Lorg/apache/cassandra/db/ConsistencyLevel;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
MethodParameters:
Name Flags
commands
consistencyLevel
queryStartNanoTime
public static java.util.List<java.net.InetAddress> getLiveSortedEndpoints(org.apache.cassandra.db.Keyspace, java.nio.ByteBuffer);
descriptor: (Lorg/apache/cassandra/db/Keyspace;Ljava/nio/ByteBuffer;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.getTokenMetadata:()Lorg/apache/cassandra/locator/TokenMetadata;
aload 1
invokevirtual org.apache.cassandra.locator.TokenMetadata.decorateKey:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/DecoratedKey;
invokestatic org.apache.cassandra.service.StorageProxy.getLiveSortedEndpoints:(Lorg/apache/cassandra/db/Keyspace;Lorg/apache/cassandra/dht/RingPosition;)Ljava/util/List;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 keyspace Lorg/apache/cassandra/db/Keyspace;
0 1 1 key Ljava/nio/ByteBuffer;
Signature: (Lorg/apache/cassandra/db/Keyspace;Ljava/nio/ByteBuffer;)Ljava/util/List<Ljava/net/InetAddress;>;
MethodParameters:
Name Flags
keyspace
key
public static java.util.List<java.net.InetAddress> getLiveSortedEndpoints(org.apache.cassandra.db.Keyspace, org.apache.cassandra.dht.RingPosition);
descriptor: (Lorg/apache/cassandra/db/Keyspace;Lorg/apache/cassandra/dht/RingPosition;)Ljava/util/List;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
aload 0
aload 1
invokevirtual org.apache.cassandra.service.StorageService.getLiveNaturalEndpoints:(Lorg/apache/cassandra/db/Keyspace;Lorg/apache/cassandra/dht/RingPosition;)Ljava/util/List;
astore 2
start local 2 1: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getEndpointSnitch:()Lorg/apache/cassandra/locator/IEndpointSnitch;
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
aload 2
invokeinterface org.apache.cassandra.locator.IEndpointSnitch.sortByProximity:(Ljava/net/InetAddress;Ljava/util/List;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 keyspace Lorg/apache/cassandra/db/Keyspace;
0 3 1 pos Lorg/apache/cassandra/dht/RingPosition;
1 3 2 liveEndpoints Ljava/util/List<Ljava/net/InetAddress;>;
Signature: (Lorg/apache/cassandra/db/Keyspace;Lorg/apache/cassandra/dht/RingPosition;)Ljava/util/List<Ljava/net/InetAddress;>;
MethodParameters:
Name Flags
keyspace
pos
private static java.util.List<java.net.InetAddress> intersection(java.util.List<java.net.InetAddress>, java.util.List<java.net.InetAddress>);
descriptor: (Ljava/util/List;Ljava/util/List;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 0
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 2
start local 2 1: aload 2
aload 1
invokeinterface java.util.List.retainAll:(Ljava/util/Collection;)Z
pop
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 l1 Ljava/util/List<Ljava/net/InetAddress;>;
0 3 1 l2 Ljava/util/List<Ljava/net/InetAddress;>;
1 3 2 inter Ljava/util/List<Ljava/net/InetAddress;>;
Signature: (Ljava/util/List<Ljava/net/InetAddress;>;Ljava/util/List<Ljava/net/InetAddress;>;)Ljava/util/List<Ljava/net/InetAddress;>;
MethodParameters:
Name Flags
l1
l2
private static float estimateResultsPerRange(org.apache.cassandra.db.PartitionRangeReadCommand, org.apache.cassandra.db.Keyspace);
descriptor: (Lorg/apache/cassandra/db/PartitionRangeReadCommand;Lorg/apache/cassandra/db/Keyspace;)F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/util/UUID;)Lorg/apache/cassandra/db/ColumnFamilyStore;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.getIndex:(Lorg/apache/cassandra/db/ColumnFamilyStore;)Lorg/apache/cassandra/index/Index;
astore 3
start local 3 2: aload 3
ifnonnull 4
3: aload 0
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.limits:()Lorg/apache/cassandra/db/filter/DataLimits;
aload 2
invokevirtual org.apache.cassandra.db.filter.DataLimits.estimateTotalResults:(Lorg/apache/cassandra/db/ColumnFamilyStore;)F
goto 5
4: StackMap locals: org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.index.Index
StackMap stack:
aload 3
invokeinterface org.apache.cassandra.index.Index.getEstimatedResultRows:()J
l2f
5: StackMap locals:
StackMap stack: float
fstore 4
start local 4 6: fload 4
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getNumTokens:()I
i2f
fdiv
aload 1
invokevirtual org.apache.cassandra.db.Keyspace.getReplicationStrategy:()Lorg/apache/cassandra/locator/AbstractReplicationStrategy;
invokevirtual org.apache.cassandra.locator.AbstractReplicationStrategy.getReplicationFactor:()I
i2f
fdiv
freturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 command Lorg/apache/cassandra/db/PartitionRangeReadCommand;
0 7 1 keyspace Lorg/apache/cassandra/db/Keyspace;
1 7 2 cfs Lorg/apache/cassandra/db/ColumnFamilyStore;
2 7 3 index Lorg/apache/cassandra/index/Index;
6 7 4 maxExpectedResults F
MethodParameters:
Name Flags
command
keyspace
public static org.apache.cassandra.db.partitions.PartitionIterator getRangeSlice(org.apache.cassandra.db.PartitionRangeReadCommand, org.apache.cassandra.db.ConsistencyLevel, long);
descriptor: (Lorg/apache/cassandra/db/PartitionRangeReadCommand;Lorg/apache/cassandra/db/ConsistencyLevel;J)Lorg/apache/cassandra/db/partitions/PartitionIterator;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=8, args_size=3
start local 0 start local 1 start local 2 0: ldc "Computing ranges to query"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
1: aload 0
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
astore 4
start local 4 2: new org.apache.cassandra.service.StorageProxy$RangeIterator
dup
aload 0
aload 4
aload 1
invokespecial org.apache.cassandra.service.StorageProxy$RangeIterator.<init>:(Lorg/apache/cassandra/db/PartitionRangeReadCommand;Lorg/apache/cassandra/db/Keyspace;Lorg/apache/cassandra/db/ConsistencyLevel;)V
astore 5
start local 5 3: aload 0
aload 4
invokestatic org.apache.cassandra.service.StorageProxy.estimateResultsPerRange:(Lorg/apache/cassandra/db/PartitionRangeReadCommand;Lorg/apache/cassandra/db/Keyspace;)F
fstore 6
start local 6 4: fload 6
f2d
fload 6
f2d
ldc 0.1
dmul
dsub
d2f
fstore 6
5: fload 6
f2d
dconst_0
dcmpl
ifne 7
6: iconst_1
goto 8
7: StackMap locals: org.apache.cassandra.db.Keyspace org.apache.cassandra.service.StorageProxy$RangeIterator float
StackMap stack:
iconst_1
aload 5
invokevirtual org.apache.cassandra.service.StorageProxy$RangeIterator.rangeCount:()I
aload 0
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.limits:()Lorg/apache/cassandra/db/filter/DataLimits;
invokevirtual org.apache.cassandra.db.filter.DataLimits.count:()I
i2f
fload 6
fdiv
f2d
invokestatic java.lang.Math.ceil:(D)D
d2i
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.max:(II)I
8: StackMap locals:
StackMap stack: int
istore 7
start local 7 9: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
ldc "Estimated result rows per range: {}; requested rows: {}, ranges.size(): {}; concurrent range requests: {}"
iconst_4
anewarray java.lang.Object
dup
iconst_0
10: fload 6
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
dup
iconst_1
aload 0
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.limits:()Lorg/apache/cassandra/db/filter/DataLimits;
invokevirtual org.apache.cassandra.db.filter.DataLimits.count:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 5
invokevirtual org.apache.cassandra.service.StorageProxy$RangeIterator.rangeCount:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
11: invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
12: ldc "Submitting range requests on {} ranges with a concurrency of {} ({} rows per range expected)"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 5
invokevirtual org.apache.cassandra.service.StorageProxy$RangeIterator.rangeCount:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
fload 6
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
13: aload 0
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.limits:()Lorg/apache/cassandra/db/filter/DataLimits;
aload 0
new org.apache.cassandra.service.StorageProxy$RangeCommandIterator
dup
aload 5
aload 0
iload 7
aload 4
aload 1
lload 2
invokespecial org.apache.cassandra.service.StorageProxy$RangeCommandIterator.<init>:(Lorg/apache/cassandra/service/StorageProxy$RangeIterator;Lorg/apache/cassandra/db/PartitionRangeReadCommand;ILorg/apache/cassandra/db/Keyspace;Lorg/apache/cassandra/db/ConsistencyLevel;J)V
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.postReconciliationProcessing:(Lorg/apache/cassandra/db/partitions/PartitionIterator;)Lorg/apache/cassandra/db/partitions/PartitionIterator;
14: aload 0
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.nowInSec:()I
15: aload 0
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.selectsFullPartition:()Z
16: aload 0
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.metadata:()Lorg/apache/cassandra/config/CFMetaData;
invokevirtual org.apache.cassandra.config.CFMetaData.enforceStrictLiveness:()Z
17: invokevirtual org.apache.cassandra.db.filter.DataLimits.filter:(Lorg/apache/cassandra/db/partitions/PartitionIterator;IZZ)Lorg/apache/cassandra/db/partitions/PartitionIterator;
areturn
end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 command Lorg/apache/cassandra/db/PartitionRangeReadCommand;
0 18 1 consistencyLevel Lorg/apache/cassandra/db/ConsistencyLevel;
0 18 2 queryStartNanoTime J
2 18 4 keyspace Lorg/apache/cassandra/db/Keyspace;
3 18 5 ranges Lorg/apache/cassandra/service/StorageProxy$RangeIterator;
4 18 6 resultsPerRange F
9 18 7 concurrencyFactor I
MethodParameters:
Name Flags
command
consistencyLevel
queryStartNanoTime
public java.util.Map<java.lang.String, java.util.List<java.lang.String>> getSchemaVersions();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic org.apache.cassandra.service.StorageProxy.describeSchemaVersions:()Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
public static java.util.Map<java.lang.String, java.util.List<java.lang.String>> describeSchemaVersions();
descriptor: ()Ljava/util/Map;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=13, args_size=0
0: getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
invokevirtual org.apache.cassandra.config.Schema.getVersion:()Ljava/util/UUID;
invokevirtual java.util.UUID.toString:()Ljava/lang/String;
astore 0
start local 0 1: new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
astore 1
start local 1 2: getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
invokevirtual org.apache.cassandra.gms.Gossiper.getLiveMembers:()Ljava/util/Set;
astore 2
start local 2 3: new java.util.concurrent.CountDownLatch
dup
aload 2
invokeinterface java.util.Set.size:()I
invokespecial java.util.concurrent.CountDownLatch.<init>:(I)V
astore 3
start local 3 4: new org.apache.cassandra.service.StorageProxy$10
dup
aload 1
aload 3
invokespecial org.apache.cassandra.service.StorageProxy$10.<init>:(Ljava/util/Map;Ljava/util/concurrent/CountDownLatch;)V
astore 4
start local 4 5: new org.apache.cassandra.net.MessageOut
dup
getstatic org.apache.cassandra.net.MessagingService$Verb.SCHEMA_CHECK:Lorg/apache/cassandra/net/MessagingService$Verb;
invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;)V
astore 5
start local 5 6: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 9
StackMap locals: java.lang.String java.util.Map java.util.Set java.util.concurrent.CountDownLatch org.apache.cassandra.net.IAsyncCallback org.apache.cassandra.net.MessageOut top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 6
start local 6 8: invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 5
aload 6
aload 4
invokevirtual org.apache.cassandra.net.MessagingService.sendRR:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;Lorg/apache/cassandra/net/IAsyncCallback;)I
pop
end local 6 9: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: aload 3
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getRpcTimeout:()J
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.CountDownLatch.await:(JLjava/util/concurrent/TimeUnit;)Z
pop
11: goto 14
12: StackMap locals: java.lang.String java.util.Map java.util.Set java.util.concurrent.CountDownLatch org.apache.cassandra.net.IAsyncCallback org.apache.cassandra.net.MessageOut
StackMap stack: java.lang.InterruptedException
pop
13: new java.lang.AssertionError
dup
ldc "This latch shouldn't have been interrupted."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
14: StackMap locals:
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 6
start local 6 15: getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
invokevirtual org.apache.cassandra.gms.Gossiper.getLiveMembers:()Ljava/util/Set;
getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
invokevirtual org.apache.cassandra.gms.Gossiper.getUnreachableMembers:()Ljava/util/Set;
invokestatic com.google.common.collect.Iterables.concat:(Ljava/lang/Iterable;Ljava/lang/Iterable;)Ljava/lang/Iterable;
astore 7
start local 7 16: aload 7
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 9
goto 27
StackMap locals: java.lang.String java.util.Map java.util.Set java.util.concurrent.CountDownLatch org.apache.cassandra.net.IAsyncCallback org.apache.cassandra.net.MessageOut java.util.Map java.lang.Iterable top java.util.Iterator
StackMap stack:
17: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 8
start local 8 18: aload 1
aload 8
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.UUID
astore 10
start local 10 19: aload 10
ifnonnull 20
ldc "UNREACHABLE"
goto 21
StackMap locals: java.lang.String java.util.Map java.util.Set java.util.concurrent.CountDownLatch org.apache.cassandra.net.IAsyncCallback org.apache.cassandra.net.MessageOut java.util.Map java.lang.Iterable java.net.InetAddress java.util.Iterator java.util.UUID
StackMap stack:
20: aload 10
invokevirtual java.util.UUID.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
21: astore 11
start local 11 22: aload 6
aload 11
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 12
start local 12 23: aload 12
ifnonnull 26
24: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 12
25: aload 6
aload 11
aload 12
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
26: StackMap locals: java.lang.String java.util.List
StackMap stack:
aload 12
aload 8
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 12 end local 11 end local 10 end local 8 27: StackMap locals: java.lang.String java.util.Map java.util.Set java.util.concurrent.CountDownLatch org.apache.cassandra.net.IAsyncCallback org.apache.cassandra.net.MessageOut java.util.Map java.lang.Iterable top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
28: aload 6
ldc "UNREACHABLE"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 30
29: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
ldc "Hosts not in agreement. Didn't get a response from everybody: {}"
aload 6
ldc "UNREACHABLE"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Iterable
ldc ","
invokestatic org.apache.commons.lang3.StringUtils.join:(Ljava/lang/Iterable;Ljava/lang/String;)Ljava/lang/String;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
30: StackMap locals: java.lang.String java.util.Map java.util.Set java.util.concurrent.CountDownLatch org.apache.cassandra.net.IAsyncCallback org.apache.cassandra.net.MessageOut java.util.Map java.lang.Iterable
StackMap stack:
aload 6
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 38
StackMap locals: java.lang.String java.util.Map java.util.Set java.util.concurrent.CountDownLatch org.apache.cassandra.net.IAsyncCallback org.apache.cassandra.net.MessageOut java.util.Map java.lang.Iterable top java.util.Iterator
StackMap stack:
31: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 8
start local 8 32: aload 8
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
ldc "UNREACHABLE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 38
aload 8
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 34
33: goto 38
34: StackMap locals: java.lang.String java.util.Map java.util.Set java.util.concurrent.CountDownLatch org.apache.cassandra.net.IAsyncCallback org.apache.cassandra.net.MessageOut java.util.Map java.lang.Iterable java.util.Map$Entry java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.List
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 11
goto 37
StackMap locals: java.lang.String java.util.Map java.util.Set java.util.concurrent.CountDownLatch org.apache.cassandra.net.IAsyncCallback org.apache.cassandra.net.MessageOut java.util.Map java.lang.Iterable java.util.Map$Entry java.util.Iterator top java.util.Iterator
StackMap stack:
35: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 36: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
ldc "{} disagrees ({})"
aload 10
aload 8
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 10 37: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 35
end local 8 38: StackMap locals: java.lang.String java.util.Map java.util.Set java.util.concurrent.CountDownLatch org.apache.cassandra.net.IAsyncCallback org.apache.cassandra.net.MessageOut java.util.Map java.lang.Iterable top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 31
39: aload 6
invokeinterface java.util.Map.size:()I
iconst_1
if_icmpne 41
40: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
ldc "Schemas are in agreement."
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
41: StackMap locals: java.lang.String java.util.Map java.util.Set java.util.concurrent.CountDownLatch org.apache.cassandra.net.IAsyncCallback org.apache.cassandra.net.MessageOut java.util.Map java.lang.Iterable
StackMap stack:
aload 6
areturn
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
1 42 0 myVersion Ljava/lang/String;
2 42 1 versions Ljava/util/Map<Ljava/net/InetAddress;Ljava/util/UUID;>;
3 42 2 liveHosts Ljava/util/Set<Ljava/net/InetAddress;>;
4 42 3 latch Ljava/util/concurrent/CountDownLatch;
5 42 4 cb Lorg/apache/cassandra/net/IAsyncCallback<Ljava/util/UUID;>;
6 42 5 message Lorg/apache/cassandra/net/MessageOut;
8 9 6 endpoint Ljava/net/InetAddress;
15 42 6 results Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
16 42 7 allHosts Ljava/lang/Iterable<Ljava/net/InetAddress;>;
18 27 8 host Ljava/net/InetAddress;
19 27 10 version Ljava/util/UUID;
22 27 11 stringVersion Ljava/lang/String;
23 27 12 hosts Ljava/util/List<Ljava/lang/String;>;
32 38 8 entry Ljava/util/Map$Entry<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
36 37 10 host Ljava/lang/String;
Exception table:
from to target type
10 11 12 Class java.lang.InterruptedException
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
static <T extends org.apache.cassandra.dht.RingPosition<T>> java.util.List<org.apache.cassandra.dht.AbstractBounds<T>> getRestrictedRanges(org.apache.cassandra.dht.AbstractBounds<T>);
descriptor: (Lorg/apache/cassandra/dht/AbstractBounds;)Ljava/util/List;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=8, args_size=1
start local 0 0: aload 0
instanceof org.apache.cassandra.dht.Bounds
ifeq 2
aload 0
getfield org.apache.cassandra.dht.AbstractBounds.left:Lorg/apache/cassandra/dht/RingPosition;
aload 0
getfield org.apache.cassandra.dht.AbstractBounds.right:Lorg/apache/cassandra/dht/RingPosition;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 2
aload 0
getfield org.apache.cassandra.dht.AbstractBounds.left:Lorg/apache/cassandra/dht/RingPosition;
invokeinterface org.apache.cassandra.dht.RingPosition.isMinimum:()Z
ifne 2
1: aload 0
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
invokevirtual org.apache.cassandra.service.StorageService.getTokenMetadata:()Lorg/apache/cassandra/locator/TokenMetadata;
astore 1
start local 1 3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 4: aload 1
invokevirtual org.apache.cassandra.locator.TokenMetadata.sortedTokens:()Ljava/util/ArrayList;
aload 0
getfield org.apache.cassandra.dht.AbstractBounds.left:Lorg/apache/cassandra/dht/RingPosition;
invokeinterface org.apache.cassandra.dht.RingPosition.getToken:()Lorg/apache/cassandra/dht/Token;
iconst_1
invokestatic org.apache.cassandra.locator.TokenMetadata.ringIterator:(Ljava/util/ArrayList;Lorg/apache/cassandra/dht/Token;Z)Ljava/util/Iterator;
astore 3
start local 3 5: aload 0
astore 4
start local 4 6: goto 16
7: StackMap locals: org.apache.cassandra.dht.AbstractBounds org.apache.cassandra.locator.TokenMetadata java.util.List java.util.Iterator org.apache.cassandra.dht.AbstractBounds
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.dht.Token
astore 5
start local 5 8: aload 5
aload 0
getfield org.apache.cassandra.dht.AbstractBounds.left:Lorg/apache/cassandra/dht/RingPosition;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual org.apache.cassandra.dht.Token.upperBound:(Ljava/lang/Class;)Lorg/apache/cassandra/dht/RingPosition;
astore 6
start local 6 9: aload 4
getfield org.apache.cassandra.dht.AbstractBounds.left:Lorg/apache/cassandra/dht/RingPosition;
aload 6
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 11
aload 4
aload 6
invokevirtual org.apache.cassandra.dht.AbstractBounds.contains:(Lorg/apache/cassandra/dht/RingPosition;)Z
ifne 11
10: goto 17
11: StackMap locals: org.apache.cassandra.dht.Token org.apache.cassandra.dht.RingPosition
StackMap stack:
aload 4
aload 6
invokevirtual org.apache.cassandra.dht.AbstractBounds.split:(Lorg/apache/cassandra/dht/RingPosition;)Lorg/apache/cassandra/utils/Pair;
astore 7
start local 7 12: aload 7
ifnonnull 14
13: goto 16
14: StackMap locals: org.apache.cassandra.utils.Pair
StackMap stack:
aload 2
aload 7
getfield org.apache.cassandra.utils.Pair.left:Ljava/lang/Object;
checkcast org.apache.cassandra.dht.AbstractBounds
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: aload 7
getfield org.apache.cassandra.utils.Pair.right:Ljava/lang/Object;
checkcast org.apache.cassandra.dht.AbstractBounds
astore 4
end local 7 end local 6 end local 5 16: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
17: StackMap locals:
StackMap stack:
aload 2
aload 4
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 queryRange Lorg/apache/cassandra/dht/AbstractBounds<TT;>;
3 19 1 tokenMetadata Lorg/apache/cassandra/locator/TokenMetadata;
4 19 2 ranges Ljava/util/List<Lorg/apache/cassandra/dht/AbstractBounds<TT;>;>;
5 19 3 ringIter Ljava/util/Iterator<Lorg/apache/cassandra/dht/Token;>;
6 19 4 remainder Lorg/apache/cassandra/dht/AbstractBounds<TT;>;
8 16 5 upperBoundToken Lorg/apache/cassandra/dht/Token;
9 16 6 upperBound TT;
12 16 7 splits Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/dht/AbstractBounds<TT;>;Lorg/apache/cassandra/dht/AbstractBounds<TT;>;>;
Signature: <T::Lorg/apache/cassandra/dht/RingPosition<TT;>;>(Lorg/apache/cassandra/dht/AbstractBounds<TT;>;)Ljava/util/List<Lorg/apache/cassandra/dht/AbstractBounds<TT;>;>;
MethodParameters:
Name Flags
queryRange final
public boolean getHintedHandoffEnabled();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.hintedHandoffEnabled:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public void setHintedHandoffEnabled(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
dup
astore 2
monitorenter
1: iload 1
ifeq 3
2: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
ldc "hinted handoff"
invokevirtual org.apache.cassandra.service.StorageService.checkServiceAllowedToStart:(Ljava/lang/String;)V
3: StackMap locals: org.apache.cassandra.service.StorageService
StackMap stack:
iload 1
invokestatic org.apache.cassandra.config.DatabaseDescriptor.setHintedHandoffEnabled:(Z)V
4: aload 2
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/cassandra/service/StorageProxy;
0 9 1 b Z
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
b
public void enableHintsForDC(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.apache.cassandra.config.DatabaseDescriptor.enableHintsForDC:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/service/StorageProxy;
0 2 1 dc Ljava/lang/String;
MethodParameters:
Name Flags
dc
public void disableHintsForDC(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.apache.cassandra.config.DatabaseDescriptor.disableHintsForDC:(Ljava/lang/String;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/service/StorageProxy;
0 2 1 dc Ljava/lang/String;
MethodParameters:
Name Flags
dc
public java.util.Set<java.lang.String> getHintedHandoffDisabledDCs();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.hintedHandoffDisabledDCs:()Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
Signature: ()Ljava/util/Set<Ljava/lang/String;>;
public int getMaxHintWindow();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getMaxHintWindow:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public void setMaxHintWindow(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
invokestatic org.apache.cassandra.config.DatabaseDescriptor.setMaxHintWindow:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/service/StorageProxy;
0 2 1 ms I
MethodParameters:
Name Flags
ms
public static boolean shouldHint(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.hintedHandoffEnabled:()Z
ifeq 16
1: invokestatic org.apache.cassandra.config.DatabaseDescriptor.hintedHandoffDisabledDCs:()Ljava/util/Set;
astore 1
start local 1 2: aload 1
invokeinterface java.util.Set.isEmpty:()Z
ifne 7
3: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getEndpointSnitch:()Lorg/apache/cassandra/locator/IEndpointSnitch;
aload 0
invokeinterface org.apache.cassandra.locator.IEndpointSnitch.getDatacenter:(Ljava/net/InetAddress;)Ljava/lang/String;
astore 2
start local 2 4: aload 1
aload 2
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 7
5: ldc "Not hinting {} since its data center {} has been disabled {}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
aload 2
aastore
dup
iconst_2
aload 1
aastore
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
6: iconst_0
ireturn
end local 2 7: StackMap locals: java.util.Set
StackMap stack:
getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
aload 0
invokevirtual org.apache.cassandra.gms.Gossiper.getEndpointDowntime:(Ljava/net/InetAddress;)J
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getMaxHintWindow:()I
i2l
lcmp
ifle 8
iconst_1
goto 9
StackMap locals:
StackMap stack:
8: iconst_0
StackMap locals:
StackMap stack: int
9: istore 2
start local 2 10: iload 2
ifeq 13
11: getstatic org.apache.cassandra.hints.HintsService.instance:Lorg/apache/cassandra/hints/HintsService;
getfield org.apache.cassandra.hints.HintsService.metrics:Lorg/apache/cassandra/metrics/HintedHandoffMetrics;
aload 0
invokevirtual org.apache.cassandra.metrics.HintedHandoffMetrics.incrPastWindow:(Ljava/net/InetAddress;)V
12: ldc "Not hinting {} which has been down {} ms"
aload 0
getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
aload 0
invokevirtual org.apache.cassandra.gms.Gossiper.getEndpointDowntime:(Ljava/net/InetAddress;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
13: StackMap locals: int
StackMap stack:
iload 2
ifeq 14
iconst_0
goto 15
StackMap locals:
StackMap stack:
14: iconst_1
StackMap locals:
StackMap stack: int
15: ireturn
end local 2 end local 1 16: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 ep Ljava/net/InetAddress;
2 16 1 disabledDCs Ljava/util/Set<Ljava/lang/String;>;
4 7 2 dc Ljava/lang/String;
10 16 2 hintWindowExpired Z
MethodParameters:
Name Flags
ep
public static void truncateBlocking(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
ldc "Starting a blocking truncate operation on keyspace {}, CF {}"
aload 0
aload 1
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
1: invokestatic org.apache.cassandra.service.StorageProxy.isAnyStorageHostDown:()Z
ifeq 5
2: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
ldc "Cannot perform truncate, some hosts are down"
invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
3: getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
invokevirtual org.apache.cassandra.gms.Gossiper.getLiveMembers:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
istore 2
start local 2 4: new org.apache.cassandra.exceptions.UnavailableException
dup
getstatic org.apache.cassandra.db.ConsistencyLevel.ALL:Lorg/apache/cassandra/db/ConsistencyLevel;
iload 2
getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
invokevirtual org.apache.cassandra.gms.Gossiper.getUnreachableMembers:()Ljava/util/Set;
invokeinterface java.util.Set.size:()I
iadd
iload 2
invokespecial org.apache.cassandra.exceptions.UnavailableException.<init>:(Lorg/apache/cassandra/db/ConsistencyLevel;II)V
athrow
end local 2 5: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
iconst_1
invokevirtual org.apache.cassandra.service.StorageService.getLiveRingMembers:(Z)Ljava/util/Set;
astore 2
start local 2 6: aload 2
invokeinterface java.util.Set.size:()I
istore 3
start local 3 7: new org.apache.cassandra.service.TruncateResponseHandler
dup
iload 3
invokespecial org.apache.cassandra.service.TruncateResponseHandler.<init>:(I)V
astore 4
start local 4 8: ldc "Enqueuing truncate messages to hosts {}"
aload 2
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;)V
9: new org.apache.cassandra.db.Truncation
dup
aload 0
aload 1
invokespecial org.apache.cassandra.db.Truncation.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 5
start local 5 10: aload 5
invokevirtual org.apache.cassandra.db.Truncation.createMessage:()Lorg/apache/cassandra/net/MessageOut;
astore 6
start local 6 11: aload 2
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 8
goto 14
StackMap locals: java.lang.String java.lang.String java.util.Set int org.apache.cassandra.service.TruncateResponseHandler org.apache.cassandra.db.Truncation org.apache.cassandra.net.MessageOut top java.util.Iterator
StackMap stack:
12: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 7
start local 7 13: invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 6
aload 7
aload 4
invokevirtual org.apache.cassandra.net.MessagingService.sendRR:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;Lorg/apache/cassandra/net/IAsyncCallback;)I
pop
end local 7 14: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
15: aload 4
invokevirtual org.apache.cassandra.service.TruncateResponseHandler.get:()V
16: goto 20
17: StackMap locals: java.lang.String java.lang.String java.util.Set int org.apache.cassandra.service.TruncateResponseHandler org.apache.cassandra.db.Truncation org.apache.cassandra.net.MessageOut
StackMap stack: java.util.concurrent.TimeoutException
astore 7
start local 7 18: ldc "Timed out"
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;)V
19: aload 7
athrow
end local 7 20: StackMap locals:
StackMap stack:
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 21 0 keyspace Ljava/lang/String;
0 21 1 cfname Ljava/lang/String;
4 5 2 liveMembers I
6 21 2 allEndpoints Ljava/util/Set<Ljava/net/InetAddress;>;
7 21 3 blockFor I
8 21 4 responseHandler Lorg/apache/cassandra/service/TruncateResponseHandler;
10 21 5 truncation Lorg/apache/cassandra/db/Truncation;
11 21 6 message Lorg/apache/cassandra/net/MessageOut<Lorg/apache/cassandra/db/Truncation;>;
13 14 7 endpoint Ljava/net/InetAddress;
18 20 7 e Ljava/util/concurrent/TimeoutException;
Exception table:
from to target type
15 16 17 Class java.util.concurrent.TimeoutException
Exceptions:
throws org.apache.cassandra.exceptions.UnavailableException, java.util.concurrent.TimeoutException
MethodParameters:
Name Flags
keyspace
cfname
private static boolean isAnyStorageHostDown();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
invokevirtual org.apache.cassandra.gms.Gossiper.getUnreachableTokenOwners:()Ljava/util/Set;
invokeinterface java.util.Set.isEmpty:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
LocalVariableTable:
Start End Slot Name Signature
public long getTotalHints();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.metrics.StorageMetrics.totalHints:Lcom/codahale/metrics/Counter;
invokevirtual com.codahale.metrics.Counter.getCount:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public int getMaxHintsInProgress();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.service.StorageProxy.maxHintsInProgress:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public void setMaxHintsInProgress(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
putstatic org.apache.cassandra.service.StorageProxy.maxHintsInProgress:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/service/StorageProxy;
0 2 1 qs I
MethodParameters:
Name Flags
qs
public int getHintsInProgress();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.metrics.StorageMetrics.totalHintsInProgress:Lcom/codahale/metrics/Counter;
invokevirtual com.codahale.metrics.Counter.getCount:()J
l2i
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public void verifyNoHintsInProgress();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.service.StorageProxy.getHintsInProgress:()I
ifle 2
1: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
ldc "Some hints were not written before shutdown. This is not supposed to happen. You should (a) run repair, and (b) file a bug report"
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/service/StorageProxy;
private static java.util.concurrent.atomic.AtomicInteger getHintsInProgressFor(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic org.apache.cassandra.service.StorageProxy.hintsInProgress:Lcom/google/common/cache/CacheLoader;
aload 0
invokevirtual com.google.common.cache.CacheLoader.load:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.concurrent.atomic.AtomicInteger
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 3: new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 destination Ljava/net/InetAddress;
3 4 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
MethodParameters:
Name Flags
destination
public static java.util.concurrent.Future<java.lang.Void> submitHint(org.apache.cassandra.db.Mutation, java.net.InetAddress, org.apache.cassandra.service.AbstractWriteResponseHandler<org.apache.cassandra.db.IMutation>);
descriptor: (Lorg/apache/cassandra/db/Mutation;Ljava/net/InetAddress;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;)Ljava/util/concurrent/Future;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
aload 2
invokestatic org.apache.cassandra.service.StorageProxy.submitHint:(Lorg/apache/cassandra/db/Mutation;Ljava/util/Collection;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;)Ljava/util/concurrent/Future;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 mutation Lorg/apache/cassandra/db/Mutation;
0 1 1 target Ljava/net/InetAddress;
0 1 2 responseHandler Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
Signature: (Lorg/apache/cassandra/db/Mutation;Ljava/net/InetAddress;Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;)Ljava/util/concurrent/Future<Ljava/lang/Void;>;
MethodParameters:
Name Flags
mutation
target
responseHandler
public static java.util.concurrent.Future<java.lang.Void> submitHint(org.apache.cassandra.db.Mutation, java.util.Collection<java.net.InetAddress>, org.apache.cassandra.service.AbstractWriteResponseHandler<org.apache.cassandra.db.IMutation>);
descriptor: (Lorg/apache/cassandra/db/Mutation;Ljava/util/Collection;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;)Ljava/util/concurrent/Future;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new org.apache.cassandra.service.StorageProxy$11
dup
aload 1
aload 0
aload 2
invokespecial org.apache.cassandra.service.StorageProxy$11.<init>:(Ljava/util/Collection;Lorg/apache/cassandra/db/Mutation;Lorg/apache/cassandra/service/AbstractWriteResponseHandler;)V
astore 3
start local 3 1: aload 3
invokestatic org.apache.cassandra.service.StorageProxy.submitHint:(Lorg/apache/cassandra/service/StorageProxy$HintRunnable;)Ljava/util/concurrent/Future;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 mutation Lorg/apache/cassandra/db/Mutation;
0 2 1 targets Ljava/util/Collection<Ljava/net/InetAddress;>;
0 2 2 responseHandler Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;
1 2 3 runnable Lorg/apache/cassandra/service/StorageProxy$HintRunnable;
Signature: (Lorg/apache/cassandra/db/Mutation;Ljava/util/Collection<Ljava/net/InetAddress;>;Lorg/apache/cassandra/service/AbstractWriteResponseHandler<Lorg/apache/cassandra/db/IMutation;>;)Ljava/util/concurrent/Future<Ljava/lang/Void;>;
MethodParameters:
Name Flags
mutation
targets
responseHandler
private static java.util.concurrent.Future<java.lang.Void> submitHint(org.apache.cassandra.service.StorageProxy$HintRunnable);
descriptor: (Lorg/apache/cassandra/service/StorageProxy$HintRunnable;)Ljava/util/concurrent/Future;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: getstatic org.apache.cassandra.metrics.StorageMetrics.totalHintsInProgress:Lcom/codahale/metrics/Counter;
aload 0
getfield org.apache.cassandra.service.StorageProxy$HintRunnable.targets:Ljava/util/Collection;
invokeinterface java.util.Collection.size:()I
i2l
invokevirtual com.codahale.metrics.Counter.inc:(J)V
1: aload 0
getfield org.apache.cassandra.service.StorageProxy$HintRunnable.targets:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: org.apache.cassandra.service.StorageProxy$HintRunnable top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 1
start local 1 3: aload 1
invokestatic org.apache.cassandra.service.StorageProxy.getHintsInProgressFor:(Ljava/net/InetAddress;)Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: getstatic org.apache.cassandra.concurrent.Stage.MUTATION:Lorg/apache/cassandra/concurrent/Stage;
invokestatic org.apache.cassandra.concurrent.StageManager.getStage:(Lorg/apache/cassandra/concurrent/Stage;)Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
aload 0
invokeinterface org.apache.cassandra.concurrent.LocalAwareExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 runnable Lorg/apache/cassandra/service/StorageProxy$HintRunnable;
3 4 1 target Ljava/net/InetAddress;
Signature: (Lorg/apache/cassandra/service/StorageProxy$HintRunnable;)Ljava/util/concurrent/Future<Ljava/lang/Void;>;
MethodParameters:
Name Flags
runnable
public java.lang.Long getRpcTimeout();
descriptor: ()Ljava/lang/Long;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getRpcTimeout:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public void setRpcTimeout(java.lang.Long);
descriptor: (Ljava/lang/Long;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Long.longValue:()J
invokestatic org.apache.cassandra.config.DatabaseDescriptor.setRpcTimeout:(J)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
0 1 1 timeoutInMillis Ljava/lang/Long;
MethodParameters:
Name Flags
timeoutInMillis
public java.lang.Long getReadRpcTimeout();
descriptor: ()Ljava/lang/Long;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getReadRpcTimeout:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public void setReadRpcTimeout(java.lang.Long);
descriptor: (Ljava/lang/Long;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Long.longValue:()J
invokestatic org.apache.cassandra.config.DatabaseDescriptor.setReadRpcTimeout:(J)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
0 1 1 timeoutInMillis Ljava/lang/Long;
MethodParameters:
Name Flags
timeoutInMillis
public java.lang.Long getWriteRpcTimeout();
descriptor: ()Ljava/lang/Long;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getWriteRpcTimeout:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public void setWriteRpcTimeout(java.lang.Long);
descriptor: (Ljava/lang/Long;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Long.longValue:()J
invokestatic org.apache.cassandra.config.DatabaseDescriptor.setWriteRpcTimeout:(J)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
0 1 1 timeoutInMillis Ljava/lang/Long;
MethodParameters:
Name Flags
timeoutInMillis
public java.lang.Long getCounterWriteRpcTimeout();
descriptor: ()Ljava/lang/Long;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getCounterWriteRpcTimeout:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public void setCounterWriteRpcTimeout(java.lang.Long);
descriptor: (Ljava/lang/Long;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Long.longValue:()J
invokestatic org.apache.cassandra.config.DatabaseDescriptor.setCounterWriteRpcTimeout:(J)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
0 1 1 timeoutInMillis Ljava/lang/Long;
MethodParameters:
Name Flags
timeoutInMillis
public java.lang.Long getCasContentionTimeout();
descriptor: ()Ljava/lang/Long;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getCasContentionTimeout:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public void setCasContentionTimeout(java.lang.Long);
descriptor: (Ljava/lang/Long;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Long.longValue:()J
invokestatic org.apache.cassandra.config.DatabaseDescriptor.setCasContentionTimeout:(J)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
0 1 1 timeoutInMillis Ljava/lang/Long;
MethodParameters:
Name Flags
timeoutInMillis
public java.lang.Long getRangeRpcTimeout();
descriptor: ()Ljava/lang/Long;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getRangeRpcTimeout:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public void setRangeRpcTimeout(java.lang.Long);
descriptor: (Ljava/lang/Long;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Long.longValue:()J
invokestatic org.apache.cassandra.config.DatabaseDescriptor.setRangeRpcTimeout:(J)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
0 1 1 timeoutInMillis Ljava/lang/Long;
MethodParameters:
Name Flags
timeoutInMillis
public java.lang.Long getTruncateRpcTimeout();
descriptor: ()Ljava/lang/Long;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getTruncateRpcTimeout:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public void setTruncateRpcTimeout(java.lang.Long);
descriptor: (Ljava/lang/Long;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Long.longValue:()J
invokestatic org.apache.cassandra.config.DatabaseDescriptor.setTruncateRpcTimeout:(J)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
0 1 1 timeoutInMillis Ljava/lang/Long;
MethodParameters:
Name Flags
timeoutInMillis
public java.lang.Long getNativeTransportMaxConcurrentConnections();
descriptor: ()Ljava/lang/Long;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getNativeTransportMaxConcurrentConnections:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public void setNativeTransportMaxConcurrentConnections(java.lang.Long);
descriptor: (Ljava/lang/Long;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Long.longValue:()J
invokestatic org.apache.cassandra.config.DatabaseDescriptor.setNativeTransportMaxConcurrentConnections:(J)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
0 1 1 nativeTransportMaxConcurrentConnections Ljava/lang/Long;
MethodParameters:
Name Flags
nativeTransportMaxConcurrentConnections
public java.lang.Long getNativeTransportMaxConcurrentConnectionsPerIp();
descriptor: ()Ljava/lang/Long;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getNativeTransportMaxConcurrentConnectionsPerIp:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public void setNativeTransportMaxConcurrentConnectionsPerIp(java.lang.Long);
descriptor: (Ljava/lang/Long;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Long.longValue:()J
invokestatic org.apache.cassandra.config.DatabaseDescriptor.setNativeTransportMaxConcurrentConnectionsPerIp:(J)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
0 1 1 nativeTransportMaxConcurrentConnections Ljava/lang/Long;
MethodParameters:
Name Flags
nativeTransportMaxConcurrentConnections
public void reloadTriggerClasses();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.triggers.TriggerExecutor.instance:Lorg/apache/cassandra/triggers/TriggerExecutor;
invokevirtual org.apache.cassandra.triggers.TriggerExecutor.reloadClasses:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public long getReadRepairAttempted();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.metrics.ReadRepairMetrics.attempted:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.getCount:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public long getReadRepairRepairedBlocking();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.metrics.ReadRepairMetrics.repairedBlocking:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.getCount:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public long getReadRepairRepairedBackground();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.metrics.ReadRepairMetrics.repairedBackground:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.getCount:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public int getNumberOfTables();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
invokevirtual org.apache.cassandra.config.Schema.getNumberOfTables:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public int getOtcBacklogExpirationInterval();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.getOtcBacklogExpirationInterval:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/service/StorageProxy;
public void setOtcBacklogExpirationInterval(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
invokestatic org.apache.cassandra.config.DatabaseDescriptor.setOtcBacklogExpirationInterval:(I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/service/StorageProxy;
0 2 1 intervalInMillis I
MethodParameters:
Name Flags
intervalInMillis
static int[] $SWITCH_TABLE$org$apache$cassandra$db$ConsistencyLevel();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.apache.cassandra.service.StorageProxy.$SWITCH_TABLE$org$apache$cassandra$db$ConsistencyLevel:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.apache.cassandra.db.ConsistencyLevel.values:()[Lorg/apache/cassandra/db/ConsistencyLevel;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.apache.cassandra.db.ConsistencyLevel.ALL:Lorg/apache/cassandra/db/ConsistencyLevel;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.ordinal:()I
bipush 6
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.apache.cassandra.db.ConsistencyLevel.ANY:Lorg/apache/cassandra/db/ConsistencyLevel;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.ordinal:()I
iconst_1
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.apache.cassandra.db.ConsistencyLevel.EACH_QUORUM:Lorg/apache/cassandra/db/ConsistencyLevel;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.ordinal:()I
bipush 8
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.apache.cassandra.db.ConsistencyLevel.LOCAL_ONE:Lorg/apache/cassandra/db/ConsistencyLevel;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.ordinal:()I
bipush 11
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.apache.cassandra.db.ConsistencyLevel.LOCAL_QUORUM:Lorg/apache/cassandra/db/ConsistencyLevel;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.ordinal:()I
bipush 7
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.apache.cassandra.db.ConsistencyLevel.LOCAL_SERIAL:Lorg/apache/cassandra/db/ConsistencyLevel;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.ordinal:()I
bipush 10
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.apache.cassandra.db.ConsistencyLevel.ONE:Lorg/apache/cassandra/db/ConsistencyLevel;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.ordinal:()I
iconst_2
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic org.apache.cassandra.db.ConsistencyLevel.QUORUM:Lorg/apache/cassandra/db/ConsistencyLevel;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.ordinal:()I
iconst_5
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic org.apache.cassandra.db.ConsistencyLevel.SERIAL:Lorg/apache/cassandra/db/ConsistencyLevel;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.ordinal:()I
bipush 9
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic org.apache.cassandra.db.ConsistencyLevel.THREE:Lorg/apache/cassandra/db/ConsistencyLevel;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.ordinal:()I
iconst_4
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic org.apache.cassandra.db.ConsistencyLevel.TWO:Lorg/apache/cassandra/db/ConsistencyLevel;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.ordinal:()I
iconst_3
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
dup
putstatic org.apache.cassandra.service.StorageProxy.$SWITCH_TABLE$org$apache$cassandra$db$ConsistencyLevel:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
private static void lambda$0(java.util.Collection, java.util.UUID);
descriptor: (Ljava/util/Collection;Ljava/util/UUID;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokestatic org.apache.cassandra.service.StorageProxy.asyncRemoveFromBatchlog:(Ljava/util/Collection;Ljava/util/UUID;)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$1(org.apache.cassandra.service.StorageProxy$BatchlogEndpoints, java.util.UUID, long);
descriptor: (Lorg/apache/cassandra/service/StorageProxy$BatchlogEndpoints;Ljava/util/UUID;J)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=3
0: aload 0
aload 1
lload 2
invokestatic org.apache.cassandra.service.StorageProxy.asyncRemoveFromBatchlog:(Lorg/apache/cassandra/service/StorageProxy$BatchlogEndpoints;Ljava/util/UUID;J)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$2(org.apache.cassandra.batchlog.Batch);
descriptor: (Lorg/apache/cassandra/batchlog/Batch;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokestatic org.apache.cassandra.batchlog.BatchlogManager.store:(Lorg/apache/cassandra/batchlog/Batch;)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$3(java.util.UUID);
descriptor: (Ljava/util/UUID;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokestatic org.apache.cassandra.batchlog.BatchlogManager.remove:(Ljava/util/UUID;)V
return
LocalVariableTable:
Start End Slot Name Signature
private static void lambda$4(java.util.concurrent.atomic.AtomicLong);
descriptor: (Ljava/util/concurrent/atomic/AtomicLong;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=6, locals=3, args_size=1
0: lconst_0
invokestatic java.lang.System.currentTimeMillis:()J
aload 0
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lsub
invokestatic java.lang.Math.max:(JJ)J
lstore 1
start local 1 1: getstatic org.apache.cassandra.service.StorageProxy.viewWriteMetrics:Lorg/apache/cassandra/metrics/ViewWriteMetrics;
getfield org.apache.cassandra.metrics.ViewWriteMetrics.viewWriteLatency:Lcom/codahale/metrics/Timer;
lload 1
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.codahale.metrics.Timer.update:(JLjava/util/concurrent/TimeUnit;)V
end local 1 2: return
LocalVariableTable:
Start End Slot Name Signature
1 2 1 delay J
private static boolean lambda$6(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
aload 0
invokevirtual org.apache.cassandra.service.StorageService.isRpcReady:(Ljava/net/InetAddress;)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 endpoint Ljava/net/InetAddress;
}
SourceFile: "StorageProxy.java"
NestMembers:
org.apache.cassandra.service.StorageProxy$1 org.apache.cassandra.service.StorageProxy$10 org.apache.cassandra.service.StorageProxy$11 org.apache.cassandra.service.StorageProxy$2 org.apache.cassandra.service.StorageProxy$3 org.apache.cassandra.service.StorageProxy$4 org.apache.cassandra.service.StorageProxy$5 org.apache.cassandra.service.StorageProxy$6 org.apache.cassandra.service.StorageProxy$7 org.apache.cassandra.service.StorageProxy$8 org.apache.cassandra.service.StorageProxy$9 org.apache.cassandra.service.StorageProxy$BatchlogEndpoints org.apache.cassandra.service.StorageProxy$DroppableRunnable org.apache.cassandra.service.StorageProxy$HintRunnable org.apache.cassandra.service.StorageProxy$LocalMutationRunnable org.apache.cassandra.service.StorageProxy$LocalMutationRunnable$1 org.apache.cassandra.service.StorageProxy$LocalReadRunnable org.apache.cassandra.service.StorageProxy$RangeCommandIterator org.apache.cassandra.service.StorageProxy$RangeForQuery org.apache.cassandra.service.StorageProxy$RangeIterator org.apache.cassandra.service.StorageProxy$RangeMerger org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle org.apache.cassandra.service.StorageProxy$SingleRangeResponse org.apache.cassandra.service.StorageProxy$ViewWriteMetricsWrapped org.apache.cassandra.service.StorageProxy$WritePerformer org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public EndpointFilter = org.apache.cassandra.batchlog.BatchlogManager$EndpointFilter of org.apache.cassandra.batchlog.BatchlogManager
public Group = org.apache.cassandra.db.SinglePartitionReadCommand$Group of org.apache.cassandra.db.SinglePartitionReadCommand
public Topology = org.apache.cassandra.locator.TokenMetadata$Topology of org.apache.cassandra.locator.TokenMetadata
public Verb = org.apache.cassandra.net.MessagingService$Verb of org.apache.cassandra.net.MessagingService
public BatchlogCleanup = org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanup of org.apache.cassandra.service.BatchlogResponseHandler
public abstract BatchlogCleanupCallback = org.apache.cassandra.service.BatchlogResponseHandler$BatchlogCleanupCallback of org.apache.cassandra.service.BatchlogResponseHandler
org.apache.cassandra.service.StorageProxy$1
org.apache.cassandra.service.StorageProxy$10
org.apache.cassandra.service.StorageProxy$11
org.apache.cassandra.service.StorageProxy$2
org.apache.cassandra.service.StorageProxy$3
org.apache.cassandra.service.StorageProxy$4
org.apache.cassandra.service.StorageProxy$5
org.apache.cassandra.service.StorageProxy$6
org.apache.cassandra.service.StorageProxy$7
org.apache.cassandra.service.StorageProxy$8
org.apache.cassandra.service.StorageProxy$9
private final BatchlogEndpoints = org.apache.cassandra.service.StorageProxy$BatchlogEndpoints of org.apache.cassandra.service.StorageProxy
private abstract DroppableRunnable = org.apache.cassandra.service.StorageProxy$DroppableRunnable of org.apache.cassandra.service.StorageProxy
private abstract HintRunnable = org.apache.cassandra.service.StorageProxy$HintRunnable of org.apache.cassandra.service.StorageProxy
private abstract LocalMutationRunnable = org.apache.cassandra.service.StorageProxy$LocalMutationRunnable of org.apache.cassandra.service.StorageProxy
LocalReadRunnable = org.apache.cassandra.service.StorageProxy$LocalReadRunnable of org.apache.cassandra.service.StorageProxy
private RangeCommandIterator = org.apache.cassandra.service.StorageProxy$RangeCommandIterator of org.apache.cassandra.service.StorageProxy
private RangeForQuery = org.apache.cassandra.service.StorageProxy$RangeForQuery of org.apache.cassandra.service.StorageProxy
private RangeIterator = org.apache.cassandra.service.StorageProxy$RangeIterator of org.apache.cassandra.service.StorageProxy
private RangeMerger = org.apache.cassandra.service.StorageProxy$RangeMerger of org.apache.cassandra.service.StorageProxy
private SinglePartitionReadLifecycle = org.apache.cassandra.service.StorageProxy$SinglePartitionReadLifecycle of org.apache.cassandra.service.StorageProxy
private SingleRangeResponse = org.apache.cassandra.service.StorageProxy$SingleRangeResponse of org.apache.cassandra.service.StorageProxy
private ViewWriteMetricsWrapped = org.apache.cassandra.service.StorageProxy$ViewWriteMetricsWrapped of org.apache.cassandra.service.StorageProxy
public abstract WritePerformer = org.apache.cassandra.service.StorageProxy$WritePerformer of org.apache.cassandra.service.StorageProxy
private WriteResponseHandlerWrapper = org.apache.cassandra.service.StorageProxy$WriteResponseHandlerWrapper of org.apache.cassandra.service.StorageProxy