public class org.apache.cassandra.concurrent.StageManager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.concurrent.StageManager
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 static final java.util.EnumMap<org.apache.cassandra.concurrent.Stage, org.apache.cassandra.concurrent.LocalAwareExecutorService> stages;
descriptor: Ljava/util/EnumMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/EnumMap<Lorg/apache/cassandra/concurrent/Stage;Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;>;
public static final long KEEPALIVE;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 60
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/concurrent/StageManager;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.concurrent.StageManager.logger:Lorg/slf4j/Logger;
1: new java.util.EnumMap
dup
ldc Lorg/apache/cassandra/concurrent/Stage;
invokespecial java.util.EnumMap.<init>:(Ljava/lang/Class;)V
putstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
2: getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
getstatic org.apache.cassandra.concurrent.Stage.MUTATION:Lorg/apache/cassandra/concurrent/Stage;
getstatic org.apache.cassandra.concurrent.Stage.MUTATION:Lorg/apache/cassandra/concurrent/Stage;
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getConcurrentWriters:()I
invokestatic org.apache.cassandra.concurrent.StageManager.multiThreadedLowSignalStage:(Lorg/apache/cassandra/concurrent/Stage;I)Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
getstatic org.apache.cassandra.concurrent.Stage.COUNTER_MUTATION:Lorg/apache/cassandra/concurrent/Stage;
getstatic org.apache.cassandra.concurrent.Stage.COUNTER_MUTATION:Lorg/apache/cassandra/concurrent/Stage;
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getConcurrentCounterWriters:()I
invokestatic org.apache.cassandra.concurrent.StageManager.multiThreadedLowSignalStage:(Lorg/apache/cassandra/concurrent/Stage;I)Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
getstatic org.apache.cassandra.concurrent.Stage.VIEW_MUTATION:Lorg/apache/cassandra/concurrent/Stage;
getstatic org.apache.cassandra.concurrent.Stage.VIEW_MUTATION:Lorg/apache/cassandra/concurrent/Stage;
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getConcurrentViewWriters:()I
invokestatic org.apache.cassandra.concurrent.StageManager.multiThreadedLowSignalStage:(Lorg/apache/cassandra/concurrent/Stage;I)Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
getstatic org.apache.cassandra.concurrent.Stage.READ:Lorg/apache/cassandra/concurrent/Stage;
getstatic org.apache.cassandra.concurrent.Stage.READ:Lorg/apache/cassandra/concurrent/Stage;
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getConcurrentReaders:()I
invokestatic org.apache.cassandra.concurrent.StageManager.multiThreadedLowSignalStage:(Lorg/apache/cassandra/concurrent/Stage;I)Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
getstatic org.apache.cassandra.concurrent.Stage.REQUEST_RESPONSE:Lorg/apache/cassandra/concurrent/Stage;
getstatic org.apache.cassandra.concurrent.Stage.REQUEST_RESPONSE:Lorg/apache/cassandra/concurrent/Stage;
invokestatic org.apache.cassandra.utils.FBUtilities.getAvailableProcessors:()I
invokestatic org.apache.cassandra.concurrent.StageManager.multiThreadedLowSignalStage:(Lorg/apache/cassandra/concurrent/Stage;I)Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
getstatic org.apache.cassandra.concurrent.Stage.INTERNAL_RESPONSE:Lorg/apache/cassandra/concurrent/Stage;
getstatic org.apache.cassandra.concurrent.Stage.INTERNAL_RESPONSE:Lorg/apache/cassandra/concurrent/Stage;
invokestatic org.apache.cassandra.utils.FBUtilities.getAvailableProcessors:()I
invokestatic org.apache.cassandra.concurrent.StageManager.multiThreadedStage:(Lorg/apache/cassandra/concurrent/Stage;I)Lorg/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
getstatic org.apache.cassandra.concurrent.Stage.GOSSIP:Lorg/apache/cassandra/concurrent/Stage;
new org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor
dup
getstatic org.apache.cassandra.concurrent.Stage.GOSSIP:Lorg/apache/cassandra/concurrent/Stage;
invokespecial org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor.<init>:(Lorg/apache/cassandra/concurrent/Stage;)V
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
getstatic org.apache.cassandra.concurrent.Stage.ANTI_ENTROPY:Lorg/apache/cassandra/concurrent/Stage;
new org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor
dup
getstatic org.apache.cassandra.concurrent.Stage.ANTI_ENTROPY:Lorg/apache/cassandra/concurrent/Stage;
invokespecial org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor.<init>:(Lorg/apache/cassandra/concurrent/Stage;)V
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
getstatic org.apache.cassandra.concurrent.Stage.MIGRATION:Lorg/apache/cassandra/concurrent/Stage;
new org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor
dup
getstatic org.apache.cassandra.concurrent.Stage.MIGRATION:Lorg/apache/cassandra/concurrent/Stage;
invokespecial org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor.<init>:(Lorg/apache/cassandra/concurrent/Stage;)V
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
getstatic org.apache.cassandra.concurrent.Stage.MISC:Lorg/apache/cassandra/concurrent/Stage;
new org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor
dup
getstatic org.apache.cassandra.concurrent.Stage.MISC:Lorg/apache/cassandra/concurrent/Stage;
invokespecial org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor.<init>:(Lorg/apache/cassandra/concurrent/Stage;)V
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
getstatic org.apache.cassandra.concurrent.Stage.READ_REPAIR:Lorg/apache/cassandra/concurrent/Stage;
getstatic org.apache.cassandra.concurrent.Stage.READ_REPAIR:Lorg/apache/cassandra/concurrent/Stage;
invokestatic org.apache.cassandra.utils.FBUtilities.getAvailableProcessors:()I
invokestatic org.apache.cassandra.concurrent.StageManager.multiThreadedStage:(Lorg/apache/cassandra/concurrent/Stage;I)Lorg/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
getstatic org.apache.cassandra.concurrent.Stage.TRACING:Lorg/apache/cassandra/concurrent/Stage;
invokestatic org.apache.cassandra.concurrent.StageManager.tracingExecutor:()Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
invokevirtual java.util.EnumMap.put:(Ljava/lang/Enum;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/concurrent/StageManager;
private static org.apache.cassandra.concurrent.LocalAwareExecutorService tracingExecutor();
descriptor: ()Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=11, locals=1, args_size=0
0: new org.apache.cassandra.concurrent.StageManager$1
dup
invokespecial org.apache.cassandra.concurrent.StageManager$1.<init>:()V
astore 0
start local 0 1: new org.apache.cassandra.concurrent.StageManager$TracingExecutor
dup
iconst_1
2: iconst_1
3: ldc 60
4: getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
5: new java.util.concurrent.ArrayBlockingQueue
dup
sipush 1000
invokespecial java.util.concurrent.ArrayBlockingQueue.<init>:(I)V
6: new org.apache.cassandra.concurrent.NamedThreadFactory
dup
getstatic org.apache.cassandra.concurrent.Stage.TRACING:Lorg/apache/cassandra/concurrent/Stage;
invokevirtual org.apache.cassandra.concurrent.Stage.getJmxName:()Ljava/lang/String;
invokespecial org.apache.cassandra.concurrent.NamedThreadFactory.<init>:(Ljava/lang/String;)V
7: aload 0
8: invokespecial org.apache.cassandra.concurrent.StageManager$TracingExecutor.<init>:(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;Ljava/util/concurrent/RejectedExecutionHandler;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 9 0 reh Ljava/util/concurrent/RejectedExecutionHandler;
private static org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor multiThreadedStage(org.apache.cassandra.concurrent.Stage, int);
descriptor: (Lorg/apache/cassandra/concurrent/Stage;I)Lorg/apache/cassandra/concurrent/JMXEnabledThreadPoolExecutor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=10, locals=2, args_size=2
start local 0 start local 1 0: new org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor
dup
iload 1
1: ldc 60
2: getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
3: new java.util.concurrent.LinkedBlockingQueue
dup
invokespecial java.util.concurrent.LinkedBlockingQueue.<init>:()V
4: new org.apache.cassandra.concurrent.NamedThreadFactory
dup
aload 0
invokevirtual org.apache.cassandra.concurrent.Stage.getJmxName:()Ljava/lang/String;
invokespecial org.apache.cassandra.concurrent.NamedThreadFactory.<init>:(Ljava/lang/String;)V
5: aload 0
invokevirtual org.apache.cassandra.concurrent.Stage.getJmxType:()Ljava/lang/String;
6: invokespecial org.apache.cassandra.concurrent.JMXEnabledThreadPoolExecutor.<init>:(IJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Lorg/apache/cassandra/concurrent/NamedThreadFactory;Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 stage Lorg/apache/cassandra/concurrent/Stage;
0 7 1 numThreads I
MethodParameters:
Name Flags
stage
numThreads
private static org.apache.cassandra.concurrent.LocalAwareExecutorService multiThreadedLowSignalStage(org.apache.cassandra.concurrent.Stage, int);
descriptor: (Lorg/apache/cassandra/concurrent/Stage;I)Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
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.concurrent.SharedExecutorPool.SHARED:Lorg/apache/cassandra/concurrent/SharedExecutorPool;
iload 1
ldc 2147483647
aload 0
invokevirtual org.apache.cassandra.concurrent.Stage.getJmxType:()Ljava/lang/String;
aload 0
invokevirtual org.apache.cassandra.concurrent.Stage.getJmxName:()Ljava/lang/String;
invokevirtual org.apache.cassandra.concurrent.SharedExecutorPool.newExecutor:(IILjava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 stage Lorg/apache/cassandra/concurrent/Stage;
0 1 1 numThreads I
MethodParameters:
Name Flags
stage
numThreads
public static org.apache.cassandra.concurrent.LocalAwareExecutorService getStage(org.apache.cassandra.concurrent.Stage);
descriptor: (Lorg/apache/cassandra/concurrent/Stage;)Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
aload 0
invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.concurrent.LocalAwareExecutorService
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 stage Lorg/apache/cassandra/concurrent/Stage;
MethodParameters:
Name Flags
stage
public static void shutdownNow();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=4, args_size=0
0: invokestatic org.apache.cassandra.concurrent.Stage.values:()[Lorg/apache/cassandra/concurrent/Stage;
dup
astore 3
arraylength
istore 2
iconst_0
istore 1
goto 4
StackMap locals: top int int org.apache.cassandra.concurrent.Stage[]
StackMap stack:
1: aload 3
iload 1
aaload
astore 0
start local 0 2: getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
aload 0
invokevirtual java.util.EnumMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.concurrent.LocalAwareExecutorService
invokeinterface org.apache.cassandra.concurrent.LocalAwareExecutorService.shutdownNow:()Ljava/util/List;
pop
end local 0 3: iinc 1 1
StackMap locals:
StackMap stack:
4: iload 1
iload 2
if_icmplt 1
5: return
LocalVariableTable:
Start End Slot Name Signature
2 3 0 stage Lorg/apache/cassandra/concurrent/Stage;
public static void shutdownAndWait(long, java.util.concurrent.TimeUnit);
descriptor: (JLjava/util/concurrent/TimeUnit;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 2 0: lload 0
aload 2
getstatic org.apache.cassandra.concurrent.StageManager.stages:Ljava/util/EnumMap;
invokevirtual java.util.EnumMap.values:()Ljava/util/Collection;
invokestatic org.apache.cassandra.utils.ExecutorUtils.shutdownNowAndWait:(JLjava/util/concurrent/TimeUnit;Ljava/util/Collection;)V
1: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 timeout J
0 2 2 unit Ljava/util/concurrent/TimeUnit;
Exceptions:
throws java.lang.InterruptedException, java.util.concurrent.TimeoutException
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
MethodParameters:
Name Flags
timeout
unit
}
SourceFile: "StageManager.java"
NestMembers:
org.apache.cassandra.concurrent.StageManager$1 org.apache.cassandra.concurrent.StageManager$TracingExecutor
InnerClasses:
org.apache.cassandra.concurrent.StageManager$1
private TracingExecutor = org.apache.cassandra.concurrent.StageManager$TracingExecutor of org.apache.cassandra.concurrent.StageManager