public class org.apache.cassandra.net.MessageDeliveryTask implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.net.MessageDeliveryTask
super_class: java.lang.Object
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.apache.cassandra.net.MessageIn message;
descriptor: Lorg/apache/cassandra/net/MessageIn;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int id;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.util.EnumSet<org.apache.cassandra.net.MessagingService$Verb> GOSSIP_VERBS;
descriptor: Ljava/util/EnumSet;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/EnumSet<Lorg/apache/cassandra/net/MessagingService$Verb;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/net/MessageDeliveryTask;
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.net.MessageDeliveryTask.$assertionsDisabled:Z
3: ldc Lorg/apache/cassandra/net/MessageDeliveryTask;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.net.MessageDeliveryTask.logger:Lorg/slf4j/Logger;
4: getstatic org.apache.cassandra.net.MessagingService$Verb.GOSSIP_DIGEST_ACK:Lorg/apache/cassandra/net/MessagingService$Verb;
5: getstatic org.apache.cassandra.net.MessagingService$Verb.GOSSIP_DIGEST_ACK2:Lorg/apache/cassandra/net/MessagingService$Verb;
6: getstatic org.apache.cassandra.net.MessagingService$Verb.GOSSIP_DIGEST_SYN:Lorg/apache/cassandra/net/MessagingService$Verb;
7: invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
putstatic org.apache.cassandra.net.MessageDeliveryTask.GOSSIP_VERBS:Ljava/util/EnumSet;
8: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.cassandra.net.MessageIn, int);
descriptor: (Lorg/apache/cassandra/net/MessageIn;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: getstatic org.apache.cassandra.net.MessageDeliveryTask.$assertionsDisabled:Z
ifne 2
aload 1
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.apache.cassandra.net.MessageDeliveryTask org.apache.cassandra.net.MessageIn int
StackMap stack:
aload 0
aload 1
putfield org.apache.cassandra.net.MessageDeliveryTask.message:Lorg/apache/cassandra/net/MessageIn;
3: aload 0
iload 2
putfield org.apache.cassandra.net.MessageDeliveryTask.id:I
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/net/MessageDeliveryTask;
0 5 1 message Lorg/apache/cassandra/net/MessageIn;
0 5 2 id I
MethodParameters:
Name Flags
message
id
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.net.MessageDeliveryTask.message:Lorg/apache/cassandra/net/MessageIn;
getfield org.apache.cassandra.net.MessageIn.verb:Lorg/apache/cassandra/net/MessagingService$Verb;
astore 1
start local 1 1: aload 0
getfield org.apache.cassandra.net.MessageDeliveryTask.message:Lorg/apache/cassandra/net/MessageIn;
invokevirtual org.apache.cassandra.net.MessageIn.getLifetimeInMS:()J
lstore 2
start local 2 2: getstatic org.apache.cassandra.net.MessagingService.DROPPABLE_VERBS:Ljava/util/EnumSet;
aload 1
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifeq 6
3: lload 2
aload 0
getfield org.apache.cassandra.net.MessageDeliveryTask.message:Lorg/apache/cassandra/net/MessageIn;
invokevirtual org.apache.cassandra.net.MessageIn.getTimeout:()J
lcmp
ifle 6
4: invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 0
getfield org.apache.cassandra.net.MessageDeliveryTask.message:Lorg/apache/cassandra/net/MessageIn;
lload 2
invokevirtual org.apache.cassandra.net.MessagingService.incrementDroppedMessages:(Lorg/apache/cassandra/net/MessageIn;J)V
5: return
6: StackMap locals: org.apache.cassandra.net.MessagingService$Verb long
StackMap stack:
invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 1
invokevirtual org.apache.cassandra.net.MessagingService.getVerbHandler:(Lorg/apache/cassandra/net/MessagingService$Verb;)Lorg/apache/cassandra/net/IVerbHandler;
astore 4
start local 4 7: aload 4
ifnonnull 10
8: getstatic org.apache.cassandra.net.MessageDeliveryTask.logger:Lorg/slf4j/Logger;
ldc "Unknown verb {}"
aload 1
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
9: return
10: StackMap locals: org.apache.cassandra.net.IVerbHandler
StackMap stack:
aload 4
aload 0
getfield org.apache.cassandra.net.MessageDeliveryTask.message:Lorg/apache/cassandra/net/MessageIn;
aload 0
getfield org.apache.cassandra.net.MessageDeliveryTask.id:I
invokeinterface org.apache.cassandra.net.IVerbHandler.doVerb:(Lorg/apache/cassandra/net/MessageIn;I)V
11: goto 22
12: StackMap locals:
StackMap stack: java.io.IOException
astore 5
start local 5 13: aload 0
aload 5
invokevirtual org.apache.cassandra.net.MessageDeliveryTask.handleFailure:(Ljava/lang/Throwable;)V
14: new java.lang.RuntimeException
dup
aload 5
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 15: StackMap locals:
StackMap stack: java.lang.RuntimeException
astore 5
start local 5 16: aload 0
aload 5
invokevirtual org.apache.cassandra.net.MessageDeliveryTask.handleFailure:(Ljava/lang/Throwable;)V
17: getstatic org.apache.cassandra.net.MessageDeliveryTask.logger:Lorg/slf4j/Logger;
aload 5
invokevirtual java.lang.RuntimeException.getMessage:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
end local 5 18: goto 22
19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
start local 5 20: aload 0
aload 5
invokevirtual org.apache.cassandra.net.MessageDeliveryTask.handleFailure:(Ljava/lang/Throwable;)V
21: aload 5
athrow
end local 5 22: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.net.MessageDeliveryTask.GOSSIP_VERBS:Ljava/util/EnumSet;
aload 0
getfield org.apache.cassandra.net.MessageDeliveryTask.message:Lorg/apache/cassandra/net/MessageIn;
getfield org.apache.cassandra.net.MessageIn.verb:Lorg/apache/cassandra/net/MessagingService$Verb;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ifeq 24
23: getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
aload 0
getfield org.apache.cassandra.net.MessageDeliveryTask.message:Lorg/apache/cassandra/net/MessageIn;
getfield org.apache.cassandra.net.MessageIn.constructionTime:J
invokevirtual org.apache.cassandra.gms.Gossiper.setLastProcessedMessageAt:(J)V
24: StackMap locals:
StackMap stack:
return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/apache/cassandra/net/MessageDeliveryTask;
1 25 1 verb Lorg/apache/cassandra/net/MessagingService$Verb;
2 25 2 timeTaken J
7 25 4 verbHandler Lorg/apache/cassandra/net/IVerbHandler;
13 15 5 ioe Ljava/io/IOException;
16 18 5 e Ljava/lang/RuntimeException;
20 22 5 t Ljava/lang/Throwable;
Exception table:
from to target type
10 11 12 Class java.io.IOException
10 11 15 Class org.apache.cassandra.db.filter.TombstoneOverwhelmingException
10 11 15 Class org.apache.cassandra.index.IndexNotAvailableException
10 11 19 Class java.lang.Throwable
private void handleFailure(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.net.MessageDeliveryTask.message:Lorg/apache/cassandra/net/MessageIn;
invokevirtual org.apache.cassandra.net.MessageIn.doCallbackOnFailure:()Z
ifeq 18
1: new org.apache.cassandra.net.MessageOut
dup
getstatic org.apache.cassandra.net.MessagingService$Verb.INTERNAL_RESPONSE:Lorg/apache/cassandra/net/MessagingService$Verb;
invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;)V
2: ldc "FAIL"
getstatic org.apache.cassandra.net.MessagingService.ONE_BYTE:[B
invokevirtual org.apache.cassandra.net.MessageOut.withParameter:(Ljava/lang/String;[B)Lorg/apache/cassandra/net/MessageOut;
3: astore 2
start local 2 4: aload 1
instanceof org.apache.cassandra.db.filter.TombstoneOverwhelmingException
ifeq 17
5: aconst_null
astore 3
aconst_null
astore 4
6: new org.apache.cassandra.io.util.DataOutputBuffer
dup
invokespecial org.apache.cassandra.io.util.DataOutputBuffer.<init>:()V
astore 5
start local 5 7: aload 5
getstatic org.apache.cassandra.exceptions.RequestFailureReason.READ_TOO_MANY_TOMBSTONES:Lorg/apache/cassandra/exceptions/RequestFailureReason;
getfield org.apache.cassandra.exceptions.RequestFailureReason.code:I
invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.writeShort:(I)V
8: aload 2
ldc "FAIL_REASON"
aload 5
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 2
9: aload 5
ifnull 17
aload 5
invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.close:()V
goto 17
StackMap locals: org.apache.cassandra.net.MessageDeliveryTask java.lang.Throwable org.apache.cassandra.net.MessageOut java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.util.DataOutputBuffer
StackMap stack: java.lang.Throwable
10: astore 3
aload 5
ifnull 11
aload 5
invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.close:()V
end local 5 StackMap locals:
StackMap stack:
11: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 4
aload 3
ifnonnull 13
aload 4
astore 3
goto 14
StackMap locals:
StackMap stack:
13: aload 3
aload 4
if_acmpeq 14
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
14: aload 3
athrow
15: StackMap locals: org.apache.cassandra.net.MessageDeliveryTask java.lang.Throwable org.apache.cassandra.net.MessageOut
StackMap stack: java.io.IOException
astore 3
start local 3 16: new java.lang.RuntimeException
dup
aload 3
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 17: StackMap locals:
StackMap stack:
invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
aload 2
aload 0
getfield org.apache.cassandra.net.MessageDeliveryTask.id:I
aload 0
getfield org.apache.cassandra.net.MessageDeliveryTask.message:Lorg/apache/cassandra/net/MessageIn;
getfield org.apache.cassandra.net.MessageIn.from:Ljava/net/InetAddress;
invokevirtual org.apache.cassandra.net.MessagingService.sendReply:(Lorg/apache/cassandra/net/MessageOut;ILjava/net/InetAddress;)V
end local 2 18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/cassandra/net/MessageDeliveryTask;
0 19 1 t Ljava/lang/Throwable;
4 18 2 response Lorg/apache/cassandra/net/MessageOut;
7 11 5 out Lorg/apache/cassandra/io/util/DataOutputBuffer;
16 17 3 ex Ljava/io/IOException;
Exception table:
from to target type
7 9 10 any
6 12 12 any
5 15 15 Class java.io.IOException
MethodParameters:
Name Flags
t
}
SourceFile: "MessageDeliveryTask.java"
InnerClasses:
public Verb = org.apache.cassandra.net.MessagingService$Verb of org.apache.cassandra.net.MessagingService