class org.apache.cassandra.service.StorageProxy$LocalReadRunnable extends org.apache.cassandra.service.StorageProxy$DroppableRunnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.cassandra.service.StorageProxy$LocalReadRunnable
super_class: org.apache.cassandra.service.StorageProxy$DroppableRunnable
{
private final org.apache.cassandra.db.ReadCommand command;
descriptor: Lorg/apache/cassandra/db/ReadCommand;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.service.ReadCallback handler;
descriptor: Lorg/apache/cassandra/service/ReadCallback;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long start;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(org.apache.cassandra.db.ReadCommand, org.apache.cassandra.service.ReadCallback);
descriptor: (Lorg/apache/cassandra/db/ReadCommand;Lorg/apache/cassandra/service/ReadCallback;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 // org.apache.cassandra.service.StorageProxy$LocalReadRunnable this
start local 1 // org.apache.cassandra.db.ReadCommand command
start local 2 // org.apache.cassandra.service.ReadCallback handler
0: .line 1861
aload 0 /* this */
getstatic org.apache.cassandra.net.MessagingService$Verb.READ:Lorg/apache/cassandra/net/MessagingService$Verb;
invokespecial org.apache.cassandra.service.StorageProxy$DroppableRunnable.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;)V
1: .line 1857
aload 0 /* this */
invokestatic java.lang.System.nanoTime:()J
putfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.start:J
2: .line 1862
aload 0 /* this */
aload 1 /* command */
putfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.command:Lorg/apache/cassandra/db/ReadCommand;
3: .line 1863
aload 0 /* this */
aload 2 /* handler */
putfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.handler:Lorg/apache/cassandra/service/ReadCallback;
4: .line 1864
return
end local 2 // org.apache.cassandra.service.ReadCallback handler
end local 1 // org.apache.cassandra.db.ReadCommand command
end local 0 // org.apache.cassandra.service.StorageProxy$LocalReadRunnable this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/service/StorageProxy$LocalReadRunnable;
0 5 1 command Lorg/apache/cassandra/db/ReadCommand;
0 5 2 handler Lorg/apache/cassandra/service/ReadCallback;
MethodParameters:
Name Flags
command
handler
protected void runMayThrow();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=6, args_size=1
start local 0 // org.apache.cassandra.service.StorageProxy$LocalReadRunnable this
0: .line 1870
aload 0 /* this */
getfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.command:Lorg/apache/cassandra/db/ReadCommand;
aload 0 /* this */
getfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.constructionTime:J
iconst_0
aload 0 /* this */
getfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.verb:Lorg/apache/cassandra/net/MessagingService$Verb;
invokevirtual org.apache.cassandra.net.MessagingService$Verb.getTimeout:()J
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getSlowQueryTimeout:()J
invokevirtual org.apache.cassandra.db.ReadCommand.setMonitoringTime:(JZJJ)V
1: .line 1873
aconst_null
astore 2
aconst_null
astore 3
2: aload 0 /* this */
getfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.command:Lorg/apache/cassandra/db/ReadCommand;
invokevirtual org.apache.cassandra.db.ReadCommand.executionController:()Lorg/apache/cassandra/db/ReadExecutionController;
astore 4 /* executionController */
start local 4 // org.apache.cassandra.db.ReadExecutionController executionController
3: .line 1874
aload 0 /* this */
getfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.command:Lorg/apache/cassandra/db/ReadCommand;
aload 4 /* executionController */
invokevirtual org.apache.cassandra.db.ReadCommand.executeLocally:(Lorg/apache/cassandra/db/ReadExecutionController;)Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
astore 5 /* iterator */
start local 5 // org.apache.cassandra.db.partitions.UnfilteredPartitionIterator iterator
4: .line 1876
aload 0 /* this */
getfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.command:Lorg/apache/cassandra/db/ReadCommand;
aload 5 /* iterator */
invokevirtual org.apache.cassandra.db.ReadCommand.createResponse:(Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;)Lorg/apache/cassandra/db/ReadResponse;
astore 1 /* response */
start local 1 // org.apache.cassandra.db.ReadResponse response
5: .line 1877
aload 5 /* iterator */
ifnull 8
aload 5 /* iterator */
invokeinterface org.apache.cassandra.db.partitions.UnfilteredPartitionIterator.close:()V
goto 8
end local 1 // org.apache.cassandra.db.ReadResponse response
StackMap locals: org.apache.cassandra.service.StorageProxy$LocalReadRunnable top java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.ReadExecutionController org.apache.cassandra.db.partitions.UnfilteredPartitionIterator
StackMap stack: java.lang.Throwable
6: astore 2
aload 5 /* iterator */
ifnull 7
aload 5 /* iterator */
invokeinterface org.apache.cassandra.db.partitions.UnfilteredPartitionIterator.close:()V
end local 5 // org.apache.cassandra.db.partitions.UnfilteredPartitionIterator iterator
StackMap locals:
StackMap stack:
7: aload 2
athrow
start local 1 // org.apache.cassandra.db.ReadResponse response
StackMap locals: org.apache.cassandra.service.StorageProxy$LocalReadRunnable org.apache.cassandra.db.ReadResponse java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.ReadExecutionController
StackMap stack:
8: aload 4 /* executionController */
ifnull 16
aload 4 /* executionController */
invokevirtual org.apache.cassandra.db.ReadExecutionController.close:()V
goto 16
end local 1 // org.apache.cassandra.db.ReadResponse response
StackMap locals: org.apache.cassandra.service.StorageProxy$LocalReadRunnable top java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.ReadExecutionController
StackMap stack: java.lang.Throwable
9: astore 3
aload 2
ifnonnull 10
aload 3
astore 2
goto 11
StackMap locals:
StackMap stack:
10: aload 2
aload 3
if_acmpeq 11
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 4 /* executionController */
ifnull 12
aload 4 /* executionController */
invokevirtual org.apache.cassandra.db.ReadExecutionController.close:()V
end local 4 // org.apache.cassandra.db.ReadExecutionController executionController
StackMap locals:
StackMap stack:
12: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 3
aload 2
ifnonnull 14
aload 3
astore 2
goto 15
StackMap locals:
StackMap stack:
14: aload 2
aload 3
if_acmpeq 15
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 2
athrow
start local 1 // org.apache.cassandra.db.ReadResponse response
16: .line 1879
StackMap locals: org.apache.cassandra.service.StorageProxy$LocalReadRunnable org.apache.cassandra.db.ReadResponse
StackMap stack:
aload 0 /* this */
getfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.command:Lorg/apache/cassandra/db/ReadCommand;
invokevirtual org.apache.cassandra.db.ReadCommand.complete:()Z
ifeq 19
17: .line 1881
aload 0 /* this */
getfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.handler:Lorg/apache/cassandra/service/ReadCallback;
aload 1 /* response */
invokevirtual org.apache.cassandra.service.ReadCallback.response:(Lorg/apache/cassandra/db/ReadResponse;)V
18: .line 1882
goto 21
19: .line 1885
StackMap locals:
StackMap stack:
invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 0 /* this */
getfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.verb:Lorg/apache/cassandra/net/MessagingService$Verb;
invokestatic java.lang.System.currentTimeMillis:()J
aload 0 /* this */
getfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.constructionTime:J
lsub
invokevirtual org.apache.cassandra.net.MessagingService.incrementDroppedMessages:(Lorg/apache/cassandra/net/MessagingService$Verb;J)V
20: .line 1886
aload 0 /* this */
getfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.handler:Lorg/apache/cassandra/service/ReadCallback;
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.ReadCallback.onFailure:(Ljava/net/InetAddress;Lorg/apache/cassandra/exceptions/RequestFailureReason;)V
21: .line 1889
StackMap locals:
StackMap stack:
invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokestatic java.lang.System.nanoTime:()J
aload 0 /* this */
getfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.start:J
lsub
invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
invokevirtual org.apache.cassandra.net.MessagingService.addLatency:(Ljava/net/InetAddress;J)V
end local 1 // org.apache.cassandra.db.ReadResponse response
22: .line 1890
goto 30
23: .line 1891
StackMap locals: org.apache.cassandra.service.StorageProxy$LocalReadRunnable
StackMap stack: java.lang.Throwable
astore 1 /* t */
start local 1 // java.lang.Throwable t
24: .line 1893
aload 1 /* t */
instanceof org.apache.cassandra.db.filter.TombstoneOverwhelmingException
ifeq 28
25: .line 1895
aload 0 /* this */
getfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.handler:Lorg/apache/cassandra/service/ReadCallback;
invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
getstatic org.apache.cassandra.exceptions.RequestFailureReason.READ_TOO_MANY_TOMBSTONES:Lorg/apache/cassandra/exceptions/RequestFailureReason;
invokevirtual org.apache.cassandra.service.ReadCallback.onFailure:(Ljava/net/InetAddress;Lorg/apache/cassandra/exceptions/RequestFailureReason;)V
26: .line 1896
getstatic org.apache.cassandra.service.StorageProxy.logger:Lorg/slf4j/Logger;
aload 1 /* t */
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
27: .line 1897
goto 30
28: .line 1900
StackMap locals: java.lang.Throwable
StackMap stack:
aload 0 /* this */
getfield org.apache.cassandra.service.StorageProxy$LocalReadRunnable.handler:Lorg/apache/cassandra/service/ReadCallback;
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.ReadCallback.onFailure:(Ljava/net/InetAddress;Lorg/apache/cassandra/exceptions/RequestFailureReason;)V
29: .line 1901
aload 1 /* t */
athrow
end local 1 // java.lang.Throwable t
30: .line 1904
StackMap locals:
StackMap stack:
return
end local 0 // org.apache.cassandra.service.StorageProxy$LocalReadRunnable this
LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/apache/cassandra/service/StorageProxy$LocalReadRunnable;
5 6 1 response Lorg/apache/cassandra/db/ReadResponse;
8 9 1 response Lorg/apache/cassandra/db/ReadResponse;
16 22 1 response Lorg/apache/cassandra/db/ReadResponse;
3 12 4 executionController Lorg/apache/cassandra/db/ReadExecutionController;
4 7 5 iterator Lorg/apache/cassandra/db/partitions/UnfilteredPartitionIterator;
24 30 1 t Ljava/lang/Throwable;
Exception table:
from to target type
4 5 6 any
3 8 9 any
2 13 13 any
0 22 23 Class java.lang.Throwable
}
SourceFile: "StorageProxy.java"
NestHost: org.apache.cassandra.service.StorageProxy
InnerClasses:
public Verb = org.apache.cassandra.net.MessagingService$Verb of org.apache.cassandra.net.MessagingService
private abstract DroppableRunnable = org.apache.cassandra.service.StorageProxy$DroppableRunnable of org.apache.cassandra.service.StorageProxy
LocalReadRunnable = org.apache.cassandra.service.StorageProxy$LocalReadRunnable of org.apache.cassandra.service.StorageProxy