final class org.apache.cassandra.db.ColumnFamilyStore$Flush implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.apache.cassandra.db.ColumnFamilyStore$Flush
super_class: java.lang.Object
{
final org.apache.cassandra.utils.concurrent.OpOrder$Barrier writeBarrier;
descriptor: Lorg/apache/cassandra/utils/concurrent/OpOrder$Barrier;
flags: (0x0010) ACC_FINAL
final java.util.List<org.apache.cassandra.db.Memtable> memtables;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Lorg/apache/cassandra/db/Memtable;>;
final com.google.common.util.concurrent.ListenableFutureTask<org.apache.cassandra.db.commitlog.CommitLogPosition> postFlushTask;
descriptor: Lcom/google/common/util/concurrent/ListenableFutureTask;
flags: (0x0010) ACC_FINAL
Signature: Lcom/google/common/util/concurrent/ListenableFutureTask<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;
final org.apache.cassandra.db.ColumnFamilyStore$PostFlush postFlush;
descriptor: Lorg/apache/cassandra/db/ColumnFamilyStore$PostFlush;
flags: (0x0010) ACC_FINAL
final boolean truncate;
descriptor: Z
flags: (0x0010) ACC_FINAL
final org.apache.cassandra.db.ColumnFamilyStore this$0;
descriptor: Lorg/apache/cassandra/db/ColumnFamilyStore;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(org.apache.cassandra.db.ColumnFamilyStore, boolean);
descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield org.apache.cassandra.db.ColumnFamilyStore$Flush.this$0:Lorg/apache/cassandra/db/ColumnFamilyStore;
1: aload 0
invokespecial java.lang.Object.<init>:()V
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.apache.cassandra.db.ColumnFamilyStore$Flush.memtables:Ljava/util/List;
3: aload 0
iload 2
putfield org.apache.cassandra.db.ColumnFamilyStore$Flush.truncate:Z
4: aload 1
getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
getfield org.apache.cassandra.metrics.TableMetrics.pendingFlushes:Lcom/codahale/metrics/Counter;
invokevirtual com.codahale.metrics.Counter.inc:()V
5: aload 0
getstatic org.apache.cassandra.db.Keyspace.writeOrder:Lorg/apache/cassandra/utils/concurrent/OpOrder;
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder.newBarrier:()Lorg/apache/cassandra/utils/concurrent/OpOrder$Barrier;
putfield org.apache.cassandra.db.ColumnFamilyStore$Flush.writeBarrier:Lorg/apache/cassandra/utils/concurrent/OpOrder$Barrier;
6: new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
astore 3
start local 3 7: aload 1
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.concatWithIndexes:()Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 13
StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$Flush org.apache.cassandra.db.ColumnFamilyStore int java.util.concurrent.atomic.AtomicReference top java.util.Iterator
StackMap stack:
8: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.ColumnFamilyStore
astore 4
start local 4 9: new org.apache.cassandra.db.Memtable
dup
aload 3
aload 4
invokespecial org.apache.cassandra.db.Memtable.<init>:(Ljava/util/concurrent/atomic/AtomicReference;Lorg/apache/cassandra/db/ColumnFamilyStore;)V
astore 6
start local 6 10: aload 4
getfield org.apache.cassandra.db.ColumnFamilyStore.data:Lorg/apache/cassandra/db/lifecycle/Tracker;
iload 2
aload 6
invokevirtual org.apache.cassandra.db.lifecycle.Tracker.switchMemtable:(ZLorg/apache/cassandra/db/Memtable;)Lorg/apache/cassandra/db/Memtable;
astore 7
start local 7 11: aload 7
aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.writeBarrier:Lorg/apache/cassandra/utils/concurrent/OpOrder$Barrier;
aload 3
invokevirtual org.apache.cassandra.db.Memtable.setDiscarding:(Lorg/apache/cassandra/utils/concurrent/OpOrder$Barrier;Ljava/util/concurrent/atomic/AtomicReference;)V
12: aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.memtables:Ljava/util/List;
aload 7
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 end local 6 end local 4 13: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
14: aload 3
invokestatic org.apache.cassandra.db.ColumnFamilyStore.setCommitLogUpperBound:(Ljava/util/concurrent/atomic/AtomicReference;)V
15: aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.writeBarrier:Lorg/apache/cassandra/utils/concurrent/OpOrder$Barrier;
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder$Barrier.issue:()V
16: aload 0
new org.apache.cassandra.db.ColumnFamilyStore$PostFlush
dup
aload 1
aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.memtables:Ljava/util/List;
invokespecial org.apache.cassandra.db.ColumnFamilyStore$PostFlush.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/List;)V
putfield org.apache.cassandra.db.ColumnFamilyStore$Flush.postFlush:Lorg/apache/cassandra/db/ColumnFamilyStore$PostFlush;
17: aload 0
aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.postFlush:Lorg/apache/cassandra/db/ColumnFamilyStore$PostFlush;
invokestatic com.google.common.util.concurrent.ListenableFutureTask.create:(Ljava/util/concurrent/Callable;)Lcom/google/common/util/concurrent/ListenableFutureTask;
putfield org.apache.cassandra.db.ColumnFamilyStore$Flush.postFlushTask:Lcom/google/common/util/concurrent/ListenableFutureTask;
18: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/cassandra/db/ColumnFamilyStore$Flush;
0 19 2 truncate Z
7 19 3 commitLogUpperBound Ljava/util/concurrent/atomic/AtomicReference<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;
9 13 4 cfs Lorg/apache/cassandra/db/ColumnFamilyStore;
10 13 6 newMemtable Lorg/apache/cassandra/db/Memtable;
11 13 7 oldMemtable Lorg/apache/cassandra/db/Memtable;
MethodParameters:
Name Flags
this$0 final
truncate
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.writeBarrier:Lorg/apache/cassandra/utils/concurrent/OpOrder$Barrier;
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder$Barrier.markBlocking:()V
1: aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.writeBarrier:Lorg/apache/cassandra/utils/concurrent/OpOrder$Barrier;
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder$Barrier.await:()V
2: aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.memtables:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$Flush top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.Memtable
astore 1
start local 1 4: aload 1
getfield org.apache.cassandra.db.Memtable.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.data:Lorg/apache/cassandra/db/lifecycle/Tracker;
aload 1
invokevirtual org.apache.cassandra.db.lifecycle.Tracker.markFlushing:(Lorg/apache/cassandra/db/Memtable;)V
end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.this$0:Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
getfield org.apache.cassandra.metrics.TableMetrics.memtableSwitchCount:Lcom/codahale/metrics/Counter;
invokevirtual com.codahale.metrics.Counter.inc:()V
7: aload 0
aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.memtables:Ljava/util/List;
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.db.Memtable
iconst_1
invokevirtual org.apache.cassandra.db.ColumnFamilyStore$Flush.flushMemtable:(Lorg/apache/cassandra/db/Memtable;Z)Ljava/util/Collection;
pop
8: iconst_1
istore 1
start local 1 9: goto 12
10: StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$Flush int
StackMap stack:
aload 0
aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.memtables:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.apache.cassandra.db.Memtable
iconst_0
invokevirtual org.apache.cassandra.db.ColumnFamilyStore$Flush.flushMemtable:(Lorg/apache/cassandra/db/Memtable;Z)Ljava/util/Collection;
pop
11: iinc 1 1
StackMap locals:
StackMap stack:
12: iload 1
aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.memtables:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 10
end local 1 13: goto 17
14: StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$Flush
StackMap stack: java.lang.Throwable
astore 1
start local 1 15: aload 1
invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
16: aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.postFlush:Lorg/apache/cassandra/db/ColumnFamilyStore$PostFlush;
aload 1
putfield org.apache.cassandra.db.ColumnFamilyStore$PostFlush.flushFailure:Ljava/lang/Throwable;
end local 1 17: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.postFlush:Lorg/apache/cassandra/db/ColumnFamilyStore$PostFlush;
getfield org.apache.cassandra.db.ColumnFamilyStore$PostFlush.latch:Ljava/util/concurrent/CountDownLatch;
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
18: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/cassandra/db/ColumnFamilyStore$Flush;
4 5 1 memtable Lorg/apache/cassandra/db/Memtable;
9 13 1 i I
15 17 1 t Ljava/lang/Throwable;
Exception table:
from to target type
7 13 14 Class java.lang.Throwable
public java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader> flushMemtable(org.apache.cassandra.db.Memtable, boolean);
descriptor: (Lorg/apache/cassandra/db/Memtable;Z)Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=24, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.apache.cassandra.db.Memtable.isClean:()Z
ifne 1
aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.truncate:Z
ifeq 4
1: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.cassandra.db.Memtable.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
aload 1
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.replaceFlushed:(Lorg/apache/cassandra/db/Memtable;Ljava/util/Collection;)V
2: aload 0
aload 1
invokevirtual org.apache.cassandra.db.ColumnFamilyStore$Flush.reclaim:(Lorg/apache/cassandra/db/Memtable;)V
3: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
4: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 5: lconst_0
lstore 4
start local 4 6: lconst_0
lstore 6
start local 6 7: ldc 9223372036854775807
lstore 8
start local 8 8: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 10
start local 10 9: aconst_null
astore 11
aconst_null
astore 12
10: getstatic org.apache.cassandra.db.compaction.OperationType.FLUSH:Lorg/apache/cassandra/db/compaction/OperationType;
invokestatic org.apache.cassandra.db.lifecycle.LifecycleTransaction.offline:(Lorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
astore 13
start local 13 11: aconst_null
astore 14
start local 14 12: aconst_null
astore 15
start local 15 13: aload 1
aload 13
invokevirtual org.apache.cassandra.db.Memtable.flushRunnables:(Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;)Ljava/util/List;
astore 14
14: iconst_0
istore 16
start local 16 15: goto 18
16: StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$Flush org.apache.cassandra.db.Memtable int java.util.List long long long java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.util.List java.util.List int
StackMap stack:
aload 3
getstatic org.apache.cassandra.db.ColumnFamilyStore.perDiskflushExecutors:[Ljava/util/concurrent/ExecutorService;
iload 16
aaload
aload 14
iload 16
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.concurrent.Callable
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
17: iinc 16 1
StackMap locals:
StackMap stack:
18: iload 16
aload 14
invokeinterface java.util.List.size:()I
if_icmplt 16
end local 16 19: iload 2
ifeq 21
20: aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.this$0:Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
invokevirtual org.apache.cassandra.index.SecondaryIndexManager.flushAllNonCFSBackedIndexesBlocking:()V
21: StackMap locals:
StackMap stack:
aload 3
invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFutures:(Ljava/lang/Iterable;)Ljava/util/List;
invokestatic com.google.common.collect.Lists.newArrayList:(Ljava/lang/Iterable;)Ljava/util/ArrayList;
astore 15
22: goto 27
23: StackMap locals:
StackMap stack: java.lang.Throwable
astore 16
start local 16 24: aload 1
aload 14
aload 16
invokevirtual org.apache.cassandra.db.Memtable.abortRunnables:(Ljava/util/List;Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 16
25: aload 13
aload 16
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.abort:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 16
26: aload 16
invokestatic com.google.common.base.Throwables.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 16 27: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 16
start local 16 28: goto 35
29: StackMap locals: java.util.Iterator
StackMap stack:
aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.io.sstable.SSTableMultiWriter
astore 17
start local 17 30: aload 17
invokeinterface org.apache.cassandra.io.sstable.SSTableMultiWriter.getFilePointer:()J
lconst_0
lcmp
ifle 33
31: aload 17
iconst_1
invokeinterface org.apache.cassandra.io.sstable.SSTableMultiWriter.setOpenResult:(Z)Lorg/apache/cassandra/io/sstable/SSTableMultiWriter;
invokeinterface org.apache.cassandra.io.sstable.SSTableMultiWriter.prepareToCommit:()V
32: goto 35
33: StackMap locals: org.apache.cassandra.io.sstable.SSTableMultiWriter
StackMap stack:
aload 17
aconst_null
invokeinterface org.apache.cassandra.io.sstable.SSTableMultiWriter.abort:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
invokestatic org.apache.cassandra.utils.Throwables.maybeFail:(Ljava/lang/Throwable;)V
34: aload 16
invokeinterface java.util.Iterator.remove:()V
end local 17 35: StackMap locals:
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
end local 16 36: goto 44
37: StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$Flush org.apache.cassandra.db.Memtable int java.util.List long long long java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.util.List java.util.List
StackMap stack: java.lang.Throwable
astore 16
start local 16 38: aload 15
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 18
goto 41
StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$Flush org.apache.cassandra.db.Memtable int java.util.List long long long java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.util.List java.util.List java.lang.Throwable top java.util.Iterator
StackMap stack:
39: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.io.sstable.SSTableMultiWriter
astore 17
start local 17 40: aload 17
aload 16
invokeinterface org.apache.cassandra.io.sstable.SSTableMultiWriter.abort:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 16
end local 17 41: StackMap locals:
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 39
42: aload 13
aload 16
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.abort:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 16
43: aload 16
invokestatic com.google.common.base.Throwables.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
pop
end local 16 44: StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$Flush org.apache.cassandra.db.Memtable int java.util.List long long long java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.util.List java.util.List
StackMap stack:
aload 13
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.prepareToCommit:()V
45: aconst_null
astore 16
start local 16 46: aload 15
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 18
goto 49
StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$Flush org.apache.cassandra.db.Memtable int java.util.List long long long java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.util.List java.util.List java.lang.Throwable top java.util.Iterator
StackMap stack:
47: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.io.sstable.SSTableMultiWriter
astore 17
start local 17 48: aload 17
aload 16
invokeinterface org.apache.cassandra.io.sstable.SSTableMultiWriter.commit:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 16
end local 17 49: StackMap locals:
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 47
50: aload 13
aload 16
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.commit:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
invokestatic org.apache.cassandra.utils.Throwables.maybeFail:(Ljava/lang/Throwable;)V
51: aload 15
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 18
goto 63
StackMap locals:
StackMap stack:
52: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.io.sstable.SSTableMultiWriter
astore 17
start local 17 53: aload 17
invokeinterface org.apache.cassandra.io.sstable.SSTableMultiWriter.finished:()Ljava/util/Collection;
astore 19
start local 19 54: aload 19
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 21
goto 62
StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$Flush org.apache.cassandra.db.Memtable int java.util.List long long long java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.util.List java.util.List java.lang.Throwable org.apache.cassandra.io.sstable.SSTableMultiWriter java.util.Iterator java.util.Collection top java.util.Iterator
StackMap stack:
55: aload 21
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.io.sstable.format.SSTableReader
astore 20
start local 20 56: aload 20
ifnull 62
57: aload 10
aload 20
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
58: aload 20
invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.bytesOnDisk:()J
lstore 22
start local 22 59: lload 4
lload 22
ladd
lstore 4
60: lload 6
lload 22
invokestatic java.lang.Math.max:(JJ)J
lstore 6
61: lload 8
lload 22
invokestatic java.lang.Math.min:(JJ)J
lstore 8
end local 22 end local 20 62: StackMap locals:
StackMap stack:
aload 21
invokeinterface java.util.Iterator.hasNext:()Z
ifne 55
end local 19 end local 17 63: StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$Flush org.apache.cassandra.db.Memtable int java.util.List long long long java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.util.List java.util.List java.lang.Throwable top java.util.Iterator
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 52
end local 16 end local 15 end local 14 64: aload 13
ifnull 70
aload 13
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
goto 70
StackMap locals: org.apache.cassandra.db.ColumnFamilyStore$Flush org.apache.cassandra.db.Memtable int java.util.List long long long java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction
StackMap stack: java.lang.Throwable
65: astore 11
aload 13
ifnull 66
aload 13
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
end local 13 StackMap locals:
StackMap stack:
66: aload 11
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
67: astore 12
aload 11
ifnonnull 68
aload 12
astore 11
goto 69
StackMap locals:
StackMap stack:
68: aload 11
aload 12
if_acmpeq 69
aload 11
aload 12
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
69: aload 11
athrow
70: StackMap locals:
StackMap stack:
aload 1
getfield org.apache.cassandra.db.Memtable.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
aload 1
aload 10
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.replaceFlushed:(Lorg/apache/cassandra/db/Memtable;Ljava/util/Collection;)V
71: aload 0
aload 1
invokevirtual org.apache.cassandra.db.ColumnFamilyStore$Flush.reclaim:(Lorg/apache/cassandra/db/Memtable;)V
72: aload 1
getfield org.apache.cassandra.db.Memtable.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.compactionStrategyManager:Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
getfield org.apache.cassandra.db.compaction.CompactionStrategyManager.compactionLogger:Lorg/apache/cassandra/db/compaction/CompactionLogger;
aload 10
invokevirtual org.apache.cassandra.db.compaction.CompactionLogger.flush:(Ljava/util/Collection;)V
73: getstatic org.apache.cassandra.db.ColumnFamilyStore.logger:Lorg/slf4j/Logger;
ldc "Flushed to {} ({} sstables, {}), biggest {}, smallest {}"
iconst_5
anewarray java.lang.Object
dup
iconst_0
74: aload 10
aastore
dup
iconst_1
75: aload 10
invokeinterface java.util.List.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
76: lload 4
invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
aastore
dup
iconst_3
77: lload 6
invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
aastore
dup
iconst_4
78: lload 8
invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
aastore
79: invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
80: aload 10
areturn
end local 10 end local 8 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 81 0 this Lorg/apache/cassandra/db/ColumnFamilyStore$Flush;
0 81 1 memtable Lorg/apache/cassandra/db/Memtable;
0 81 2 flushNonCf2i Z
5 81 3 futures Ljava/util/List<Ljava/util/concurrent/Future<Lorg/apache/cassandra/io/sstable/SSTableMultiWriter;>;>;
6 81 4 totalBytesOnDisk J
7 81 6 maxBytesOnDisk J
8 81 8 minBytesOnDisk J
9 81 10 sstables Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
11 66 13 txn Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
12 64 14 flushRunnables Ljava/util/List<Lorg/apache/cassandra/db/Memtable$FlushRunnable;>;
13 64 15 flushResults Ljava/util/List<Lorg/apache/cassandra/io/sstable/SSTableMultiWriter;>;
15 19 16 i I
24 27 16 t Ljava/lang/Throwable;
28 36 16 writerIterator Ljava/util/Iterator<Lorg/apache/cassandra/io/sstable/SSTableMultiWriter;>;
30 35 17 writer Lorg/apache/cassandra/io/sstable/SSTableMultiWriter;
38 44 16 t Ljava/lang/Throwable;
40 41 17 writer Lorg/apache/cassandra/io/sstable/SSTableMultiWriter;
46 64 16 accumulate Ljava/lang/Throwable;
48 49 17 writer Lorg/apache/cassandra/io/sstable/SSTableMultiWriter;
53 63 17 writer Lorg/apache/cassandra/io/sstable/SSTableMultiWriter;
54 63 19 flushedSSTables Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
56 62 20 sstable Lorg/apache/cassandra/io/sstable/format/SSTableReader;
59 62 22 size J
Exception table:
from to target type
13 22 23 Class java.lang.Throwable
27 36 37 Class java.lang.Throwable
11 64 65 any
10 67 67 any
Signature: (Lorg/apache/cassandra/db/Memtable;Z)Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
MethodParameters:
Name Flags
memtable
flushNonCf2i
private void reclaim(org.apache.cassandra.db.Memtable);
descriptor: (Lorg/apache/cassandra/db/Memtable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.this$0:Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.readOrdering:Lorg/apache/cassandra/utils/concurrent/OpOrder;
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder.newBarrier:()Lorg/apache/cassandra/utils/concurrent/OpOrder$Barrier;
astore 2
start local 2 1: aload 2
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder$Barrier.issue:()V
2: aload 0
getfield org.apache.cassandra.db.ColumnFamilyStore$Flush.postFlushTask:Lcom/google/common/util/concurrent/ListenableFutureTask;
new org.apache.cassandra.db.ColumnFamilyStore$Flush$1
dup
aload 0
aload 2
aload 1
invokespecial org.apache.cassandra.db.ColumnFamilyStore$Flush$1.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore$Flush;Lorg/apache/cassandra/utils/concurrent/OpOrder$Barrier;Lorg/apache/cassandra/db/Memtable;)V
3: getstatic org.apache.cassandra.db.ColumnFamilyStore.reclaimExecutor:Ljava/util/concurrent/ExecutorService;
4: invokevirtual com.google.common.util.concurrent.ListenableFutureTask.addListener:(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/db/ColumnFamilyStore$Flush;
0 6 1 memtable Lorg/apache/cassandra/db/Memtable;
1 6 2 readBarrier Lorg/apache/cassandra/utils/concurrent/OpOrder$Barrier;
MethodParameters:
Name Flags
memtable final
}
SourceFile: "ColumnFamilyStore.java"
NestHost: org.apache.cassandra.db.ColumnFamilyStore
InnerClasses:
private final Flush = org.apache.cassandra.db.ColumnFamilyStore$Flush of org.apache.cassandra.db.ColumnFamilyStore
org.apache.cassandra.db.ColumnFamilyStore$Flush$1
private final PostFlush = org.apache.cassandra.db.ColumnFamilyStore$PostFlush of org.apache.cassandra.db.ColumnFamilyStore
FlushRunnable = org.apache.cassandra.db.Memtable$FlushRunnable of org.apache.cassandra.db.Memtable
public final Barrier = org.apache.cassandra.utils.concurrent.OpOrder$Barrier of org.apache.cassandra.utils.concurrent.OpOrder