public class org.apache.cassandra.io.sstable.IndexSummaryBuilder implements java.lang.AutoCloseable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.io.sstable.IndexSummaryBuilder
super_class: java.lang.Object
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final java.lang.String defaultExpectedKeySizeName;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "cassandra.index_summary_expected_key_size"
static long defaultExpectedKeySize;
descriptor: J
flags: (0x0008) ACC_STATIC
private final org.apache.cassandra.io.util.SafeMemoryWriter offsets;
descriptor: Lorg/apache/cassandra/io/util/SafeMemoryWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.io.util.SafeMemoryWriter entries;
descriptor: Lorg/apache/cassandra/io/util/SafeMemoryWriter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int minIndexInterval;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int samplingLevel;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] startPoints;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long keysWritten;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long indexIntervalMatches;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long nextSamplePosition;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.util.TreeMap<java.lang.Long, org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary> lastReadableByData;
descriptor: Ljava/util/TreeMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/TreeMap<Ljava/lang/Long;Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder$ReadableBoundary;>;
private java.util.TreeMap<java.lang.Long, org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary> lastReadableByIndex;
descriptor: Ljava/util/TreeMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/TreeMap<Ljava/lang/Long;Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder$ReadableBoundary;>;
private long dataSyncPosition;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long indexSyncPosition;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary lastReadableBoundary;
descriptor: Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder$ReadableBoundary;
flags: (0x0002) ACC_PRIVATE
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=2, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
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.io.sstable.IndexSummaryBuilder.$assertionsDisabled:Z
3: ldc Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.logger:Lorg/slf4j/Logger;
4: ldc "cassandra.index_summary_expected_key_size"
ldc "64"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Long.valueOf:(Ljava/lang/String;)Ljava/lang/Long;
invokevirtual java.lang.Long.longValue:()J
putstatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.defaultExpectedKeySize:J
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(long, int, int);
descriptor: (JII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=12, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
lconst_0
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.keysWritten:J
2: aload 0
lconst_0
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.indexIntervalMatches:J
3: aload 0
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.lastReadableByData:Ljava/util/TreeMap;
4: aload 0
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.lastReadableByIndex:Ljava/util/TreeMap;
5: aload 0
iload 4
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.samplingLevel:I
6: aload 0
sipush 128
iload 4
invokestatic org.apache.cassandra.io.sstable.Downsampling.getStartPoints:(II)[I
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.startPoints:[I
7: getstatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.defaultExpectedKeySize:J
invokestatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.getEntrySize:(J)J
lstore 5
start local 5 8: lload 1
iload 3
i2l
ldiv
lstore 7
start local 7 9: lload 7
lload 5
lmul
lstore 9
start local 9 10: lload 9
ldc 2147483647
lcmp
ifle 20
11: lload 1
lload 5
lmul
l2d
ldc 2.147483647E9
ddiv
invokestatic java.lang.Math.ceil:(D)D
d2i
istore 11
start local 11 12: lload 1
iload 11
i2l
ldiv
lstore 7
13: lload 7
lload 5
lmul
lstore 9
14: getstatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.$assertionsDisabled:Z
ifne 15
lload 9
ldc 2147483647
lcmp
ifle 15
new java.lang.AssertionError
dup
lload 9
invokespecial java.lang.AssertionError.<init>:(J)V
athrow
15: StackMap locals: org.apache.cassandra.io.sstable.IndexSummaryBuilder long int int long long long int
StackMap stack:
getstatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.logger:Lorg/slf4j/Logger;
ldc "min_index_interval of {} is too low for {} expected keys of avg size {}; using interval of {} instead"
iconst_4
anewarray java.lang.Object
dup
iconst_0
16: iload 3
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
getstatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.defaultExpectedKeySize:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_3
iload 11
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
17: invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
18: aload 0
iload 11
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.minIndexInterval:I
end local 11 19: goto 21
20: StackMap locals:
StackMap stack:
aload 0
iload 3
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.minIndexInterval:I
21: StackMap locals:
StackMap stack:
lconst_1
lload 7
iload 4
i2l
lmul
ldc 128
ldiv
invokestatic java.lang.Math.max:(JJ)J
lstore 7
22: aload 0
new org.apache.cassandra.io.util.SafeMemoryWriter
dup
ldc 4
lload 7
lmul
invokespecial org.apache.cassandra.io.util.SafeMemoryWriter.<init>:(J)V
invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.order:(Ljava/nio/ByteOrder;)Lorg/apache/cassandra/io/util/SafeMemoryWriter;
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.offsets:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
23: aload 0
new org.apache.cassandra.io.util.SafeMemoryWriter
dup
lload 5
lload 7
lmul
invokespecial org.apache.cassandra.io.util.SafeMemoryWriter.<init>:(J)V
invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.order:(Ljava/nio/ByteOrder;)Lorg/apache/cassandra/io/util/SafeMemoryWriter;
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.entries:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
24: aload 0
lconst_0
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.nextSamplePosition:J
25: aload 0
dup
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.indexIntervalMatches:J
lconst_1
ladd
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.indexIntervalMatches:J
26: return
end local 9 end local 7 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
0 27 1 expectedKeys J
0 27 3 minIndexInterval I
0 27 4 samplingLevel I
8 27 5 expectedEntrySize J
9 27 7 maxExpectedEntries J
10 27 9 maxExpectedEntriesSize J
12 19 11 effectiveMinInterval I
MethodParameters:
Name Flags
expectedKeys
minIndexInterval
samplingLevel
private static long getEntrySize(org.apache.cassandra.db.DecoratedKey);
descriptor: (Lorg/apache/cassandra/db/DecoratedKey;)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.db.DecoratedKey.getKey:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
invokestatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.getEntrySize:(J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 key Lorg/apache/cassandra/db/DecoratedKey;
MethodParameters:
Name Flags
key
private static long getEntrySize(long);
descriptor: (J)J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: lload 0
lconst_0
invokestatic org.apache.cassandra.db.TypeSizes.sizeof:(J)I
i2l
ladd
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 keySize J
MethodParameters:
Name Flags
keySize
public void markIndexSynced(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.indexSyncPosition:J
1: aload 0
invokevirtual org.apache.cassandra.io.sstable.IndexSummaryBuilder.refreshReadableBoundary:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
0 3 1 upToPosition J
MethodParameters:
Name Flags
upToPosition
public void markDataSynced(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.dataSyncPosition:J
1: aload 0
invokevirtual org.apache.cassandra.io.sstable.IndexSummaryBuilder.refreshReadableBoundary:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
0 3 1 upToPosition J
MethodParameters:
Name Flags
upToPosition
private void refreshReadableBoundary();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.lastReadableByData:Ljava/util/TreeMap;
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.dataSyncPosition:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual java.util.TreeMap.floorEntry:(Ljava/lang/Object;)Ljava/util/Map$Entry;
astore 1
start local 1 1: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.lastReadableByIndex:Ljava/util/TreeMap;
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.indexSyncPosition:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual java.util.TreeMap.floorEntry:(Ljava/lang/Object;)Ljava/util/Map$Entry;
astore 2
start local 2 2: aload 1
ifnull 3
aload 2
ifnonnull 4
3: StackMap locals: java.util.Map$Entry java.util.Map$Entry
StackMap stack:
return
4: StackMap locals:
StackMap stack:
aload 0
aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary.indexLength:J
aload 1
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary.indexLength:J
lcmp
ifge 6
5: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary
goto 7
StackMap locals:
StackMap stack: org.apache.cassandra.io.sstable.IndexSummaryBuilder
6: aload 1
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary
7: StackMap locals: org.apache.cassandra.io.sstable.IndexSummaryBuilder java.util.Map$Entry java.util.Map$Entry
StackMap stack: org.apache.cassandra.io.sstable.IndexSummaryBuilder org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.lastReadableBoundary:Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder$ReadableBoundary;
8: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.lastReadableByData:Ljava/util/TreeMap;
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.lastReadableBoundary:Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder$ReadableBoundary;
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary.dataLength:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
iconst_0
invokevirtual java.util.TreeMap.headMap:(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
invokeinterface java.util.NavigableMap.clear:()V
9: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.lastReadableByIndex:Ljava/util/TreeMap;
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.lastReadableBoundary:Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder$ReadableBoundary;
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary.indexLength:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
iconst_0
invokevirtual java.util.TreeMap.headMap:(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
invokeinterface java.util.NavigableMap.clear:()V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
1 11 1 byData Ljava/util/Map$Entry<*Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder$ReadableBoundary;>;
2 11 2 byIndex Ljava/util/Map$Entry<*Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder$ReadableBoundary;>;
public org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary getLastReadableBoundary();
descriptor: ()Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder$ReadableBoundary;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.lastReadableBoundary:Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder$ReadableBoundary;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
public org.apache.cassandra.io.sstable.IndexSummaryBuilder maybeAddEntry(org.apache.cassandra.db.DecoratedKey, long);
descriptor: (Lorg/apache/cassandra/db/DecoratedKey;J)Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
lload 2
lconst_0
lconst_0
invokevirtual org.apache.cassandra.io.sstable.IndexSummaryBuilder.maybeAddEntry:(Lorg/apache/cassandra/db/DecoratedKey;JJJ)Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
0 1 1 decoratedKey Lorg/apache/cassandra/db/DecoratedKey;
0 1 2 indexStart J
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
decoratedKey
indexStart
public org.apache.cassandra.io.sstable.IndexSummaryBuilder maybeAddEntry(org.apache.cassandra.db.DecoratedKey, long, long, long);
descriptor: (Lorg/apache/cassandra/db/DecoratedKey;JJJ)Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.keysWritten:J
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.nextSamplePosition:J
lcmp
ifne 9
1: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.entries:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.length:()J
aload 1
invokestatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.getEntrySize:(Lorg/apache/cassandra/db/DecoratedKey;)J
ladd
ldc 2147483647
lcmp
ifgt 7
2: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.offsets:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.entries:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.length:()J
l2i
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.writeInt:(I)V
3: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.entries:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
aload 1
invokevirtual org.apache.cassandra.db.DecoratedKey.getKey:()Ljava/nio/ByteBuffer;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.write:(Ljava/nio/ByteBuffer;)V
4: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.entries:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
lload 2
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.writeLong:(J)V
5: aload 0
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.keysWritten:J
invokevirtual org.apache.cassandra.io.sstable.IndexSummaryBuilder.setNextSamplePosition:(J)V
6: goto 13
7: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.logger:Lorg/slf4j/Logger;
ldc "Memory capacity of index summary exceeded (2GB), index summary will not cover full sstable, you should increase min_sampling_level"
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
8: goto 13
9: StackMap locals:
StackMap stack:
lload 6
lconst_0
lcmp
ifeq 13
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.keysWritten:J
lconst_1
ladd
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.nextSamplePosition:J
lcmp
ifne 13
10: new org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary
dup
aload 1
lload 4
lload 6
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.offsets:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.length:()J
ldc 4
ldiv
l2i
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.entries:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.length:()J
invokespecial org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary.<init>:(Lorg/apache/cassandra/db/DecoratedKey;JJIJ)V
astore 8
start local 8 11: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.lastReadableByData:Ljava/util/TreeMap;
lload 6
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 8
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.lastReadableByIndex:Ljava/util/TreeMap;
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 8
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 13: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.keysWritten:J
lconst_1
ladd
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.keysWritten:J
14: aload 0
areturn
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
0 15 1 decoratedKey Lorg/apache/cassandra/db/DecoratedKey;
0 15 2 indexStart J
0 15 4 indexEnd J
0 15 6 dataEnd J
11 13 8 boundary Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder$ReadableBoundary;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
decoratedKey
indexStart
indexEnd
dataEnd
private void setNextSamplePosition(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
lload 1
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.minIndexInterval:I
i2l
ladd
lstore 1
1: aload 0
dup
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.indexIntervalMatches:J
dup2_x1
lconst_1
ladd
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.indexIntervalMatches:J
lstore 3
start local 3 2: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.startPoints:[I
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 7
StackMap locals: org.apache.cassandra.io.sstable.IndexSummaryBuilder long long top int int int[]
StackMap stack:
3: aload 8
iload 6
iaload
istore 5
start local 5 4: lload 3
iload 5
i2l
lsub
ldc 128
lrem
lconst_0
lcmp
ifne 6
5: goto 0
end local 5 6: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
7: iload 6
iload 7
if_icmplt 3
8: aload 0
lload 1
putfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.nextSamplePosition:J
9: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
0 10 1 position J
2 10 3 test J
4 6 5 start I
MethodParameters:
Name Flags
position
public void prepareToCommit();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.entries:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.trim:()V
1: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.offsets:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.trim:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
public org.apache.cassandra.io.sstable.IndexSummary build(org.apache.cassandra.dht.IPartitioner);
descriptor: (Lorg/apache/cassandra/dht/IPartitioner;)Lorg/apache/cassandra/io/sstable/IndexSummary;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual org.apache.cassandra.io.sstable.IndexSummaryBuilder.build:(Lorg/apache/cassandra/dht/IPartitioner;Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder$ReadableBoundary;)Lorg/apache/cassandra/io/sstable/IndexSummary;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
0 1 1 partitioner Lorg/apache/cassandra/dht/IPartitioner;
MethodParameters:
Name Flags
partitioner
public org.apache.cassandra.io.sstable.IndexSummary build(org.apache.cassandra.dht.IPartitioner, org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary);
descriptor: (Lorg/apache/cassandra/dht/IPartitioner;Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder$ReadableBoundary;)Lorg/apache/cassandra/io/sstable/IndexSummary;
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=7, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.$assertionsDisabled:Z
ifne 1
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.entries:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.length:()J
lconst_0
lcmp
ifgt 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.offsets:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.length:()J
ldc 4
ldiv
l2i
istore 3
start local 3 2: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.entries:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.length:()J
lstore 4
start local 4 3: aload 2
ifnull 6
4: aload 2
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary.summaryCount:I
istore 3
5: aload 2
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary.entriesLength:J
lstore 4
6: StackMap locals: int long
StackMap stack:
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.keysWritten:J
l2d
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.minIndexInterval:I
i2d
ddiv
invokestatic java.lang.Math.ceil:(D)D
d2i
istore 6
start local 6 7: getstatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.$assertionsDisabled:Z
ifne 8
iload 3
ifgt 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: int
StackMap stack:
new org.apache.cassandra.io.sstable.IndexSummary
dup
aload 1
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.offsets:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.currentBuffer:()Lorg/apache/cassandra/io/util/SafeMemory;
invokevirtual org.apache.cassandra.io.util.SafeMemory.sharedCopy:()Lorg/apache/cassandra/io/util/SafeMemory;
9: iload 3
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.entries:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.currentBuffer:()Lorg/apache/cassandra/io/util/SafeMemory;
invokevirtual org.apache.cassandra.io.util.SafeMemory.sharedCopy:()Lorg/apache/cassandra/io/util/SafeMemory;
lload 4
10: iload 6
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.minIndexInterval:I
aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.samplingLevel:I
11: invokespecial org.apache.cassandra.io.sstable.IndexSummary.<init>:(Lorg/apache/cassandra/dht/IPartitioner;Lorg/apache/cassandra/io/util/Memory;ILorg/apache/cassandra/io/util/Memory;JIII)V
areturn
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 12 0 this Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
0 12 1 partitioner Lorg/apache/cassandra/dht/IPartitioner;
0 12 2 boundary Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder$ReadableBoundary;
2 12 3 count I
3 12 4 entriesLength J
7 12 6 sizeAtFullSampling I
MethodParameters:
Name Flags
partitioner
boundary
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.entries:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.close:()V
1: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.offsets:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.close:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
public java.lang.Throwable close(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.entries:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
aload 1
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.close:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 1
1: aload 0
getfield org.apache.cassandra.io.sstable.IndexSummaryBuilder.offsets:Lorg/apache/cassandra/io/util/SafeMemoryWriter;
aload 1
invokevirtual org.apache.cassandra.io.util.SafeMemoryWriter.close:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 1
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/io/sstable/IndexSummaryBuilder;
0 3 1 accumulate Ljava/lang/Throwable;
MethodParameters:
Name Flags
accumulate
static int entriesAtSamplingLevel(int, int);
descriptor: (II)I
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
imul
i2d
ldc 128.0
ddiv
invokestatic java.lang.Math.ceil:(D)D
d2i
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 samplingLevel I
0 1 1 maxSummarySize I
MethodParameters:
Name Flags
samplingLevel
maxSummarySize
static int calculateSamplingLevel(int, int, long, int, int);
descriptor: (IIJII)I
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 5 0: iconst_1
sipush 128
iload 4
imul
i2d
iload 5
i2d
ddiv
invokestatic java.lang.Math.ceil:(D)D
d2i
invokestatic java.lang.Math.max:(II)I
istore 6
start local 6 1: lload 2
iload 0
i2l
lmul
l2i
iload 1
idiv
istore 7
start local 7 2: sipush 128
iload 6
iload 7
invokestatic java.lang.Math.max:(II)I
invokestatic java.lang.Math.min:(II)I
ireturn
end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 currentSamplingLevel I
0 3 1 currentNumEntries I
0 3 2 targetNumEntries J
0 3 4 minIndexInterval I
0 3 5 maxIndexInterval I
1 3 6 effectiveMinSamplingLevel I
2 3 7 newSamplingLevel I
MethodParameters:
Name Flags
currentSamplingLevel
currentNumEntries
targetNumEntries
minIndexInterval
maxIndexInterval
public static org.apache.cassandra.io.sstable.IndexSummary downsample(org.apache.cassandra.io.sstable.IndexSummary, int, int, org.apache.cassandra.dht.IPartitioner);
descriptor: (Lorg/apache/cassandra/io/sstable/IndexSummary;IILorg/apache/cassandra/dht/IPartitioner;)Lorg/apache/cassandra/io/sstable/IndexSummary;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=19, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.apache.cassandra.io.sstable.IndexSummary.getSamplingLevel:()I
istore 4
start local 4 1: getstatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.$assertionsDisabled:Z
ifne 2
iload 4
iload 1
if_icmpgt 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: int
StackMap stack:
getstatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.$assertionsDisabled:Z
ifne 3
iload 2
aload 0
invokevirtual org.apache.cassandra.io.sstable.IndexSummary.getMinIndexInterval:()I
if_icmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
iload 4
iload 1
invokestatic org.apache.cassandra.io.sstable.Downsampling.getStartPoints:(II)[I
astore 5
start local 5 4: aload 0
invokevirtual org.apache.cassandra.io.sstable.IndexSummary.size:()I
istore 6
start local 6 5: aload 0
invokevirtual org.apache.cassandra.io.sstable.IndexSummary.getEntriesLength:()J
lstore 7
start local 7 6: aload 5
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 16
StackMap locals: org.apache.cassandra.io.sstable.IndexSummary int int org.apache.cassandra.dht.IPartitioner int int[] int long top int int int[]
StackMap stack:
7: aload 12
iload 10
iaload
istore 9
start local 9 8: iload 9
istore 13
start local 13 9: goto 14
10: StackMap locals: org.apache.cassandra.io.sstable.IndexSummary int int org.apache.cassandra.dht.IPartitioner int int[] int long int int int int[] int
StackMap stack:
iinc 6 -1
11: aload 0
iload 13
invokevirtual org.apache.cassandra.io.sstable.IndexSummary.getEndInSummary:(I)J
aload 0
iload 13
invokevirtual org.apache.cassandra.io.sstable.IndexSummary.getPositionInSummary:(I)I
i2l
lsub
lstore 14
start local 14 12: lload 7
lload 14
lsub
lstore 7
end local 14 13: iload 13
iload 4
iadd
istore 13
StackMap locals:
StackMap stack:
14: iload 13
aload 0
invokevirtual org.apache.cassandra.io.sstable.IndexSummary.size:()I
if_icmplt 10
end local 13 end local 9 15: iinc 10 1
StackMap locals: org.apache.cassandra.io.sstable.IndexSummary int int org.apache.cassandra.dht.IPartitioner int int[] int long top int int int[]
StackMap stack:
16: iload 10
iload 11
if_icmplt 7
17: aload 0
invokevirtual org.apache.cassandra.io.sstable.IndexSummary.getEntries:()Lorg/apache/cassandra/io/util/Memory;
astore 9
start local 9 18: iload 6
iconst_4
imul
i2l
invokestatic org.apache.cassandra.io.util.Memory.allocate:(J)Lorg/apache/cassandra/io/util/Memory;
astore 10
start local 10 19: lload 7
invokestatic org.apache.cassandra.io.util.Memory.allocate:(J)Lorg/apache/cassandra/io/util/Memory;
astore 11
start local 11 20: iconst_0
istore 12
start local 12 21: iconst_0
istore 13
start local 13 22: iconst_0
istore 14
start local 14 23: goto 37
24: StackMap locals: org.apache.cassandra.io.sstable.IndexSummary int int org.apache.cassandra.dht.IPartitioner int int[] int long org.apache.cassandra.io.util.Memory org.apache.cassandra.io.util.Memory org.apache.cassandra.io.util.Memory int int int
StackMap stack:
aload 5
dup
astore 18
arraylength
istore 17
iconst_0
istore 16
goto 29
StackMap locals: org.apache.cassandra.io.sstable.IndexSummary int int org.apache.cassandra.dht.IPartitioner int int[] int long org.apache.cassandra.io.util.Memory org.apache.cassandra.io.util.Memory org.apache.cassandra.io.util.Memory int int int top int int int[]
StackMap stack:
25: aload 18
iload 16
iaload
istore 15
start local 15 26: iload 14
iload 15
isub
iload 4
irem
ifne 28
27: goto 36
end local 15 28: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
29: iload 16
iload 17
if_icmplt 25
30: aload 10
iload 12
iconst_4
imul
i2l
iload 13
invokevirtual org.apache.cassandra.io.util.Memory.setInt:(JI)V
31: iinc 12 1
32: aload 0
iload 14
invokevirtual org.apache.cassandra.io.sstable.IndexSummary.getPositionInSummary:(I)I
i2l
lstore 15
start local 15 33: aload 0
iload 14
invokevirtual org.apache.cassandra.io.sstable.IndexSummary.getEndInSummary:(I)J
lload 15
lsub
lstore 17
start local 17 34: aload 11
iload 13
i2l
aload 9
lload 15
lload 17
invokevirtual org.apache.cassandra.io.util.Memory.put:(JLorg/apache/cassandra/io/util/Memory;JJ)V
35: iload 13
i2l
lload 17
ladd
l2i
istore 13
end local 17 end local 15 36: StackMap locals: org.apache.cassandra.io.sstable.IndexSummary int int org.apache.cassandra.dht.IPartitioner int int[] int long org.apache.cassandra.io.util.Memory org.apache.cassandra.io.util.Memory org.apache.cassandra.io.util.Memory int int int
StackMap stack:
iinc 14 1
StackMap locals:
StackMap stack:
37: iload 14
aload 0
invokevirtual org.apache.cassandra.io.sstable.IndexSummary.size:()I
if_icmplt 24
end local 14 38: getstatic org.apache.cassandra.io.sstable.IndexSummaryBuilder.$assertionsDisabled:Z
ifne 39
iload 13
i2l
lload 7
lcmp
ifeq 39
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
39: StackMap locals:
StackMap stack:
new org.apache.cassandra.io.sstable.IndexSummary
dup
aload 3
aload 10
iload 6
aload 11
lload 7
40: aload 0
invokevirtual org.apache.cassandra.io.sstable.IndexSummary.getMaxNumberOfEntries:()I
iload 2
iload 1
41: invokespecial org.apache.cassandra.io.sstable.IndexSummary.<init>:(Lorg/apache/cassandra/dht/IPartitioner;Lorg/apache/cassandra/io/util/Memory;ILorg/apache/cassandra/io/util/Memory;JIII)V
areturn
end local 13 end local 12 end local 11 end local 10 end local 9 end local 7 end local 6 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 42 0 existing Lorg/apache/cassandra/io/sstable/IndexSummary;
0 42 1 newSamplingLevel I
0 42 2 minIndexInterval I
0 42 3 partitioner Lorg/apache/cassandra/dht/IPartitioner;
1 42 4 currentSamplingLevel I
4 42 5 startPoints [I
5 42 6 newKeyCount I
6 42 7 newEntriesLength J
8 15 9 start I
9 15 13 j I
12 13 14 length J
18 42 9 oldEntries Lorg/apache/cassandra/io/util/Memory;
19 42 10 newOffsets Lorg/apache/cassandra/io/util/Memory;
20 42 11 newEntries Lorg/apache/cassandra/io/util/Memory;
21 42 12 i I
22 42 13 newEntriesOffset I
23 38 14 oldSummaryIndex I
26 28 15 start I
33 36 15 start J
34 36 17 length J
MethodParameters:
Name Flags
existing
newSamplingLevel
minIndexInterval
partitioner
}
SourceFile: "IndexSummaryBuilder.java"
NestMembers:
org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public ReadableBoundary = org.apache.cassandra.io.sstable.IndexSummaryBuilder$ReadableBoundary of org.apache.cassandra.io.sstable.IndexSummaryBuilder