class org.apache.cassandra.service.StorageProxy$RangeCommandIterator extends org.apache.cassandra.utils.AbstractIterator<org.apache.cassandra.db.rows.RowIterator> implements org.apache.cassandra.db.partitions.PartitionIterator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.cassandra.service.StorageProxy$RangeCommandIterator
super_class: org.apache.cassandra.utils.AbstractIterator
{
private final java.util.Iterator<org.apache.cassandra.service.StorageProxy$RangeForQuery> ranges;
descriptor: Ljava/util/Iterator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Iterator<Lorg/apache/cassandra/service/StorageProxy$RangeForQuery;>;
private final int totalRangeCount;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.db.PartitionRangeReadCommand command;
descriptor: Lorg/apache/cassandra/db/PartitionRangeReadCommand;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.db.Keyspace keyspace;
descriptor: Lorg/apache/cassandra/db/Keyspace;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.db.ConsistencyLevel consistency;
descriptor: Lorg/apache/cassandra/db/ConsistencyLevel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean enforceStrictLiveness;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long startTime;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long queryStartNanoTime;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.apache.cassandra.db.filter.DataLimits$Counter counter;
descriptor: Lorg/apache/cassandra/db/filter/DataLimits$Counter;
flags: (0x0002) ACC_PRIVATE
private org.apache.cassandra.db.partitions.PartitionIterator sentQueryIterator;
descriptor: Lorg/apache/cassandra/db/partitions/PartitionIterator;
flags: (0x0002) ACC_PRIVATE
private int concurrencyFactor;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int liveReturned;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int rangesQueried;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(org.apache.cassandra.service.StorageProxy$RangeIterator, org.apache.cassandra.db.PartitionRangeReadCommand, int, org.apache.cassandra.db.Keyspace, org.apache.cassandra.db.ConsistencyLevel, long);
descriptor: (Lorg/apache/cassandra/service/StorageProxy$RangeIterator;Lorg/apache/cassandra/db/PartitionRangeReadCommand;ILorg/apache/cassandra/db/Keyspace;Lorg/apache/cassandra/db/ConsistencyLevel;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, 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
invokespecial org.apache.cassandra.utils.AbstractIterator.<init>:()V
1: aload 0
aload 2
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.command:Lorg/apache/cassandra/db/PartitionRangeReadCommand;
2: aload 0
iload 3
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.concurrencyFactor:I
3: aload 0
invokestatic java.lang.System.nanoTime:()J
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.startTime:J
4: aload 0
new org.apache.cassandra.service.StorageProxy$RangeMerger
dup
aload 1
aload 4
aload 5
invokespecial org.apache.cassandra.service.StorageProxy$RangeMerger.<init>:(Ljava/util/Iterator;Lorg/apache/cassandra/db/Keyspace;Lorg/apache/cassandra/db/ConsistencyLevel;)V
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.ranges:Ljava/util/Iterator;
5: aload 0
aload 1
invokevirtual org.apache.cassandra.service.StorageProxy$RangeIterator.rangeCount:()I
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.totalRangeCount:I
6: aload 0
aload 5
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.consistency:Lorg/apache/cassandra/db/ConsistencyLevel;
7: aload 0
aload 4
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.keyspace:Lorg/apache/cassandra/db/Keyspace;
8: aload 0
lload 6
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.queryStartNanoTime:J
9: aload 0
aload 2
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.metadata:()Lorg/apache/cassandra/config/CFMetaData;
invokevirtual org.apache.cassandra.config.CFMetaData.enforceStrictLiveness:()Z
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.enforceStrictLiveness:Z
10: 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 11 0 this Lorg/apache/cassandra/service/StorageProxy$RangeCommandIterator;
0 11 1 ranges Lorg/apache/cassandra/service/StorageProxy$RangeIterator;
0 11 2 command Lorg/apache/cassandra/db/PartitionRangeReadCommand;
0 11 3 concurrencyFactor I
0 11 4 keyspace Lorg/apache/cassandra/db/Keyspace;
0 11 5 consistency Lorg/apache/cassandra/db/ConsistencyLevel;
0 11 6 queryStartNanoTime J
MethodParameters:
Name Flags
ranges
command
concurrencyFactor
keyspace
consistency
queryStartNanoTime
public org.apache.cassandra.db.rows.RowIterator computeNext();
descriptor: ()Lorg/apache/cassandra/db/rows/RowIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: goto 9
1: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.ranges:Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
2: aload 0
invokevirtual org.apache.cassandra.service.StorageProxy$RangeCommandIterator.endOfData:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.rows.RowIterator
3: areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.sentQueryIterator:Lorg/apache/cassandra/db/partitions/PartitionIterator;
ifnull 8
5: aload 0
dup
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.liveReturned:I
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.counter:Lorg/apache/cassandra/db/filter/DataLimits$Counter;
invokevirtual org.apache.cassandra.db.filter.DataLimits$Counter.counted:()I
iadd
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.liveReturned:I
6: aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.sentQueryIterator:Lorg/apache/cassandra/db/partitions/PartitionIterator;
invokeinterface org.apache.cassandra.db.partitions.PartitionIterator.close:()V
7: aload 0
invokevirtual org.apache.cassandra.service.StorageProxy$RangeCommandIterator.updateConcurrencyFactor:()V
8: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.apache.cassandra.service.StorageProxy$RangeCommandIterator.sendNextRequests:()Lorg/apache/cassandra/db/partitions/PartitionIterator;
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.sentQueryIterator:Lorg/apache/cassandra/db/partitions/PartitionIterator;
9: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.sentQueryIterator:Lorg/apache/cassandra/db/partitions/PartitionIterator;
ifnull 1
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.sentQueryIterator:Lorg/apache/cassandra/db/partitions/PartitionIterator;
invokeinterface org.apache.cassandra.db.partitions.PartitionIterator.hasNext:()Z
ifeq 1
10: aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.sentQueryIterator:Lorg/apache/cassandra/db/partitions/PartitionIterator;
invokeinterface org.apache.cassandra.db.partitions.PartitionIterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.rows.RowIterator
11: areturn
12: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.UnavailableException
astore 1
start local 1 13: getstatic org.apache.cassandra.service.StorageProxy.rangeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.unavailables:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
14: aload 1
athrow
end local 1 15: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.ReadTimeoutException
astore 1
start local 1 16: getstatic org.apache.cassandra.service.StorageProxy.rangeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.timeouts:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
17: aload 1
athrow
end local 1 18: StackMap locals:
StackMap stack: org.apache.cassandra.exceptions.ReadFailureException
astore 1
start local 1 19: getstatic org.apache.cassandra.service.StorageProxy.rangeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
getfield org.apache.cassandra.metrics.ClientRequestMetrics.failures:Lcom/codahale/metrics/Meter;
invokevirtual com.codahale.metrics.Meter.mark:()V
20: aload 1
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/apache/cassandra/service/StorageProxy$RangeCommandIterator;
13 15 1 e Lorg/apache/cassandra/exceptions/UnavailableException;
16 18 1 e Lorg/apache/cassandra/exceptions/ReadTimeoutException;
19 21 1 e Lorg/apache/cassandra/exceptions/ReadFailureException;
Exception table:
from to target type
0 3 12 Class org.apache.cassandra.exceptions.UnavailableException
4 11 12 Class org.apache.cassandra.exceptions.UnavailableException
0 3 15 Class org.apache.cassandra.exceptions.ReadTimeoutException
4 11 15 Class org.apache.cassandra.exceptions.ReadTimeoutException
0 3 18 Class org.apache.cassandra.exceptions.ReadFailureException
4 11 18 Class org.apache.cassandra.exceptions.ReadFailureException
private void updateConcurrencyFactor();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.liveReturned:I
ifne 3
1: aload 0
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.totalRangeCount:I
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.rangesQueried:I
isub
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.concurrencyFactor:I
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.command:Lorg/apache/cassandra/db/PartitionRangeReadCommand;
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.limits:()Lorg/apache/cassandra/db/filter/DataLimits;
invokevirtual org.apache.cassandra.db.filter.DataLimits.count:()I
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.liveReturned:I
isub
istore 1
start local 1 4: aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.liveReturned:I
i2f
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.rangesQueried:I
i2f
fdiv
fstore 2
start local 2 5: aload 0
iconst_1
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.totalRangeCount:I
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.rangesQueried:I
isub
iload 1
i2f
fload 2
fdiv
invokestatic java.lang.Math.round:(F)I
invokestatic java.lang.Math.min:(II)I
invokestatic java.lang.Math.max:(II)I
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.concurrencyFactor:I
6: getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
ldc "Didn't get enough response rows; actual rows per range: {}; remaining rows: {}, new concurrent requests: {}"
iconst_3
anewarray java.lang.Object
dup
iconst_0
7: fload 2
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aastore
dup
iconst_1
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.concurrencyFactor:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
8: invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/cassandra/service/StorageProxy$RangeCommandIterator;
4 10 1 remainingRows I
5 10 2 rowsPerRange F
private org.apache.cassandra.service.StorageProxy$SingleRangeResponse query(org.apache.cassandra.service.StorageProxy$RangeForQuery, boolean);
descriptor: (Lorg/apache/cassandra/service/StorageProxy$RangeForQuery;Z)Lorg/apache/cassandra/service/StorageProxy$SingleRangeResponse;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.command:Lorg/apache/cassandra/db/PartitionRangeReadCommand;
aload 1
getfield org.apache.cassandra.service.StorageProxy$RangeForQuery.range:Lorg/apache/cassandra/dht/AbstractBounds;
iload 2
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.forSubRange:(Lorg/apache/cassandra/dht/AbstractBounds;Z)Lorg/apache/cassandra/db/PartitionRangeReadCommand;
astore 3
start local 3 1: new org.apache.cassandra.service.DataResolver
dup
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.keyspace:Lorg/apache/cassandra/db/Keyspace;
aload 3
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.consistency:Lorg/apache/cassandra/db/ConsistencyLevel;
aload 1
getfield org.apache.cassandra.service.StorageProxy$RangeForQuery.filteredEndpoints:Ljava/util/List;
invokeinterface java.util.List.size:()I
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.queryStartNanoTime:J
invokespecial org.apache.cassandra.service.DataResolver.<init>:(Lorg/apache/cassandra/db/Keyspace;Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/db/ConsistencyLevel;IJ)V
astore 4
start local 4 2: aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.consistency:Lorg/apache/cassandra/db/ConsistencyLevel;
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.keyspace:Lorg/apache/cassandra/db/Keyspace;
invokevirtual org.apache.cassandra.db.ConsistencyLevel.blockFor:(Lorg/apache/cassandra/db/Keyspace;)I
istore 5
start local 5 3: aload 1
getfield org.apache.cassandra.service.StorageProxy$RangeForQuery.filteredEndpoints:Ljava/util/List;
invokeinterface java.util.List.size:()I
iload 5
invokestatic java.lang.Math.min:(II)I
istore 6
start local 6 4: aload 1
getfield org.apache.cassandra.service.StorageProxy$RangeForQuery.filteredEndpoints:Ljava/util/List;
iconst_0
iload 6
invokeinterface java.util.List.subList:(II)Ljava/util/List;
astore 7
start local 7 5: new org.apache.cassandra.service.ReadCallback
dup
aload 4
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.consistency:Lorg/apache/cassandra/db/ConsistencyLevel;
aload 3
aload 7
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.queryStartNanoTime:J
invokespecial org.apache.cassandra.service.ReadCallback.<init>:(Lorg/apache/cassandra/service/ResponseResolver;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/db/ReadCommand;Ljava/util/List;J)V
astore 8
start local 8 6: aload 8
invokevirtual org.apache.cassandra.service.ReadCallback.assureSufficientLiveNodes:()V
7: aload 1
getfield org.apache.cassandra.service.StorageProxy$RangeForQuery.filteredEndpoints:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 10
aload 1
getfield org.apache.cassandra.service.StorageProxy$RangeForQuery.filteredEndpoints:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.net.InetAddress
invokestatic org.apache.cassandra.service.StorageProxy.canDoLocalRequest:(Ljava/net/InetAddress;)Z
ifeq 10
8: getstatic org.apache.cassandra.concurrent.Stage.READ:Lorg/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$LocalReadRunnable
dup
aload 3
aload 8
invokespecial org.apache.cassandra.service.StorageProxy$LocalReadRunnable.<init>:(Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/service/ReadCallback;)V
invokeinterface org.apache.cassandra.concurrent.LocalAwareExecutorService.execute:(Ljava/lang/Runnable;)V
9: goto 16
10: StackMap locals: org.apache.cassandra.service.StorageProxy$RangeCommandIterator org.apache.cassandra.service.StorageProxy$RangeForQuery int org.apache.cassandra.db.PartitionRangeReadCommand org.apache.cassandra.service.DataResolver int int java.util.List org.apache.cassandra.service.ReadCallback
StackMap stack:
aload 1
getfield org.apache.cassandra.service.StorageProxy$RangeForQuery.filteredEndpoints:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 15
StackMap locals: org.apache.cassandra.service.StorageProxy$RangeCommandIterator org.apache.cassandra.service.StorageProxy$RangeForQuery int org.apache.cassandra.db.PartitionRangeReadCommand org.apache.cassandra.service.DataResolver int int java.util.List org.apache.cassandra.service.ReadCallback top java.util.Iterator
StackMap stack:
11: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.net.InetAddress
astore 9
start local 9 12: aload 3
invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 9
invokevirtual org.apache.cassandra.net.MessagingService.getVersion:(Ljava/net/InetAddress;)I
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.createMessage:(I)Lorg/apache/cassandra/net/MessageOut;
astore 11
start local 11 13: ldc "Enqueuing request to {}"
aload 9
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;)V
14: invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 11
aload 9
aload 8
invokevirtual org.apache.cassandra.net.MessagingService.sendRRWithFailure:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;Lorg/apache/cassandra/net/IAsyncCallbackWithFailure;)I
pop
end local 11 end local 9 15: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
16: StackMap locals: org.apache.cassandra.service.StorageProxy$RangeCommandIterator org.apache.cassandra.service.StorageProxy$RangeForQuery int org.apache.cassandra.db.PartitionRangeReadCommand org.apache.cassandra.service.DataResolver int int java.util.List org.apache.cassandra.service.ReadCallback
StackMap stack:
new org.apache.cassandra.service.StorageProxy$SingleRangeResponse
dup
aload 8
invokespecial org.apache.cassandra.service.StorageProxy$SingleRangeResponse.<init>:(Lorg/apache/cassandra/service/ReadCallback;)V
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 17 0 this Lorg/apache/cassandra/service/StorageProxy$RangeCommandIterator;
0 17 1 toQuery Lorg/apache/cassandra/service/StorageProxy$RangeForQuery;
0 17 2 isFirst Z
1 17 3 rangeCommand Lorg/apache/cassandra/db/PartitionRangeReadCommand;
2 17 4 resolver Lorg/apache/cassandra/service/DataResolver;
3 17 5 blockFor I
4 17 6 minResponses I
5 17 7 minimalEndpoints Ljava/util/List<Ljava/net/InetAddress;>;
6 17 8 handler Lorg/apache/cassandra/service/ReadCallback;
12 15 9 endpoint Ljava/net/InetAddress;
13 15 11 message Lorg/apache/cassandra/net/MessageOut<Lorg/apache/cassandra/db/ReadCommand;>;
MethodParameters:
Name Flags
toQuery
isFirst
private org.apache.cassandra.db.partitions.PartitionIterator sendNextRequests();
descriptor: ()Lorg/apache/cassandra/db/partitions/PartitionIterator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.concurrencyFactor:I
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 8
3: StackMap locals: java.util.List int
StackMap stack:
aload 1
aload 0
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.ranges:Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.service.StorageProxy$RangeForQuery
iload 2
ifne 4
iconst_1
goto 5
StackMap locals: org.apache.cassandra.service.StorageProxy$RangeCommandIterator java.util.List int
StackMap stack: java.util.List org.apache.cassandra.service.StorageProxy$RangeCommandIterator org.apache.cassandra.service.StorageProxy$RangeForQuery
4: iconst_0
StackMap locals: org.apache.cassandra.service.StorageProxy$RangeCommandIterator java.util.List int
StackMap stack: java.util.List org.apache.cassandra.service.StorageProxy$RangeCommandIterator org.apache.cassandra.service.StorageProxy$RangeForQuery int
5: invokevirtual org.apache.cassandra.service.StorageProxy$RangeCommandIterator.query:(Lorg/apache/cassandra/service/StorageProxy$RangeForQuery;Z)Lorg/apache/cassandra/service/StorageProxy$SingleRangeResponse;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 0
dup
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.rangesQueried:I
iconst_1
iadd
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.rangesQueried:I
7: iinc 2 1
StackMap locals:
StackMap stack:
8: iload 2
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.concurrencyFactor:I
if_icmpge 9
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.ranges:Ljava/util/Iterator;
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 2 9: StackMap locals:
StackMap stack:
ldc "Submitted {} concurrent range requests"
aload 1
invokeinterface java.util.List.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic org.apache.cassandra.tracing.Tracing.trace:(Ljava/lang/String;Ljava/lang/Object;)V
10: aload 0
getstatic org.apache.cassandra.db.filter.DataLimits.NONE:Lorg/apache/cassandra/db/filter/DataLimits;
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.command:Lorg/apache/cassandra/db/PartitionRangeReadCommand;
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.nowInSec:()I
iconst_1
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.command:Lorg/apache/cassandra/db/PartitionRangeReadCommand;
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.selectsFullPartition:()Z
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.enforceStrictLiveness:Z
invokevirtual org.apache.cassandra.db.filter.DataLimits.newCounter:(IZZZ)Lorg/apache/cassandra/db/filter/DataLimits$Counter;
putfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.counter:Lorg/apache/cassandra/db/filter/DataLimits$Counter;
11: aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.counter:Lorg/apache/cassandra/db/filter/DataLimits$Counter;
aload 1
invokestatic org.apache.cassandra.db.partitions.PartitionIterators.concat:(Ljava/util/List;)Lorg/apache/cassandra/db/partitions/PartitionIterator;
invokevirtual org.apache.cassandra.db.filter.DataLimits$Counter.applyTo:(Lorg/apache/cassandra/db/partitions/PartitionIterator;)Lorg/apache/cassandra/db/partitions/PartitionIterator;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/service/StorageProxy$RangeCommandIterator;
1 12 1 concurrentQueries Ljava/util/List<Lorg/apache/cassandra/db/partitions/PartitionIterator;>;
2 9 2 i I
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.sentQueryIterator:Lorg/apache/cassandra/db/partitions/PartitionIterator;
ifnull 8
1: aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.sentQueryIterator:Lorg/apache/cassandra/db/partitions/PartitionIterator;
invokeinterface org.apache.cassandra.db.partitions.PartitionIterator.close:()V
2: goto 8
3: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
4: invokestatic java.lang.System.nanoTime:()J
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.startTime:J
lsub
lstore 2
start local 2 5: getstatic org.apache.cassandra.service.StorageProxy.rangeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
lload 2
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
6: aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.command:Lorg/apache/cassandra/db/PartitionRangeReadCommand;
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.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.coordinatorScanLatency:Lcom/codahale/metrics/Timer;
lload 2
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.codahale.metrics.Timer.update:(JLjava/util/concurrent/TimeUnit;)V
end local 2 7: aload 1
athrow
8: StackMap locals:
StackMap stack:
invokestatic java.lang.System.nanoTime:()J
aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.startTime:J
lsub
lstore 2
start local 2 9: getstatic org.apache.cassandra.service.StorageProxy.rangeMetrics:Lorg/apache/cassandra/metrics/ClientRequestMetrics;
lload 2
invokevirtual org.apache.cassandra.metrics.ClientRequestMetrics.addNano:(J)V
10: aload 0
getfield org.apache.cassandra.service.StorageProxy$RangeCommandIterator.command:Lorg/apache/cassandra/db/PartitionRangeReadCommand;
invokevirtual org.apache.cassandra.db.PartitionRangeReadCommand.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.coordinatorScanLatency:Lcom/codahale/metrics/Timer;
lload 2
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.codahale.metrics.Timer.update:(JLjava/util/concurrent/TimeUnit;)V
end local 2 11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/service/StorageProxy$RangeCommandIterator;
5 7 2 latency J
9 11 2 latency J
Exception table:
from to target type
0 3 3 any
public java.lang.Object computeNext();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.apache.cassandra.service.StorageProxy$RangeCommandIterator.computeNext:()Lorg/apache/cassandra/db/rows/RowIterator;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lorg/apache/cassandra/utils/AbstractIterator<Lorg/apache/cassandra/db/rows/RowIterator;>;Lorg/apache/cassandra/db/partitions/PartitionIterator;
SourceFile: "StorageProxy.java"
NestHost: org.apache.cassandra.service.StorageProxy
InnerClasses:
public abstract Counter = org.apache.cassandra.db.filter.DataLimits$Counter of org.apache.cassandra.db.filter.DataLimits
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 SingleRangeResponse = org.apache.cassandra.service.StorageProxy$SingleRangeResponse of org.apache.cassandra.service.StorageProxy