public class org.apache.cassandra.db.compaction.Scrubber implements java.io.Closeable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.db.compaction.Scrubber
super_class: java.lang.Object
{
private final org.apache.cassandra.db.ColumnFamilyStore cfs;
descriptor: Lorg/apache/cassandra/db/ColumnFamilyStore;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.io.sstable.format.SSTableReader sstable;
descriptor: Lorg/apache/cassandra/io/sstable/format/SSTableReader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.db.lifecycle.LifecycleTransaction transaction;
descriptor: Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.File destination;
descriptor: Ljava/io/File;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean skipCorrupted;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean reinsertOverflowedTTLRows;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isCommutative;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isIndex;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean checkData;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long expectedBloomFilterSize;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.io.util.RandomAccessReader dataFile;
descriptor: Lorg/apache/cassandra/io/util/RandomAccessReader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.io.util.RandomAccessReader indexFile;
descriptor: Lorg/apache/cassandra/io/util/RandomAccessReader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.db.compaction.Scrubber$ScrubInfo scrubInfo;
descriptor: Lorg/apache/cassandra/db/compaction/Scrubber$ScrubInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.db.RowIndexEntry$IndexSerializer rowIndexEntrySerializer;
descriptor: Lorg/apache/cassandra/db/RowIndexEntry$IndexSerializer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int goodRows;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int badRows;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int emptyRows;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer currentIndexKey;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
private java.nio.ByteBuffer nextIndexKey;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0002) ACC_PRIVATE
long currentRowPositionFromIndex;
descriptor: J
flags: (0x0000)
long nextRowPositionFromIndex;
descriptor: J
flags: (0x0000)
private org.apache.cassandra.db.compaction.Scrubber$NegativeLocalDeletionInfoMetrics negativeLocalDeletionInfoMetrics;
descriptor: Lorg/apache/cassandra/db/compaction/Scrubber$NegativeLocalDeletionInfoMetrics;
flags: (0x0002) ACC_PRIVATE
private final org.apache.cassandra.utils.OutputHandler outputHandler;
descriptor: Lorg/apache/cassandra/utils/OutputHandler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.util.Comparator<org.apache.cassandra.db.partitions.Partition> partitionComparator;
descriptor: Ljava/util/Comparator;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Comparator<Lorg/apache/cassandra/db/partitions/Partition;>;
private final java.util.SortedSet<org.apache.cassandra.db.partitions.Partition> outOfOrder;
descriptor: Ljava/util/SortedSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/SortedSet<Lorg/apache/cassandra/db/partitions/Partition;>;
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/db/compaction/Scrubber;
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.db.compaction.Scrubber.$assertionsDisabled:Z
3: new org.apache.cassandra.db.compaction.Scrubber$1
dup
invokespecial org.apache.cassandra.db.compaction.Scrubber$1.<init>:()V
putstatic org.apache.cassandra.db.compaction.Scrubber.partitionComparator:Ljava/util/Comparator;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.db.lifecycle.LifecycleTransaction, boolean, boolean);
descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, 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
iload 3
iload 4
iconst_0
invokespecial org.apache.cassandra.db.compaction.Scrubber.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;ZZZ)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/Scrubber;
0 2 1 cfs Lorg/apache/cassandra/db/ColumnFamilyStore;
0 2 2 transaction Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
0 2 3 skipCorrupted Z
0 2 4 checkData Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cfs
transaction
skipCorrupted
checkData
public void <init>(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.db.lifecycle.LifecycleTransaction, boolean, boolean, boolean);
descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;ZZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, 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
iload 3
new org.apache.cassandra.utils.OutputHandler$LogOutput
dup
invokespecial org.apache.cassandra.utils.OutputHandler$LogOutput.<init>:()V
iload 4
iload 5
invokespecial org.apache.cassandra.db.compaction.Scrubber.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;ZLorg/apache/cassandra/utils/OutputHandler;ZZ)V
1: return
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 2 0 this Lorg/apache/cassandra/db/compaction/Scrubber;
0 2 1 cfs Lorg/apache/cassandra/db/ColumnFamilyStore;
0 2 2 transaction Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
0 2 3 skipCorrupted Z
0 2 4 checkData Z
0 2 5 reinsertOverflowedTTLRows Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cfs
transaction
skipCorrupted
checkData
reinsertOverflowedTTLRows
public void <init>(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.db.lifecycle.LifecycleTransaction, boolean, org.apache.cassandra.utils.OutputHandler, boolean, boolean);
descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;ZLorg/apache/cassandra/utils/OutputHandler;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.apache.cassandra.db.compaction.Scrubber$NegativeLocalDeletionInfoMetrics
dup
aload 0
invokespecial org.apache.cassandra.db.compaction.Scrubber$NegativeLocalDeletionInfoMetrics.<init>:(Lorg/apache/cassandra/db/compaction/Scrubber;)V
putfield org.apache.cassandra.db.compaction.Scrubber.negativeLocalDeletionInfoMetrics:Lorg/apache/cassandra/db/compaction/Scrubber$NegativeLocalDeletionInfoMetrics;
2: aload 0
new java.util.TreeSet
dup
getstatic org.apache.cassandra.db.compaction.Scrubber.partitionComparator:Ljava/util/Comparator;
invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
putfield org.apache.cassandra.db.compaction.Scrubber.outOfOrder:Ljava/util/SortedSet;
3: aload 0
aload 1
putfield org.apache.cassandra.db.compaction.Scrubber.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
4: aload 0
aload 2
putfield org.apache.cassandra.db.compaction.Scrubber.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
5: aload 0
aload 2
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.onlyOne:()Lorg/apache/cassandra/io/sstable/format/SSTableReader;
putfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
6: aload 0
aload 4
putfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
7: aload 0
iload 3
putfield org.apache.cassandra.db.compaction.Scrubber.skipCorrupted:Z
8: aload 0
iload 6
putfield org.apache.cassandra.db.compaction.Scrubber.reinsertOverflowedTTLRows:Z
9: aload 0
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
getfield org.apache.cassandra.io.sstable.Descriptor.version:Lorg/apache/cassandra/io/sstable/format/Version;
invokevirtual org.apache.cassandra.io.sstable.format.Version.getSSTableFormat:()Lorg/apache/cassandra/io/sstable/format/SSTableFormat;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
getfield org.apache.cassandra.io.sstable.format.SSTableReader.metadata:Lorg/apache/cassandra/config/CFMetaData;
10: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
getfield org.apache.cassandra.io.sstable.Descriptor.version:Lorg/apache/cassandra/io/sstable/format/Version;
11: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
getfield org.apache.cassandra.io.sstable.format.SSTableReader.header:Lorg/apache/cassandra/db/SerializationHeader;
12: invokeinterface org.apache.cassandra.io.sstable.format.SSTableFormat.getIndexSerializer:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/format/Version;Lorg/apache/cassandra/db/SerializationHeader;)Lorg/apache/cassandra/db/RowIndexEntry$IndexSerializer;
putfield org.apache.cassandra.db.compaction.Scrubber.rowIndexEntrySerializer:Lorg/apache/cassandra/db/RowIndexEntry$IndexSerializer;
13: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
astore 7
start local 7 14: aload 0
aload 1
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getDirectories:()Lorg/apache/cassandra/db/Directories;
aload 1
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getDiskBoundaries:()Lorg/apache/cassandra/db/DiskBoundaries;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
invokevirtual org.apache.cassandra.db.DiskBoundaries.getCorrectDiskForSSTable:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Lorg/apache/cassandra/db/Directories$DataDirectory;
invokevirtual org.apache.cassandra.db.Directories.getLocationForDisk:(Lorg/apache/cassandra/db/Directories$DataDirectory;)Ljava/io/File;
putfield org.apache.cassandra.db.compaction.Scrubber.destination:Ljava/io/File;
15: aload 0
aload 1
getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
invokevirtual org.apache.cassandra.config.CFMetaData.isCounter:()Z
putfield org.apache.cassandra.db.compaction.Scrubber.isCommutative:Z
16: new java.io.File
dup
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
getstatic org.apache.cassandra.io.sstable.Component.PRIMARY_INDEX:Lorg/apache/cassandra/io/sstable/Component;
invokevirtual org.apache.cassandra.io.sstable.Descriptor.filenameFor:(Lorg/apache/cassandra/io/sstable/Component;)Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.exists:()Z
istore 8
start local 8 17: aload 0
aload 1
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.isIndex:()Z
putfield org.apache.cassandra.db.compaction.Scrubber.isIndex:Z
18: iload 8
ifne 20
19: aload 4
new java.lang.StringBuilder
dup
ldc "Missing component: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
getstatic org.apache.cassandra.io.sstable.Component.PRIMARY_INDEX:Lorg/apache/cassandra/io/sstable/Component;
invokevirtual org.apache.cassandra.io.sstable.Descriptor.filenameFor:(Lorg/apache/cassandra/io/sstable/Component;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.warn:(Ljava/lang/String;)V
20: StackMap locals: org.apache.cassandra.db.compaction.Scrubber org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction int org.apache.cassandra.utils.OutputHandler int int java.util.List int
StackMap stack:
aload 0
iload 5
ifeq 21
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.isIndex:Z
ifne 21
iconst_1
goto 22
StackMap locals:
StackMap stack: org.apache.cassandra.db.compaction.Scrubber
21: iconst_0
StackMap locals: org.apache.cassandra.db.compaction.Scrubber org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction int org.apache.cassandra.utils.OutputHandler int int java.util.List int
StackMap stack: org.apache.cassandra.db.compaction.Scrubber int
22: putfield org.apache.cassandra.db.compaction.Scrubber.checkData:Z
23: aload 0
24: aload 1
getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.params:Lorg/apache/cassandra/schema/TableParams;
getfield org.apache.cassandra.schema.TableParams.minIndexInterval:I
i2l
25: iload 8
ifeq 26
aload 7
invokestatic org.apache.cassandra.io.sstable.format.SSTableReader.getApproximateKeyCount:(Ljava/lang/Iterable;)J
goto 27
StackMap locals: org.apache.cassandra.db.compaction.Scrubber org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction int org.apache.cassandra.utils.OutputHandler int int java.util.List int
StackMap stack: org.apache.cassandra.db.compaction.Scrubber long
26: lconst_0
27: StackMap locals: org.apache.cassandra.db.compaction.Scrubber org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction int org.apache.cassandra.utils.OutputHandler int int java.util.List int
StackMap stack: org.apache.cassandra.db.compaction.Scrubber long long
invokestatic java.lang.Math.max:(JJ)J
putfield org.apache.cassandra.db.compaction.Scrubber.expectedBloomFilterSize:J
28: aload 0
aload 2
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.isOffline:()Z
ifeq 30
29: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.openDataReader:()Lorg/apache/cassandra/io/util/RandomAccessReader;
goto 31
30: StackMap locals:
StackMap stack: org.apache.cassandra.db.compaction.Scrubber
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
getstatic org.apache.cassandra.db.compaction.CompactionManager.instance:Lorg/apache/cassandra/db/compaction/CompactionManager;
invokevirtual org.apache.cassandra.db.compaction.CompactionManager.getRateLimiter:()Lcom/google/common/util/concurrent/RateLimiter;
invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.openDataReader:(Lcom/google/common/util/concurrent/RateLimiter;)Lorg/apache/cassandra/io/util/RandomAccessReader;
31: StackMap locals: org.apache.cassandra.db.compaction.Scrubber org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction int org.apache.cassandra.utils.OutputHandler int int java.util.List int
StackMap stack: org.apache.cassandra.db.compaction.Scrubber org.apache.cassandra.io.util.RandomAccessReader
putfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
32: aload 0
iload 8
ifeq 34
33: new java.io.File
dup
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
getstatic org.apache.cassandra.io.sstable.Component.PRIMARY_INDEX:Lorg/apache/cassandra/io/sstable/Component;
invokevirtual org.apache.cassandra.io.sstable.Descriptor.filenameFor:(Lorg/apache/cassandra/io/sstable/Component;)Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokestatic org.apache.cassandra.io.util.RandomAccessReader.open:(Ljava/io/File;)Lorg/apache/cassandra/io/util/RandomAccessReader;
goto 35
34: StackMap locals:
StackMap stack: org.apache.cassandra.db.compaction.Scrubber
aconst_null
35: StackMap locals: org.apache.cassandra.db.compaction.Scrubber org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction int org.apache.cassandra.utils.OutputHandler int int java.util.List int
StackMap stack: org.apache.cassandra.db.compaction.Scrubber org.apache.cassandra.io.util.RandomAccessReader
putfield org.apache.cassandra.db.compaction.Scrubber.indexFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
36: aload 0
new org.apache.cassandra.db.compaction.Scrubber$ScrubInfo
dup
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
invokespecial org.apache.cassandra.db.compaction.Scrubber$ScrubInfo.<init>:(Lorg/apache/cassandra/io/util/RandomAccessReader;Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
putfield org.apache.cassandra.db.compaction.Scrubber.scrubInfo:Lorg/apache/cassandra/db/compaction/Scrubber$ScrubInfo;
37: aload 0
lconst_0
putfield org.apache.cassandra.db.compaction.Scrubber.currentRowPositionFromIndex:J
38: aload 0
lconst_0
putfield org.apache.cassandra.db.compaction.Scrubber.nextRowPositionFromIndex:J
39: iload 6
ifeq 41
40: aload 4
ldc "Starting scrub with reinsert overflowed TTL option"
invokeinterface org.apache.cassandra.utils.OutputHandler.output:(Ljava/lang/String;)V
41: StackMap locals:
StackMap stack:
return
end local 8 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 this Lorg/apache/cassandra/db/compaction/Scrubber;
0 42 1 cfs Lorg/apache/cassandra/db/ColumnFamilyStore;
0 42 2 transaction Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
0 42 3 skipCorrupted Z
0 42 4 outputHandler Lorg/apache/cassandra/utils/OutputHandler;
0 42 5 checkData Z
0 42 6 reinsertOverflowedTTLRows Z
14 42 7 toScrub Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
17 42 8 hasIndexFile Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
cfs
transaction
skipCorrupted
outputHandler
checkData
reinsertOverflowedTTLRows
private org.apache.cassandra.db.rows.UnfilteredRowIterator withValidation(org.apache.cassandra.db.rows.UnfilteredRowIterator, java.lang.String);
descriptor: (Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;Ljava/lang/String;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.checkData:Z
ifeq 1
aload 1
aload 2
invokestatic org.apache.cassandra.db.rows.UnfilteredRowIterators.withValidation:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;Ljava/lang/String;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
StackMap locals:
StackMap stack: org.apache.cassandra.db.rows.UnfilteredRowIterator
2: areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/db/compaction/Scrubber;
0 3 1 iter Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
0 3 2 filename Ljava/lang/String;
MethodParameters:
Name Flags
iter
filename
public void scrub();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=21, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
ldc "Scrubbing %s (%s)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
aastore
dup
iconst_1
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.length:()J
invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.output:(Ljava/lang/String;)V
3: aconst_null
astore 3
aconst_null
astore 4
4: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
iconst_0
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
getfield org.apache.cassandra.io.sstable.format.SSTableReader.maxDataAge:J
invokestatic org.apache.cassandra.io.sstable.SSTableRewriter.construct:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;ZJ)Lorg/apache/cassandra/io/sstable/SSTableRewriter;
astore 5
start local 5 5: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
invokestatic org.apache.cassandra.utils.concurrent.Refs.ref:(Ljava/lang/Iterable;)Lorg/apache/cassandra/utils/concurrent/Refs;
astore 6
start local 6 6: aload 0
aload 0
invokevirtual org.apache.cassandra.db.compaction.Scrubber.indexAvailable:()Z
ifeq 7
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.indexFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokestatic org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength:(Ljava/io/DataInput;)Ljava/nio/ByteBuffer;
goto 8
StackMap locals: org.apache.cassandra.db.compaction.Scrubber java.util.List int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.utils.concurrent.Refs
StackMap stack: org.apache.cassandra.db.compaction.Scrubber
7: aconst_null
StackMap locals: org.apache.cassandra.db.compaction.Scrubber java.util.List int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.utils.concurrent.Refs
StackMap stack: org.apache.cassandra.db.compaction.Scrubber java.nio.ByteBuffer
8: putfield org.apache.cassandra.db.compaction.Scrubber.nextIndexKey:Ljava/nio/ByteBuffer;
9: aload 0
invokevirtual org.apache.cassandra.db.compaction.Scrubber.indexAvailable:()Z
ifeq 12
10: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.rowIndexEntrySerializer:Lorg/apache/cassandra/db/RowIndexEntry$IndexSerializer;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.indexFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokeinterface org.apache.cassandra.db.RowIndexEntry$IndexSerializer.deserializePositionAndSkip:(Lorg/apache/cassandra/io/util/DataInputPlus;)J
lstore 7
start local 7 11: getstatic org.apache.cassandra.db.compaction.Scrubber.$assertionsDisabled:Z
ifne 12
lload 7
lconst_0
lcmp
ifeq 12
new java.lang.AssertionError
dup
lload 7
invokespecial java.lang.AssertionError.<init>:(J)V
athrow
end local 7 12: StackMap locals:
StackMap stack:
aload 5
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.destination:Ljava/io/File;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.expectedBloomFilterSize:J
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableMetadata:()Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.repairedAt:J
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
invokestatic org.apache.cassandra.db.compaction.CompactionManager.createWriter:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/io/File;JJLorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.switchWriter:(Lorg/apache/cassandra/io/sstable/format/SSTableWriter;)V
13: aconst_null
astore 7
start local 7 14: goto 74
15: StackMap locals: org.apache.cassandra.db.DecoratedKey
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.scrubInfo:Lorg/apache/cassandra/db/compaction/Scrubber$ScrubInfo;
invokevirtual org.apache.cassandra.db.compaction.Scrubber$ScrubInfo.isStopRequested:()Z
ifeq 17
16: new org.apache.cassandra.db.compaction.CompactionInterruptedException
dup
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.scrubInfo:Lorg/apache/cassandra/db/compaction/Scrubber$ScrubInfo;
invokevirtual org.apache.cassandra.db.compaction.Scrubber$ScrubInfo.getCompactionInfo:()Lorg/apache/cassandra/db/compaction/CompactionInfo;
invokespecial org.apache.cassandra.db.compaction.CompactionInterruptedException.<init>:(Lorg/apache/cassandra/db/compaction/CompactionInfo;)V
athrow
17: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.getFilePointer:()J
lstore 8
start local 8 18: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
new java.lang.StringBuilder
dup
ldc "Reading row at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 8
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.debug:(Ljava/lang/String;)V
19: aconst_null
astore 10
start local 10 20: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokestatic org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength:(Ljava/io/DataInput;)Ljava/nio/ByteBuffer;
invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.decorateKey:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/DecoratedKey;
astore 10
21: goto 24
22: StackMap locals: org.apache.cassandra.db.compaction.Scrubber java.util.List int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.DecoratedKey long org.apache.cassandra.db.DecoratedKey
StackMap stack: java.lang.Throwable
astore 11
start local 11 23: aload 0
aload 11
invokevirtual org.apache.cassandra.db.compaction.Scrubber.throwIfFatal:(Ljava/lang/Throwable;)V
end local 11 24: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.db.compaction.Scrubber.updateIndexKey:()V
25: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.getFilePointer:()J
lstore 11
start local 11 26: ldc -1
lstore 13
start local 13 27: ldc -1
lstore 15
start local 15 28: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.currentIndexKey:Ljava/nio/ByteBuffer;
ifnull 31
29: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.currentRowPositionFromIndex:J
ldc 2
ladd
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.currentIndexKey:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
i2l
ladd
lstore 13
30: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.nextRowPositionFromIndex:J
lload 13
lsub
lstore 15
31: StackMap locals: long long long
StackMap stack:
aload 10
ifnonnull 32
ldc "(unreadable key)"
goto 33
StackMap locals:
StackMap stack:
32: aload 10
invokevirtual org.apache.cassandra.db.DecoratedKey.getKey:()Ljava/nio/ByteBuffer;
invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytesToHex:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
33: astore 17
start local 17 34: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
ldc "row %s is %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 17
aastore
dup
iconst_1
lload 15
invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.debug:(Ljava/lang/String;)V
35: getstatic org.apache.cassandra.db.compaction.Scrubber.$assertionsDisabled:Z
ifne 36
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.currentIndexKey:Ljava/nio/ByteBuffer;
ifnonnull 36
aload 0
invokevirtual org.apache.cassandra.db.compaction.Scrubber.indexAvailable:()Z
ifeq 36
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
36: StackMap locals: java.lang.String
StackMap stack:
aload 10
ifnonnull 38
37: new java.io.IOError
dup
new java.io.IOException
dup
ldc "Unable to read row key from data file"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
invokespecial java.io.IOError.<init>:(Ljava/lang/Throwable;)V
athrow
38: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.currentIndexKey:Ljava/nio/ByteBuffer;
ifnull 42
aload 10
invokevirtual org.apache.cassandra.db.DecoratedKey.getKey:()Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.currentIndexKey:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.equals:(Ljava/lang/Object;)Z
ifne 42
39: new java.io.IOError
dup
new java.io.IOException
dup
ldc "Key from data file (%s) does not match key from index file (%s)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
40: ldc "_too big_"
aastore
dup
iconst_1
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.currentIndexKey:Ljava/nio/ByteBuffer;
invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytesToHex:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
aastore
41: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
invokespecial java.io.IOError.<init>:(Ljava/lang/Throwable;)V
athrow
42: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.indexFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
ifnull 44
lload 15
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.length:()J
lcmp
ifle 44
43: new java.io.IOError
dup
new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Impossible row size (greater than file length): "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 15
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
invokespecial java.io.IOError.<init>:(Ljava/lang/Throwable;)V
athrow
44: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.indexFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
ifnull 46
lload 11
lload 13
lcmp
ifeq 46
45: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
ldc "Data file row position %d differs from index file row position %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 11
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 13
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.warn:(Ljava/lang/String;)V
46: StackMap locals:
StackMap stack:
aload 0
aload 7
aload 10
aload 5
invokevirtual org.apache.cassandra.db.compaction.Scrubber.tryAppend:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/io/sstable/SSTableRewriter;)Z
ifeq 74
47: aload 10
astore 7
48: goto 74
49: StackMap locals:
StackMap stack: java.lang.Throwable
astore 18
start local 18 50: aload 0
aload 18
invokevirtual org.apache.cassandra.db.compaction.Scrubber.throwIfFatal:(Ljava/lang/Throwable;)V
51: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
ldc "Error reading row (stacktrace follows):"
aload 18
invokeinterface org.apache.cassandra.utils.OutputHandler.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
52: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.currentIndexKey:Ljava/nio/ByteBuffer;
ifnull 69
53: aload 10
ifnull 54
aload 10
invokevirtual org.apache.cassandra.db.DecoratedKey.getKey:()Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.currentIndexKey:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.equals:(Ljava/lang/Object;)Z
ifeq 54
lload 11
lload 13
lcmp
ifeq 69
54: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
ldc "Retrying from row index; data is %s bytes starting at %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
55: lload 15
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 13
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
56: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.output:(Ljava/lang/String;)V
57: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.currentIndexKey:Ljava/nio/ByteBuffer;
invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.decorateKey:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/DecoratedKey;
astore 10
58: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
lload 13
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.seek:(J)V
59: aload 0
aload 7
aload 10
aload 5
invokevirtual org.apache.cassandra.db.compaction.Scrubber.tryAppend:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/io/sstable/SSTableRewriter;)Z
ifeq 74
60: aload 10
astore 7
61: goto 74
62: StackMap locals:
StackMap stack: java.lang.Throwable
astore 19
start local 19 63: aload 0
aload 19
invokevirtual org.apache.cassandra.db.compaction.Scrubber.throwIfFatal:(Ljava/lang/Throwable;)V
64: aload 0
aload 10
aload 19
invokevirtual org.apache.cassandra.db.compaction.Scrubber.throwIfCannotContinue:(Lorg/apache/cassandra/db/DecoratedKey;Ljava/lang/Throwable;)V
65: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
ldc "Retry failed too. Skipping to next row (retry's stacktrace follows)"
aload 19
invokeinterface org.apache.cassandra.utils.OutputHandler.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
66: aload 0
dup
getfield org.apache.cassandra.db.compaction.Scrubber.badRows:I
iconst_1
iadd
putfield org.apache.cassandra.db.compaction.Scrubber.badRows:I
67: aload 0
invokevirtual org.apache.cassandra.db.compaction.Scrubber.seekToNextRow:()V
end local 19 68: goto 74
69: StackMap locals:
StackMap stack:
aload 0
aload 10
aload 18
invokevirtual org.apache.cassandra.db.compaction.Scrubber.throwIfCannotContinue:(Lorg/apache/cassandra/db/DecoratedKey;Ljava/lang/Throwable;)V
70: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
new java.lang.StringBuilder
dup
ldc "Row starting at position "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 11
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " is unreadable; skipping to next"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.warn:(Ljava/lang/String;)V
71: aload 0
dup
getfield org.apache.cassandra.db.compaction.Scrubber.badRows:I
iconst_1
iadd
putfield org.apache.cassandra.db.compaction.Scrubber.badRows:I
72: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.currentIndexKey:Ljava/nio/ByteBuffer;
ifnull 74
73: aload 0
invokevirtual org.apache.cassandra.db.compaction.Scrubber.seekToNextRow:()V
end local 18 end local 17 end local 15 end local 13 end local 11 end local 10 end local 8 74: StackMap locals: org.apache.cassandra.db.compaction.Scrubber java.util.List int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.DecoratedKey
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.isEOF:()Z
ifeq 15
75: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outOfOrder:Ljava/util/SortedSet;
invokeinterface java.util.SortedSet.isEmpty:()Z
ifne 95
76: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.badRows:I
ifle 77
lconst_0
goto 78
StackMap locals:
StackMap stack:
77: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableMetadata:()Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.repairedAt:J
StackMap locals:
StackMap stack: long
78: lstore 8
start local 8 79: aconst_null
astore 11
aconst_null
astore 12
80: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.destination:Ljava/io/File;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.expectedBloomFilterSize:J
lload 8
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
invokestatic org.apache.cassandra.db.compaction.CompactionManager.createWriter:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/io/File;JJLorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
astore 13
start local 13 81: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outOfOrder:Ljava/util/SortedSet;
invokeinterface java.util.SortedSet.iterator:()Ljava/util/Iterator;
astore 15
goto 84
StackMap locals: org.apache.cassandra.db.compaction.Scrubber java.util.List int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.DecoratedKey long top java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.format.SSTableWriter top java.util.Iterator
StackMap stack:
82: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.partitions.Partition
astore 14
start local 14 83: aload 13
aload 14
invokeinterface org.apache.cassandra.db.partitions.Partition.unfilteredIterator:()Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.append:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/RowIndexEntry;
pop
end local 14 84: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 82
85: aload 13
ldc -1
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
getfield org.apache.cassandra.io.sstable.format.SSTableReader.maxDataAge:J
iconst_1
invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.finish:(JJZ)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
astore 10
start local 10 86: aload 13
ifnull 92
aload 13
invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.close:()V
goto 92
end local 10 StackMap locals: org.apache.cassandra.db.compaction.Scrubber java.util.List int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.DecoratedKey long top java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.format.SSTableWriter
StackMap stack: java.lang.Throwable
87: astore 11
aload 13
ifnull 88
aload 13
invokevirtual org.apache.cassandra.io.sstable.format.SSTableWriter.close:()V
end local 13 StackMap locals:
StackMap stack:
88: aload 11
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
89: astore 12
aload 11
ifnonnull 90
aload 12
astore 11
goto 91
StackMap locals:
StackMap stack:
90: aload 11
aload 12
if_acmpeq 91
aload 11
aload 12
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
91: aload 11
athrow
start local 10 92: StackMap locals: org.apache.cassandra.db.compaction.Scrubber java.util.List int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.DecoratedKey long org.apache.cassandra.io.sstable.format.SSTableReader
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
aload 10
iconst_0
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.update:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;Z)V
93: aload 1
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
94: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
ldc "%d out of order rows found while scrubbing %s; Those have been written (in order) to a new sstable (%s)"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outOfOrder:Ljava/util/SortedSet;
invokeinterface java.util.SortedSet.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
aastore
dup
iconst_2
aload 10
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.warn:(Ljava/lang/String;)V
end local 10 end local 8 95: StackMap locals:
StackMap stack:
aload 1
aload 5
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.badRows:I
ifle 96
lconst_0
goto 97
StackMap locals: org.apache.cassandra.db.compaction.Scrubber java.util.List int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.DecoratedKey
StackMap stack: java.util.List org.apache.cassandra.io.sstable.SSTableRewriter
96: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableMetadata:()Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.repairedAt:J
StackMap locals: org.apache.cassandra.db.compaction.Scrubber java.util.List int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.DecoratedKey
StackMap stack: java.util.List org.apache.cassandra.io.sstable.SSTableRewriter long
97: invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.setRepairedAt:(J)Lorg/apache/cassandra/io/sstable/SSTableRewriter;
invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.finish:()Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
98: iconst_1
istore 2
end local 7 99: aload 6
ifnull 102
aload 6
invokevirtual org.apache.cassandra.utils.concurrent.Refs.close:()V
goto 102
StackMap locals: org.apache.cassandra.db.compaction.Scrubber java.util.List int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.utils.concurrent.Refs
StackMap stack: java.lang.Throwable
100: astore 3
aload 6
ifnull 101
aload 6
invokevirtual org.apache.cassandra.utils.concurrent.Refs.close:()V
end local 6 StackMap locals:
StackMap stack:
101: aload 3
athrow
StackMap locals:
StackMap stack:
102: aload 5
ifnull 116
aload 5
invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.close:()V
goto 116
StackMap locals:
StackMap stack: java.lang.Throwable
103: astore 4
aload 3
ifnonnull 104
aload 4
astore 3
goto 105
StackMap locals:
StackMap stack:
104: aload 3
aload 4
if_acmpeq 105
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
105: aload 5
ifnull 106
aload 5
invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.close:()V
end local 5 StackMap locals:
StackMap stack:
106: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
107: astore 4
aload 3
ifnonnull 108
aload 4
astore 3
goto 109
StackMap locals:
StackMap stack:
108: aload 3
aload 4
if_acmpeq 109
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
109: aload 3
athrow
110: StackMap locals: org.apache.cassandra.db.compaction.Scrubber java.util.List int
StackMap stack: java.io.IOException
astore 3
start local 3 111: aload 3
invokestatic com.google.common.base.Throwables.propagate:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 112: StackMap locals:
StackMap stack: java.lang.Throwable
astore 20
113: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.isOffline:()Z
ifeq 115
114: aload 1
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
org/apache/cassandra/db/compaction/Scrubber.lambda$0(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V (6)
(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
115: StackMap locals: org.apache.cassandra.db.compaction.Scrubber java.util.List int top top top top top top top top top top top top top top top top top java.lang.Throwable
StackMap stack:
aload 20
athrow
116: StackMap locals: org.apache.cassandra.db.compaction.Scrubber java.util.List int
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.isOffline:()Z
ifeq 118
117: aload 1
invokedynamic accept()Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
org/apache/cassandra/db/compaction/Scrubber.lambda$0(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V (6)
(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
118: StackMap locals:
StackMap stack:
iload 2
ifeq 125
119: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
new java.lang.StringBuilder
dup
ldc "Scrub of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " complete: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.goodRows:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " rows in new sstable and "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.emptyRows:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " empty (tombstoned) rows dropped"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.output:(Ljava/lang/String;)V
120: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.negativeLocalDeletionInfoMetrics:Lorg/apache/cassandra/db/compaction/Scrubber$NegativeLocalDeletionInfoMetrics;
getfield org.apache.cassandra.db.compaction.Scrubber$NegativeLocalDeletionInfoMetrics.fixedRows:I
ifle 122
121: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
new java.lang.StringBuilder
dup
ldc "Fixed "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.negativeLocalDeletionInfoMetrics:Lorg/apache/cassandra/db/compaction/Scrubber$NegativeLocalDeletionInfoMetrics;
getfield org.apache.cassandra.db.compaction.Scrubber$NegativeLocalDeletionInfoMetrics.fixedRows:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " rows with overflowed local deletion time."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.output:(Ljava/lang/String;)V
122: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.badRows:I
ifle 128
123: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
new java.lang.StringBuilder
dup
ldc "Unable to recover "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.badRows:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " rows that were skipped. You can attempt manual recovery from the pre-scrub snapshot. You can also run nodetool repair to transfer the data from a healthy replica, if any"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.warn:(Ljava/lang/String;)V
124: goto 128
125: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.badRows:I
ifle 127
126: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
new java.lang.StringBuilder
dup
ldc "No valid rows found while scrubbing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "; it is marked for deletion now. If you want to attempt manual recovery, you can find a copy in the pre-scrub snapshot"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.warn:(Ljava/lang/String;)V
goto 128
127: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
new java.lang.StringBuilder
dup
ldc "Scrub of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " complete; looks like all "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.emptyRows:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " rows were tombstoned"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.output:(Ljava/lang/String;)V
128: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 129 0 this Lorg/apache/cassandra/db/compaction/Scrubber;
1 129 1 finished Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
2 129 2 completed Z
5 106 5 writer Lorg/apache/cassandra/io/sstable/SSTableRewriter;
6 101 6 refs Lorg/apache/cassandra/utils/concurrent/Refs<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
11 12 7 firstRowPositionFromIndex J
14 99 7 prevKey Lorg/apache/cassandra/db/DecoratedKey;
18 74 8 rowStart J
20 74 10 key Lorg/apache/cassandra/db/DecoratedKey;
23 24 11 th Ljava/lang/Throwable;
26 74 11 dataStart J
27 74 13 dataStartFromIndex J
28 74 15 dataSizeFromIndex J
34 74 17 keyName Ljava/lang/String;
50 74 18 th Ljava/lang/Throwable;
63 68 19 th2 Ljava/lang/Throwable;
79 95 8 repairedAt J
86 87 10 newInOrderSstable Lorg/apache/cassandra/io/sstable/format/SSTableReader;
92 95 10 newInOrderSstable Lorg/apache/cassandra/io/sstable/format/SSTableReader;
81 88 13 inOrderWriter Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
83 84 14 partition Lorg/apache/cassandra/db/partitions/Partition;
111 112 3 e Ljava/io/IOException;
Exception table:
from to target type
20 21 22 Class java.lang.Throwable
36 48 49 Class java.lang.Throwable
58 61 62 Class java.lang.Throwable
81 86 87 any
80 89 89 any
6 99 100 any
5 102 103 any
4 107 107 any
3 110 110 Class java.io.IOException
3 112 112 any
private boolean tryAppend(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.io.sstable.SSTableRewriter);
descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/io/sstable/SSTableRewriter;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.apache.cassandra.db.compaction.Scrubber$OrderCheckerIterator
dup
aload 0
aload 2
invokevirtual org.apache.cassandra.db.compaction.Scrubber.getIterator:(Lorg/apache/cassandra/db/DecoratedKey;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
1: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.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;
2: invokespecial org.apache.cassandra.db.compaction.Scrubber$OrderCheckerIterator.<init>:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;Lorg/apache/cassandra/db/ClusteringComparator;)V
astore 4
start local 4 3: aconst_null
astore 5
aconst_null
astore 6
4: aload 0
aload 4
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.getPath:()Ljava/lang/String;
invokevirtual org.apache.cassandra.db.compaction.Scrubber.withValidation:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;Ljava/lang/String;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
astore 7
start local 7 5: aload 1
ifnull 9
aload 1
aload 2
invokevirtual org.apache.cassandra.db.DecoratedKey.compareTo:(Lorg/apache/cassandra/db/PartitionPosition;)I
ifle 9
6: aload 0
aload 1
aload 2
aload 7
invokevirtual org.apache.cassandra.db.compaction.Scrubber.saveOutOfOrderRow:(Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)V
7: aload 7
ifnull 8
aload 7
invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.close:()V
8: StackMap locals: org.apache.cassandra.db.compaction.Scrubber org.apache.cassandra.db.DecoratedKey org.apache.cassandra.db.DecoratedKey org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.db.compaction.Scrubber$OrderCheckerIterator java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.rows.UnfilteredRowIterator
StackMap stack:
iconst_0
ireturn
9: StackMap locals:
StackMap stack:
aload 3
aload 7
invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.tryAppend:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/RowIndexEntry;
ifnonnull 11
10: aload 0
dup
getfield org.apache.cassandra.db.compaction.Scrubber.emptyRows:I
iconst_1
iadd
putfield org.apache.cassandra.db.compaction.Scrubber.emptyRows:I
goto 12
11: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.apache.cassandra.db.compaction.Scrubber.goodRows:I
iconst_1
iadd
putfield org.apache.cassandra.db.compaction.Scrubber.goodRows:I
12: StackMap locals:
StackMap stack:
aload 7
ifnull 18
aload 7
invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.close:()V
goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 5
aload 7
ifnull 14
aload 7
invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.close:()V
end local 7 StackMap locals:
StackMap stack:
14: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
15: astore 6
aload 5
ifnonnull 16
aload 6
astore 5
goto 17
StackMap locals:
StackMap stack:
16: aload 5
aload 6
if_acmpeq 17
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
17: aload 5
athrow
18: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.apache.cassandra.db.compaction.Scrubber$OrderCheckerIterator.hasRowsOutOfOrder:()Z
ifeq 21
19: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
ldc "Out of order rows found in partition: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.warn:(Ljava/lang/String;)V
20: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outOfOrder:Ljava/util/SortedSet;
aload 4
invokevirtual org.apache.cassandra.db.compaction.Scrubber$OrderCheckerIterator.getRowsOutOfOrder:()Lorg/apache/cassandra/db/partitions/Partition;
invokeinterface java.util.SortedSet.add:(Ljava/lang/Object;)Z
pop
21: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/cassandra/db/compaction/Scrubber;
0 22 1 prevKey Lorg/apache/cassandra/db/DecoratedKey;
0 22 2 key Lorg/apache/cassandra/db/DecoratedKey;
0 22 3 writer Lorg/apache/cassandra/io/sstable/SSTableRewriter;
3 22 4 sstableIterator Lorg/apache/cassandra/db/compaction/Scrubber$OrderCheckerIterator;
5 14 7 iterator Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
Exception table:
from to target type
5 7 13 any
9 12 13 any
4 8 15 any
9 15 15 any
MethodParameters:
Name Flags
prevKey
key
writer
private org.apache.cassandra.db.rows.UnfilteredRowIterator getIterator(org.apache.cassandra.db.DecoratedKey);
descriptor: (Lorg/apache/cassandra/db/DecoratedKey;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: new org.apache.cassandra.db.compaction.Scrubber$RowMergingSSTableIterator
dup
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.sstable:Lorg/apache/cassandra/io/sstable/format/SSTableReader;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
aload 1
invokestatic org.apache.cassandra.io.sstable.SSTableIdentityIterator.create:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/io/util/RandomAccessReader;Lorg/apache/cassandra/db/DecoratedKey;)Lorg/apache/cassandra/io/sstable/SSTableIdentityIterator;
invokespecial org.apache.cassandra.db.compaction.Scrubber$RowMergingSSTableIterator.<init>:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)V
astore 2
start local 2 1: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.reinsertOverflowedTTLRows:Z
ifeq 4
new org.apache.cassandra.db.compaction.Scrubber$FixNegativeLocalDeletionTimeIterator
dup
aload 2
2: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
3: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.negativeLocalDeletionInfoMetrics:Lorg/apache/cassandra/db/compaction/Scrubber$NegativeLocalDeletionInfoMetrics;
invokespecial org.apache.cassandra.db.compaction.Scrubber$FixNegativeLocalDeletionTimeIterator.<init>:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;Lorg/apache/cassandra/utils/OutputHandler;Lorg/apache/cassandra/db/compaction/Scrubber$NegativeLocalDeletionInfoMetrics;)V
goto 5
StackMap locals: org.apache.cassandra.db.compaction.Scrubber$RowMergingSSTableIterator
StackMap stack:
4: aload 2
5: StackMap locals:
StackMap stack: org.apache.cassandra.db.rows.UnfilteredRowIterator
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/db/compaction/Scrubber;
0 6 1 key Lorg/apache/cassandra/db/DecoratedKey;
1 6 2 rowMergingIterator Lorg/apache/cassandra/db/compaction/Scrubber$RowMergingSSTableIterator;
MethodParameters:
Name Flags
key
private void updateIndexKey();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.nextIndexKey:Ljava/nio/ByteBuffer;
putfield org.apache.cassandra.db.compaction.Scrubber.currentIndexKey:Ljava/nio/ByteBuffer;
1: aload 0
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.nextRowPositionFromIndex:J
putfield org.apache.cassandra.db.compaction.Scrubber.currentRowPositionFromIndex:J
2: aload 0
aload 0
invokevirtual org.apache.cassandra.db.compaction.Scrubber.indexAvailable:()Z
ifne 3
aconst_null
goto 4
StackMap locals:
StackMap stack: org.apache.cassandra.db.compaction.Scrubber
3: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.indexFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokestatic org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength:(Ljava/io/DataInput;)Ljava/nio/ByteBuffer;
StackMap locals: org.apache.cassandra.db.compaction.Scrubber
StackMap stack: org.apache.cassandra.db.compaction.Scrubber java.nio.ByteBuffer
4: putfield org.apache.cassandra.db.compaction.Scrubber.nextIndexKey:Ljava/nio/ByteBuffer;
5: aload 0
aload 0
invokevirtual org.apache.cassandra.db.compaction.Scrubber.indexAvailable:()Z
ifne 7
6: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.length:()J
goto 8
7: StackMap locals:
StackMap stack: org.apache.cassandra.db.compaction.Scrubber
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.rowIndexEntrySerializer:Lorg/apache/cassandra/db/RowIndexEntry$IndexSerializer;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.indexFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokeinterface org.apache.cassandra.db.RowIndexEntry$IndexSerializer.deserializePositionAndSkip:(Lorg/apache/cassandra/io/util/DataInputPlus;)J
8: StackMap locals: org.apache.cassandra.db.compaction.Scrubber
StackMap stack: org.apache.cassandra.db.compaction.Scrubber long
putfield org.apache.cassandra.db.compaction.Scrubber.nextRowPositionFromIndex:J
9: goto 15
10: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 11: aload 1
invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
12: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
ldc "Error reading index file"
aload 1
invokeinterface org.apache.cassandra.utils.OutputHandler.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
13: aload 0
aconst_null
putfield org.apache.cassandra.db.compaction.Scrubber.nextIndexKey:Ljava/nio/ByteBuffer;
14: aload 0
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.length:()J
putfield org.apache.cassandra.db.compaction.Scrubber.nextRowPositionFromIndex:J
end local 1 15: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/apache/cassandra/db/compaction/Scrubber;
11 15 1 th Ljava/lang/Throwable;
Exception table:
from to target type
2 9 10 Class java.lang.Throwable
private boolean indexAvailable();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.indexFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
ifnull 1
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.indexFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.isEOF:()Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/db/compaction/Scrubber;
private void seekToNextRow();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=1
start local 0 0: goto 8
1: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.nextRowPositionFromIndex:J
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.seek:(J)V
2: return
3: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 4: aload 0
aload 1
invokevirtual org.apache.cassandra.db.compaction.Scrubber.throwIfFatal:(Ljava/lang/Throwable;)V
5: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
ldc "Failed to seek to next row position %d"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.nextRowPositionFromIndex:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 1
invokeinterface org.apache.cassandra.utils.OutputHandler.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
6: aload 0
dup
getfield org.apache.cassandra.db.compaction.Scrubber.badRows:I
iconst_1
iadd
putfield org.apache.cassandra.db.compaction.Scrubber.badRows:I
end local 1 7: aload 0
invokevirtual org.apache.cassandra.db.compaction.Scrubber.updateIndexKey:()V
8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.nextRowPositionFromIndex:J
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokevirtual org.apache.cassandra.io.util.RandomAccessReader.length:()J
lcmp
iflt 1
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/cassandra/db/compaction/Scrubber;
4 7 1 th Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
private void saveOutOfOrderRow(org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.DecoratedKey, org.apache.cassandra.db.rows.UnfilteredRowIterator);
descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/DecoratedKey;Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
ldc "Out of order row detected (%s found after %s)"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.warn:(Ljava/lang/String;)V
1: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outOfOrder:Ljava/util/SortedSet;
aload 3
invokestatic org.apache.cassandra.db.partitions.ImmutableBTreePartition.create:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/partitions/ImmutableBTreePartition;
invokeinterface java.util.SortedSet.add:(Ljava/lang/Object;)Z
pop
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/db/compaction/Scrubber;
0 3 1 prevKey Lorg/apache/cassandra/db/DecoratedKey;
0 3 2 key Lorg/apache/cassandra/db/DecoratedKey;
0 3 3 iterator Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
MethodParameters:
Name Flags
prevKey
key
iterator
private void throwIfFatal(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.Error
ifeq 2
aload 1
instanceof java.lang.AssertionError
ifne 2
aload 1
instanceof java.io.IOError
ifne 2
1: aload 1
checkcast java.lang.Error
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/db/compaction/Scrubber;
0 3 1 th Ljava/lang/Throwable;
MethodParameters:
Name Flags
th
private void throwIfCannotContinue(org.apache.cassandra.db.DecoratedKey, java.lang.Throwable);
descriptor: (Lorg/apache/cassandra/db/DecoratedKey;Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.isIndex:Z
ifeq 5
1: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
ldc "An error occurred while scrubbing the row with key '%s' for an index table. Scrubbing will abort for this table and the index will be rebuilt."
iconst_1
anewarray java.lang.Object
dup
iconst_0
2: aload 1
aastore
3: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.warn:(Ljava/lang/String;)V
4: new java.io.IOError
dup
aload 2
invokespecial java.io.IOError.<init>:(Ljava/lang/Throwable;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.isCommutative:Z
ifeq 10
aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.skipCorrupted:Z
ifne 10
6: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.outputHandler:Lorg/apache/cassandra/utils/OutputHandler;
ldc "An error occurred while scrubbing the row with key '%s'. Skipping corrupt rows in counter tables will result in undercounts for the affected counters (see CASSANDRA-2759 for more details), so by default the scrub will stop at this point. If you would like to skip the row anyway and continue scrubbing, re-run the scrub with the --skip-corrupted option."
iconst_1
anewarray java.lang.Object
dup
iconst_0
7: aload 1
aastore
8: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.cassandra.utils.OutputHandler.warn:(Ljava/lang/String;)V
9: new java.io.IOError
dup
aload 2
invokespecial java.io.IOError.<init>:(Ljava/lang/Throwable;)V
athrow
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/cassandra/db/compaction/Scrubber;
0 11 1 key Lorg/apache/cassandra/db/DecoratedKey;
0 11 2 th Ljava/lang/Throwable;
MethodParameters:
Name Flags
key
th
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.db.compaction.Scrubber.dataFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokestatic org.apache.cassandra.io.util.FileUtils.closeQuietly:(Ljava/io/Closeable;)V
1: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.indexFile:Lorg/apache/cassandra/io/util/RandomAccessReader;
invokestatic org.apache.cassandra.io.util.FileUtils.closeQuietly:(Ljava/io/Closeable;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/db/compaction/Scrubber;
public org.apache.cassandra.db.compaction.CompactionInfo$Holder getScrubInfo();
descriptor: ()Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.compaction.Scrubber.scrubInfo:Lorg/apache/cassandra/db/compaction/Scrubber$ScrubInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/compaction/Scrubber;
public org.apache.cassandra.db.compaction.Scrubber$ScrubResult scrubWithResult();
descriptor: ()Lorg/apache/cassandra/db/compaction/Scrubber$ScrubResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.db.compaction.Scrubber.scrub:()V
1: new org.apache.cassandra.db.compaction.Scrubber$ScrubResult
dup
aload 0
invokespecial org.apache.cassandra.db.compaction.Scrubber$ScrubResult.<init>:(Lorg/apache/cassandra/db/compaction/Scrubber;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/db/compaction/Scrubber;
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
private static void lambda$0(org.apache.cassandra.io.sstable.format.SSTableReader);
descriptor: (Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.selfRef:()Lorg/apache/cassandra/utils/concurrent/Ref;
invokevirtual org.apache.cassandra.utils.concurrent.Ref.release:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sstable Lorg/apache/cassandra/io/sstable/format/SSTableReader;
}
SourceFile: "Scrubber.java"
NestMembers:
org.apache.cassandra.db.compaction.Scrubber$1 org.apache.cassandra.db.compaction.Scrubber$FixNegativeLocalDeletionTimeIterator org.apache.cassandra.db.compaction.Scrubber$NegativeLocalDeletionInfoMetrics org.apache.cassandra.db.compaction.Scrubber$OrderCheckerIterator org.apache.cassandra.db.compaction.Scrubber$RowMergingSSTableIterator org.apache.cassandra.db.compaction.Scrubber$ScrubInfo org.apache.cassandra.db.compaction.Scrubber$ScrubResult
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public DataDirectory = org.apache.cassandra.db.Directories$DataDirectory of org.apache.cassandra.db.Directories
public abstract IndexSerializer = org.apache.cassandra.db.RowIndexEntry$IndexSerializer of org.apache.cassandra.db.RowIndexEntry
public abstract Holder = org.apache.cassandra.db.compaction.CompactionInfo$Holder of org.apache.cassandra.db.compaction.CompactionInfo
org.apache.cassandra.db.compaction.Scrubber$1
private final FixNegativeLocalDeletionTimeIterator = org.apache.cassandra.db.compaction.Scrubber$FixNegativeLocalDeletionTimeIterator of org.apache.cassandra.db.compaction.Scrubber
public NegativeLocalDeletionInfoMetrics = org.apache.cassandra.db.compaction.Scrubber$NegativeLocalDeletionInfoMetrics of org.apache.cassandra.db.compaction.Scrubber
private final OrderCheckerIterator = org.apache.cassandra.db.compaction.Scrubber$OrderCheckerIterator of org.apache.cassandra.db.compaction.Scrubber
private RowMergingSSTableIterator = org.apache.cassandra.db.compaction.Scrubber$RowMergingSSTableIterator of org.apache.cassandra.db.compaction.Scrubber
private ScrubInfo = org.apache.cassandra.db.compaction.Scrubber$ScrubInfo of org.apache.cassandra.db.compaction.Scrubber
public final ScrubResult = org.apache.cassandra.db.compaction.Scrubber$ScrubResult of org.apache.cassandra.db.compaction.Scrubber
public LogOutput = org.apache.cassandra.utils.OutputHandler$LogOutput of org.apache.cassandra.utils.OutputHandler