public class org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter extends org.apache.cassandra.db.compaction.writers.CompactionAwareWriter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter
super_class: org.apache.cassandra.db.compaction.writers.CompactionAwareWriter
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final long DEFAULT_SMALLEST_SSTABLE_BYTES;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 50000000
private final double[] ratios;
descriptor: [D
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long totalSize;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader> allSSTables;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
private long currentBytesToWrite;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int currentRatioIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private org.apache.cassandra.db.Directories$DataDirectory location;
descriptor: Lorg/apache/cassandra/db/Directories$DataDirectory;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/db/compaction/writers/SplittingSizeTieredCompactionWriter;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.logger:Lorg/slf4j/Logger;
1: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.db.Directories, org.apache.cassandra.db.lifecycle.LifecycleTransaction, java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader>);
descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/Directories;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;Ljava/util/Set;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
ldc 50000000
invokespecial org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/Directories;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;Ljava/util/Set;J)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/db/compaction/writers/SplittingSizeTieredCompactionWriter;
0 2 1 cfs Lorg/apache/cassandra/db/ColumnFamilyStore;
0 2 2 directories Lorg/apache/cassandra/db/Directories;
0 2 3 txn Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
0 2 4 nonExpiredSSTables Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/Directories;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)V
MethodParameters:
Name Flags
cfs
directories
txn
nonExpiredSSTables
public void <init>(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.db.Directories, org.apache.cassandra.db.lifecycle.LifecycleTransaction, java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader>, );
descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/Directories;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;Ljava/util/Set;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=16, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
aload 4
iconst_0
iconst_0
invokespecial org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/Directories;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;Ljava/util/Set;ZZ)V
1: aload 0
iconst_0
putfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.currentRatioIndex:I
2: aload 0
aload 3
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
putfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.allSSTables:Ljava/util/Set;
3: aload 0
aload 1
aload 4
aload 3
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.opType:()Lorg/apache/cassandra/db/compaction/OperationType;
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getExpectedCompactedFileSize:(Ljava/lang/Iterable;Lorg/apache/cassandra/db/compaction/OperationType;)J
putfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.totalSize:J
4: bipush 20
newarray 7
astore 7
start local 7 5: dconst_1
dstore 8
start local 8 6: iconst_0
istore 10
start local 10 7: goto 11
8: StackMap locals: org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.Directories org.apache.cassandra.db.lifecycle.LifecycleTransaction java.util.Set long double[] double int
StackMap stack:
dload 8
ldc 2.0
ddiv
dstore 8
9: aload 7
iload 10
dload 8
dastore
10: iinc 10 1
StackMap locals:
StackMap stack:
11: iload 10
aload 7
arraylength
if_icmplt 8
end local 10 12: iconst_0
istore 10
start local 10 13: aload 7
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 19
StackMap locals: org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.Directories org.apache.cassandra.db.lifecycle.LifecycleTransaction java.util.Set long double[] double int top top int int double[]
StackMap stack:
14: aload 15
iload 13
daload
dstore 11
start local 11 15: iinc 10 1
16: dload 11
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.totalSize:J
l2d
dmul
lload 5
l2d
dcmpg
ifge 18
17: goto 20
end local 11 18: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
19: iload 13
iload 14
if_icmplt 14
20: StackMap locals: org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.Directories org.apache.cassandra.db.lifecycle.LifecycleTransaction java.util.Set long double[] double int
StackMap stack:
aload 0
aload 7
iconst_0
iload 10
invokestatic java.util.Arrays.copyOfRange:([DII)[D
putfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.ratios:[D
21: aload 0
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.totalSize:J
l2d
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.ratios:[D
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.currentRatioIndex:I
daload
dmul
invokestatic java.lang.Math.round:(D)J
putfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.currentBytesToWrite:J
22: return
end local 10 end local 8 end local 7 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/apache/cassandra/db/compaction/writers/SplittingSizeTieredCompactionWriter;
0 23 1 cfs Lorg/apache/cassandra/db/ColumnFamilyStore;
0 23 2 directories Lorg/apache/cassandra/db/Directories;
0 23 3 txn Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
0 23 4 nonExpiredSSTables Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
0 23 5 smallestSSTable J
5 23 7 potentialRatios [D
6 23 8 currentRatio D
7 12 10 i I
13 23 10 noPointIndex I
15 18 11 ratio D
Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/Directories;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;J)V
MethodParameters:
Name Flags
cfs
directories
txn
nonExpiredSSTables
smallestSSTable
public boolean realAppend(org.apache.cassandra.db.rows.UnfilteredRowIterator);
descriptor: (Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.sstableWriter:Lorg/apache/cassandra/io/sstable/SSTableRewriter;
aload 1
invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.append:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/RowIndexEntry;
astore 2
start local 2 1: aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.sstableWriter:Lorg/apache/cassandra/io/sstable/SSTableRewriter;
invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.currentWriter:()Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.getEstimatedOnDiskBytesWritten:()J
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.currentBytesToWrite:J
lcmp
ifle 6
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.currentRatioIndex:I
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.ratios:[D
arraylength
iconst_1
isub
if_icmpge 6
2: aload 0
dup
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.currentRatioIndex:I
iconst_1
iadd
putfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.currentRatioIndex:I
3: aload 0
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.totalSize:J
l2d
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.ratios:[D
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.currentRatioIndex:I
daload
dmul
invokestatic java.lang.Math.round:(D)J
putfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.currentBytesToWrite:J
4: aload 0
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.location:Lorg/apache/cassandra/db/Directories$DataDirectory;
invokevirtual org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.switchCompactionLocation:(Lorg/apache/cassandra/db/Directories$DataDirectory;)V
5: getstatic org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.logger:Lorg/slf4j/Logger;
ldc "Switching writer, currentBytesToWrite = {}"
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.currentBytesToWrite:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
6: StackMap locals: org.apache.cassandra.db.RowIndexEntry
StackMap stack:
aload 2
ifnull 7
iconst_1
ireturn
StackMap locals:
StackMap stack:
7: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/db/compaction/writers/SplittingSizeTieredCompactionWriter;
0 8 1 partition Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
1 8 2 rie Lorg/apache/cassandra/db/RowIndexEntry;
MethodParameters:
Name Flags
partition
public void switchCompactionLocation(org.apache.cassandra.db.Directories$DataDirectory);
descriptor: (Lorg/apache/cassandra/db/Directories$DataDirectory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.location:Lorg/apache/cassandra/db/Directories$DataDirectory;
1: aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.ratios:[D
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.currentRatioIndex:I
daload
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.estimatedTotalKeys:J
l2d
dmul
invokestatic java.lang.Math.round:(D)J
lstore 2
start local 2 2: aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
aload 0
invokevirtual org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.getDirectories:()Lorg/apache/cassandra/db/Directories;
aload 1
invokevirtual org.apache.cassandra.db.Directories.getLocationForDisk:(Lorg/apache/cassandra/db/Directories$DataDirectory;)Ljava/io/File;
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getSSTablePath:(Ljava/io/File;)Ljava/lang/String;
invokestatic org.apache.cassandra.io.sstable.Descriptor.fromFilename:(Ljava/lang/String;)Lorg/apache/cassandra/io/sstable/Descriptor;
3: lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
4: aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.minRepairedAt:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
5: aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
6: new org.apache.cassandra.io.sstable.metadata.MetadataCollector
dup
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.allSSTables:Ljava/util/Set;
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.comparator:Lorg/apache/cassandra/db/ClusteringComparator;
iconst_0
invokespecial org.apache.cassandra.io.sstable.metadata.MetadataCollector.<init>:(Ljava/lang/Iterable;Lorg/apache/cassandra/db/ClusteringComparator;I)V
7: aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.nonExpiredSSTables:Ljava/util/Set;
invokestatic org.apache.cassandra.db.SerializationHeader.make:(Lorg/apache/cassandra/config/CFMetaData;Ljava/util/Collection;)Lorg/apache/cassandra/db/SerializationHeader;
8: aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
invokevirtual org.apache.cassandra.index.SecondaryIndexManager.listIndexes:()Ljava/util/Collection;
9: aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.txn:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
10: invokestatic org.apache.cassandra.io.sstable.format.SSTableWriter.create:(Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/lang/Long;Ljava/lang/Long;Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;Lorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
astore 4
start local 4 11: getstatic org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.logger:Lorg/slf4j/Logger;
ldc "Switching writer, currentPartitionsToWrite = {}"
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
12: aload 0
getfield org.apache.cassandra.db.compaction.writers.SplittingSizeTieredCompactionWriter.sstableWriter:Lorg/apache/cassandra/io/sstable/SSTableRewriter;
aload 4
invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.switchWriter:(Lorg/apache/cassandra/io/sstable/format/SSTableWriter;)V
13: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/cassandra/db/compaction/writers/SplittingSizeTieredCompactionWriter;
0 14 1 location Lorg/apache/cassandra/db/Directories$DataDirectory;
2 14 2 currentPartitionsToWrite J
11 14 4 writer Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
MethodParameters:
Name Flags
location
}
SourceFile: "SplittingSizeTieredCompactionWriter.java"
InnerClasses:
public DataDirectory = org.apache.cassandra.db.Directories$DataDirectory of org.apache.cassandra.db.Directories