public class org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily this
0: .line 1275
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/ColumnFamilyStore$FlushLargestColumnFamily;
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=13, args_size=1
start local 0 // org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily this
0: .line 1279
fconst_0
fstore 1 /* largestRatio */
start local 1 // float largestRatio
1: .line 1280
aconst_null
astore 2 /* largest */
start local 2 // org.apache.cassandra.db.Memtable largest
2: .line 1281
fconst_0
fstore 3 /* liveOnHeap */
start local 3 // float liveOnHeap
3: fconst_0
fstore 4 /* liveOffHeap */
start local 4 // float liveOffHeap
4: .line 1282
invokestatic org.apache.cassandra.db.ColumnFamilyStore.all:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 6
goto 23
StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily float org.apache.cassandra.db.Memtable float float top java.util.Iterator
StackMap stack:
5: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.ColumnFamilyStore
astore 5 /* cfs */
start local 5 // org.apache.cassandra.db.ColumnFamilyStore cfs
6: .line 1287
aload 5 /* cfs */
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
invokevirtual org.apache.cassandra.db.lifecycle.Tracker.getView:()Lorg/apache/cassandra/db/lifecycle/View;
invokevirtual org.apache.cassandra.db.lifecycle.View.getCurrentMemtable:()Lorg/apache/cassandra/db/Memtable;
astore 7 /* current */
start local 7 // org.apache.cassandra.db.Memtable current
7: .line 1291
fconst_0
fstore 8 /* onHeap */
start local 8 // float onHeap
8: fconst_0
fstore 9 /* offHeap */
start local 9 // float offHeap
9: .line 1292
fload 8 /* onHeap */
aload 7 /* current */
invokevirtual org.apache.cassandra.db.Memtable.getAllocator:()Lorg/apache/cassandra/utils/memory/MemtableAllocator;
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.onHeap:()Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownershipRatio:()F
fadd
fstore 8 /* onHeap */
10: .line 1293
fload 9 /* offHeap */
aload 7 /* current */
invokevirtual org.apache.cassandra.db.Memtable.getAllocator:()Lorg/apache/cassandra/utils/memory/MemtableAllocator;
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.offHeap:()Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownershipRatio:()F
fadd
fstore 9 /* offHeap */
11: .line 1295
aload 5 /* cfs */
getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
invokevirtual org.apache.cassandra.index.SecondaryIndexManager.getAllIndexColumnFamilyStores:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 16
StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily float org.apache.cassandra.db.Memtable float float org.apache.cassandra.db.ColumnFamilyStore java.util.Iterator org.apache.cassandra.db.Memtable float float top java.util.Iterator
StackMap stack:
12: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.ColumnFamilyStore
astore 10 /* indexCfs */
start local 10 // org.apache.cassandra.db.ColumnFamilyStore indexCfs
13: .line 1297
aload 10 /* indexCfs */
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
invokevirtual org.apache.cassandra.db.lifecycle.Tracker.getView:()Lorg/apache/cassandra/db/lifecycle/View;
invokevirtual org.apache.cassandra.db.lifecycle.View.getCurrentMemtable:()Lorg/apache/cassandra/db/Memtable;
invokevirtual org.apache.cassandra.db.Memtable.getAllocator:()Lorg/apache/cassandra/utils/memory/MemtableAllocator;
astore 12 /* allocator */
start local 12 // org.apache.cassandra.utils.memory.MemtableAllocator allocator
14: .line 1298
fload 8 /* onHeap */
aload 12 /* allocator */
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.onHeap:()Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownershipRatio:()F
fadd
fstore 8 /* onHeap */
15: .line 1299
fload 9 /* offHeap */
aload 12 /* allocator */
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.offHeap:()Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownershipRatio:()F
fadd
fstore 9 /* offHeap */
end local 12 // org.apache.cassandra.utils.memory.MemtableAllocator allocator
end local 10 // org.apache.cassandra.db.ColumnFamilyStore indexCfs
16: .line 1295
StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
17: .line 1302
fload 8 /* onHeap */
fload 9 /* offHeap */
invokestatic java.lang.Math.max:(FF)F
fstore 10 /* ratio */
start local 10 // float ratio
18: .line 1303
fload 10 /* ratio */
fload 1 /* largestRatio */
fcmpl
ifle 21
19: .line 1305
aload 7 /* current */
astore 2 /* largest */
20: .line 1306
fload 10 /* ratio */
fstore 1 /* largestRatio */
21: .line 1309
StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily float org.apache.cassandra.db.Memtable float float org.apache.cassandra.db.ColumnFamilyStore java.util.Iterator org.apache.cassandra.db.Memtable float float float
StackMap stack:
fload 3 /* liveOnHeap */
fload 8 /* onHeap */
fadd
fstore 3 /* liveOnHeap */
22: .line 1310
fload 4 /* liveOffHeap */
fload 9 /* offHeap */
fadd
fstore 4 /* liveOffHeap */
end local 10 // float ratio
end local 9 // float offHeap
end local 8 // float onHeap
end local 7 // org.apache.cassandra.db.Memtable current
end local 5 // org.apache.cassandra.db.ColumnFamilyStore cfs
23: .line 1282
StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily float org.apache.cassandra.db.Memtable float float top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
24: .line 1313
aload 2 /* largest */
ifnull 36
25: .line 1315
getstatic org.apache.cassandra.db.Memtable.MEMORY_POOL:Lorg/apache/cassandra/utils/memory/MemtablePool;
getfield org.apache.cassandra.utils.memory.MemtablePool.onHeap:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.usedRatio:()F
fstore 5 /* usedOnHeap */
start local 5 // float usedOnHeap
26: .line 1316
getstatic org.apache.cassandra.db.Memtable.MEMORY_POOL:Lorg/apache/cassandra/utils/memory/MemtablePool;
getfield org.apache.cassandra.utils.memory.MemtablePool.offHeap:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.usedRatio:()F
fstore 6 /* usedOffHeap */
start local 6 // float usedOffHeap
27: .line 1317
getstatic org.apache.cassandra.db.Memtable.MEMORY_POOL:Lorg/apache/cassandra/utils/memory/MemtablePool;
getfield org.apache.cassandra.utils.memory.MemtablePool.onHeap:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.reclaimingRatio:()F
fstore 7 /* flushingOnHeap */
start local 7 // float flushingOnHeap
28: .line 1318
getstatic org.apache.cassandra.db.Memtable.MEMORY_POOL:Lorg/apache/cassandra/utils/memory/MemtablePool;
getfield org.apache.cassandra.utils.memory.MemtablePool.offHeap:Lorg/apache/cassandra/utils/memory/MemtablePool$SubPool;
invokevirtual org.apache.cassandra.utils.memory.MemtablePool$SubPool.reclaimingRatio:()F
fstore 8 /* flushingOffHeap */
start local 8 // float flushingOffHeap
29: .line 1319
aload 2 /* largest */
invokevirtual org.apache.cassandra.db.Memtable.getAllocator:()Lorg/apache/cassandra/utils/memory/MemtableAllocator;
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.onHeap:()Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownershipRatio:()F
fstore 9 /* thisOnHeap */
start local 9 // float thisOnHeap
30: .line 1320
aload 2 /* largest */
invokevirtual org.apache.cassandra.db.Memtable.getAllocator:()Lorg/apache/cassandra/utils/memory/MemtableAllocator;
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator.offHeap:()Lorg/apache/cassandra/utils/memory/MemtableAllocator$SubAllocator;
invokevirtual org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator.ownershipRatio:()F
fstore 10 /* thisOffHeap */
start local 10 // float thisOffHeap
31: .line 1321
getstatic org.apache.cassandra.db.ColumnFamilyStore.logger:Lorg/slf4j/Logger;
ldc "Flushing largest {} to free up room. Used total: {}, live: {}, flushing: {}, this: {}"
iconst_5
anewarray java.lang.Object
dup
iconst_0
32: .line 1322
aload 2 /* largest */
getfield org.apache.cassandra.db.Memtable.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
aastore
dup
iconst_1
fload 5 /* usedOnHeap */
fload 6 /* usedOffHeap */
invokestatic org.apache.cassandra.db.ColumnFamilyStore.ratio:(FF)Ljava/lang/String;
aastore
dup
iconst_2
fload 3 /* liveOnHeap */
fload 4 /* liveOffHeap */
invokestatic org.apache.cassandra.db.ColumnFamilyStore.ratio:(FF)Ljava/lang/String;
aastore
dup
iconst_3
33: .line 1323
fload 7 /* flushingOnHeap */
fload 8 /* flushingOffHeap */
invokestatic org.apache.cassandra.db.ColumnFamilyStore.ratio:(FF)Ljava/lang/String;
aastore
dup
iconst_4
fload 9 /* thisOnHeap */
fload 10 /* thisOffHeap */
invokestatic org.apache.cassandra.db.ColumnFamilyStore.ratio:(FF)Ljava/lang/String;
aastore
34: .line 1321
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
35: .line 1324
aload 2 /* largest */
getfield org.apache.cassandra.db.Memtable.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
aload 2 /* largest */
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.switchMemtableIfCurrent:(Lorg/apache/cassandra/db/Memtable;)Lcom/google/common/util/concurrent/ListenableFuture;
pop
end local 10 // float thisOffHeap
end local 9 // float thisOnHeap
end local 8 // float flushingOffHeap
end local 7 // float flushingOnHeap
end local 6 // float usedOffHeap
end local 5 // float usedOnHeap
36: .line 1326
StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily float org.apache.cassandra.db.Memtable float float
StackMap stack:
return
end local 4 // float liveOffHeap
end local 3 // float liveOnHeap
end local 2 // org.apache.cassandra.db.Memtable largest
end local 1 // float largestRatio
end local 0 // org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily this
LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/apache/cassandra/db/ColumnFamilyStore$FlushLargestColumnFamily;
1 37 1 largestRatio F
2 37 2 largest Lorg/apache/cassandra/db/Memtable;
3 37 3 liveOnHeap F
4 37 4 liveOffHeap F
6 23 5 cfs Lorg/apache/cassandra/db/ColumnFamilyStore;
7 23 7 current Lorg/apache/cassandra/db/Memtable;
8 23 8 onHeap F
9 23 9 offHeap F
13 16 10 indexCfs Lorg/apache/cassandra/db/ColumnFamilyStore;
14 16 12 allocator Lorg/apache/cassandra/utils/memory/MemtableAllocator;
18 23 10 ratio F
26 36 5 usedOnHeap F
27 36 6 usedOffHeap F
28 36 7 flushingOnHeap F
29 36 8 flushingOffHeap F
30 36 9 thisOnHeap F
31 36 10 thisOffHeap F
}
SourceFile: "ColumnFamilyStore.java"
NestHost: org.apache.cassandra.db.ColumnFamilyStore
InnerClasses:
public FlushLargestColumnFamily = org.apache.cassandra.db.ColumnFamilyStore$FlushLargestColumnFamily of org.apache.cassandra.db.ColumnFamilyStore
public final SubAllocator = org.apache.cassandra.utils.memory.MemtableAllocator$SubAllocator of org.apache.cassandra.utils.memory.MemtableAllocator
public SubPool = org.apache.cassandra.utils.memory.MemtablePool$SubPool of org.apache.cassandra.utils.memory.MemtablePool