public class org.apache.cassandra.tools.StandaloneScrubber
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.tools.StandaloneScrubber
super_class: java.lang.Object
{
public static final java.lang.String REINSERT_OVERFLOWED_TTL_OPTION_DESCRIPTION;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "Rewrites rows with overflowed expiration date affected by CASSANDRA-14092 with the maximum supported expiration date of 2038-01-19T03:14:06+00:00. The rows are rewritten with the original timestamp incremented by one millisecond to override/supersede any potential tombstone that may have been generated during compaction of the affected rows."
private static final java.lang.String TOOL_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "sstablescrub"
private static final java.lang.String VERBOSE_OPTION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "verbose"
private static final java.lang.String DEBUG_OPTION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "debug"
private static final java.lang.String HELP_OPTION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "help"
private static final java.lang.String MANIFEST_CHECK_OPTION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "manifest-check"
private static final java.lang.String SKIP_CORRUPTED_OPTION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "skip-corrupted"
private static final java.lang.String NO_VALIDATE_OPTION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "no-validate"
private static final java.lang.String REINSERT_OVERFLOWED_TTL_OPTION;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "reinsert-overflowed-ttl"
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/tools/StandaloneScrubber;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=16, args_size=1
start local 0 0: aload 0
invokestatic org.apache.cassandra.tools.StandaloneScrubber$Options.parseArgs:([Ljava/lang/String;)Lorg/apache/cassandra/tools/StandaloneScrubber$Options;
astore 1
start local 1 1: invokestatic org.apache.cassandra.tools.Util.initDatabaseDescriptor:()V
2: getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
iconst_0
invokevirtual org.apache.cassandra.config.Schema.loadFromDisk:(Z)Lorg/apache/cassandra/config/Schema;
pop
3: getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.keyspaceName:Ljava/lang/String;
invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
ifnonnull 5
4: new java.lang.IllegalArgumentException
dup
ldc "Unknown keyspace %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.keyspaceName:Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: org.apache.cassandra.tools.StandaloneScrubber$Options
StackMap stack:
aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.keyspaceName:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.openWithoutSSTables:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
astore 2
start local 2 6: aconst_null
astore 3
start local 3 7: aload 2
iconst_1
iconst_0
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.cfName:Ljava/lang/String;
aastore
invokevirtual org.apache.cassandra.db.Keyspace.getValidColumnFamilies:(ZZ[Ljava/lang/String;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 12
StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneScrubber$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore top java.util.Iterator
StackMap stack:
8: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.ColumnFamilyStore
astore 4
start local 4 9: aload 4
getfield org.apache.cassandra.db.ColumnFamilyStore.name:Ljava/lang/String;
aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.cfName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
10: aload 4
astore 3
11: goto 13
end local 4 12: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
13: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneScrubber$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore
StackMap stack:
aload 3
ifnonnull 18
14: new java.lang.IllegalArgumentException
dup
ldc "Unknown table %s.%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
15: aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.keyspaceName:Ljava/lang/String;
aastore
dup
iconst_1
16: aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.cfName:Ljava/lang/String;
aastore
17: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "pre-scrub-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
invokestatic java.lang.System.currentTimeMillis:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 4
start local 4 19: new org.apache.cassandra.utils.OutputHandler$SystemOutput
dup
aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.verbose:Z
aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.debug:Z
invokespecial org.apache.cassandra.utils.OutputHandler$SystemOutput.<init>:(ZZ)V
astore 5
start local 5 20: aload 3
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getDirectories:()Lorg/apache/cassandra/db/Directories;
getstatic org.apache.cassandra.db.Directories$OnTxnErr.THROW:Lorg/apache/cassandra/db/Directories$OnTxnErr;
invokevirtual org.apache.cassandra.db.Directories.sstableLister:(Lorg/apache/cassandra/db/Directories$OnTxnErr;)Lorg/apache/cassandra/db/Directories$SSTableLister;
iconst_1
invokevirtual org.apache.cassandra.db.Directories$SSTableLister.skipTemporary:(Z)Lorg/apache/cassandra/db/Directories$SSTableLister;
astore 6
start local 6 21: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
start local 7 22: aload 6
invokevirtual org.apache.cassandra.db.Directories$SSTableLister.list:()Ljava/util/Map;
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 37
StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneScrubber$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.List top java.util.Iterator
StackMap stack:
23: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 8
start local 8 24: aload 8
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Set
astore 10
start local 10 25: aload 10
getstatic org.apache.cassandra.io.sstable.Component.DATA:Lorg/apache/cassandra/io/sstable/Component;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 27
26: goto 37
27: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneScrubber$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.List java.util.Map$Entry java.util.Iterator java.util.Set
StackMap stack:
aload 8
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.apache.cassandra.io.sstable.Descriptor
aload 10
aload 3
invokestatic org.apache.cassandra.io.sstable.format.SSTableReader.openNoValidation:(Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/Set;Lorg/apache/cassandra/db/ColumnFamilyStore;)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
astore 11
start local 11 28: aload 7
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
29: aload 11
getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
aload 4
invokestatic org.apache.cassandra.db.Directories.getSnapshotDirectory:(Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/lang/String;)Ljava/io/File;
astore 12
start local 12 30: aload 11
aload 12
invokevirtual java.io.File.getPath:()Ljava/lang/String;
invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.createLinks:(Ljava/lang/String;)V
end local 12 end local 11 31: goto 37
32: StackMap locals:
StackMap stack: java.lang.Exception
astore 11
start local 11 33: aload 11
invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
34: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Error Loading %s: %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 8
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
aastore
dup
iconst_1
aload 11
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
35: aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.debug:Z
ifeq 37
36: aload 11
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
end local 11 end local 10 end local 8 37: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneScrubber$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.List top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
38: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Pre-scrub sstables snapshotted into snapshot %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.manifestCheckOnly:Z
ifne 70
40: aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 69
StackMap locals:
StackMap stack:
41: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.io.sstable.format.SSTableReader
astore 8
start local 8 42: aconst_null
astore 10
aconst_null
astore 11
43: getstatic org.apache.cassandra.db.compaction.OperationType.SCRUB:Lorg/apache/cassandra/db/compaction/OperationType;
aload 8
invokestatic org.apache.cassandra.db.lifecycle.LifecycleTransaction.offline:(Lorg/apache/cassandra/db/compaction/OperationType;Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
astore 12
start local 12 44: aload 12
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.obsoleteOriginals:()V
45: aconst_null
astore 13
aconst_null
astore 14
46: new org.apache.cassandra.db.compaction.Scrubber
dup
aload 3
aload 12
aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.skipCorrupted:Z
aload 5
aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.noValidate:Z
ifeq 47
iconst_0
goto 48
StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneScrubber$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.List org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.lang.Throwable java.lang.Throwable
StackMap stack: new 46 new 46 org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction int org.apache.cassandra.utils.OutputHandler
47: iconst_1
StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneScrubber$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.List org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.lang.Throwable java.lang.Throwable
StackMap stack: new 46 new 46 org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction int org.apache.cassandra.utils.OutputHandler int
48: aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.reinserOverflowedTTL:Z
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
astore 15
start local 15 49: aload 15
invokevirtual org.apache.cassandra.db.compaction.Scrubber.scrub:()V
50: aload 15
ifnull 60
aload 15
invokevirtual org.apache.cassandra.db.compaction.Scrubber.close:()V
goto 60
StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneScrubber$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.List org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.Scrubber
StackMap stack: java.lang.Throwable
51: astore 13
aload 15
ifnull 52
aload 15
invokevirtual org.apache.cassandra.db.compaction.Scrubber.close:()V
end local 15 StackMap locals:
StackMap stack:
52: aload 13
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
53: astore 14
aload 13
ifnonnull 54
aload 14
astore 13
goto 55
StackMap locals:
StackMap stack:
54: aload 13
aload 14
if_acmpeq 55
aload 13
aload 14
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
55: aload 13
athrow
56: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneScrubber$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.List org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction
StackMap stack: java.lang.Throwable
astore 13
start local 13 57: aload 3
aload 13
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.rebuildOnFailedScrub:(Ljava/lang/Throwable;)Z
ifne 60
58: getstatic java.lang.System.out:Ljava/io/PrintStream;
aload 13
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
59: aload 13
athrow
end local 13 60: StackMap locals:
StackMap stack:
aload 12
ifnull 69
aload 12
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
goto 69
StackMap locals:
StackMap stack: java.lang.Throwable
61: astore 10
aload 12
ifnull 62
aload 12
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
end local 12 StackMap locals:
StackMap stack:
62: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
63: astore 11
aload 10
ifnonnull 64
aload 11
astore 10
goto 65
StackMap locals:
StackMap stack:
64: aload 10
aload 11
if_acmpeq 65
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
65: aload 10
athrow
66: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneScrubber$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.List org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator
StackMap stack: java.lang.Exception
astore 10
start local 10 67: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Error scrubbing %s: %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
dup
iconst_1
aload 10
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
68: aload 10
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
end local 10 end local 8 69: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneScrubber$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.List top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 41
70: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneScrubber$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore java.lang.String org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.List
StackMap stack:
aload 3
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
aload 3
aload 7
invokestatic org.apache.cassandra.tools.StandaloneScrubber.checkManifest:(Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;)V
71: getstatic org.apache.cassandra.db.compaction.CompactionManager.instance:Lorg/apache/cassandra/db/compaction/CompactionManager;
ldc 5
getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
invokevirtual org.apache.cassandra.db.compaction.CompactionManager.finishCompactionsAndShutdown:(JLjava/util/concurrent/TimeUnit;)V
72: invokestatic org.apache.cassandra.db.lifecycle.LifecycleTransaction.waitForDeletions:()V
73: iconst_0
invokestatic java.lang.System.exit:(I)V
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 74: goto 80
75: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneScrubber$Options
StackMap stack: java.lang.Exception
astore 2
start local 2 76: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 2
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
77: aload 1
getfield org.apache.cassandra.tools.StandaloneScrubber$Options.debug:Z
ifeq 79
78: aload 2
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
79: StackMap locals: java.lang.Exception
StackMap stack:
iconst_1
invokestatic java.lang.System.exit:(I)V
end local 2 80: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 81 0 args [Ljava/lang/String;
1 81 1 options Lorg/apache/cassandra/tools/StandaloneScrubber$Options;
6 74 2 keyspace Lorg/apache/cassandra/db/Keyspace;
7 74 3 cfs Lorg/apache/cassandra/db/ColumnFamilyStore;
9 12 4 c Lorg/apache/cassandra/db/ColumnFamilyStore;
19 74 4 snapshotName Ljava/lang/String;
20 74 5 handler Lorg/apache/cassandra/utils/OutputHandler;
21 74 6 lister Lorg/apache/cassandra/db/Directories$SSTableLister;
22 74 7 sstables Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
24 37 8 entry Ljava/util/Map$Entry<Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/Set<Lorg/apache/cassandra/io/sstable/Component;>;>;
25 37 10 components Ljava/util/Set<Lorg/apache/cassandra/io/sstable/Component;>;
28 31 11 sstable Lorg/apache/cassandra/io/sstable/format/SSTableReader;
30 31 12 snapshotDirectory Ljava/io/File;
33 37 11 e Ljava/lang/Exception;
42 69 8 sstable Lorg/apache/cassandra/io/sstable/format/SSTableReader;
44 62 12 txn Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
49 52 15 scrubber Lorg/apache/cassandra/db/compaction/Scrubber;
57 60 13 t Ljava/lang/Throwable;
67 69 10 e Ljava/lang/Exception;
76 80 2 e Ljava/lang/Exception;
Exception table:
from to target type
27 31 32 Class java.lang.Exception
49 50 51 any
46 53 53 any
45 56 56 Class java.lang.Throwable
44 60 61 any
43 63 63 any
42 66 66 Class java.lang.Exception
2 74 75 Class java.lang.Exception
MethodParameters:
Name Flags
args
private static void checkManifest(org.apache.cassandra.db.compaction.CompactionStrategyManager, org.apache.cassandra.db.ColumnFamilyStore, java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader>);
descriptor: (Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.getCompactionParams:()Lorg/apache/cassandra/schema/CompactionParams;
invokevirtual org.apache.cassandra.schema.CompactionParams.klass:()Ljava/lang/Class;
ldc Lorg/apache/cassandra/db/compaction/LeveledCompactionStrategy;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 18
1: aload 1
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.getMaxSSTableBytes:()J
ldc 1048576
ldiv
l2i
istore 3
start local 3 2: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Checking leveled manifest"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: new org.apache.cassandra.tools.StandaloneScrubber$1
dup
invokespecial org.apache.cassandra.tools.StandaloneScrubber$1.<init>:()V
astore 4
start local 4 4: aload 2
aload 4
invokestatic com.google.common.collect.Iterables.filter:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Ljava/lang/Iterable;
invokestatic com.google.common.collect.Lists.newArrayList:(Ljava/lang/Iterable;)Ljava/util/ArrayList;
astore 5
start local 5 5: aload 2
aload 4
invokestatic com.google.common.base.Predicates.not:(Lcom/google/common/base/Predicate;)Lcom/google/common/base/Predicate;
invokestatic com.google.common.collect.Iterables.filter:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Ljava/lang/Iterable;
invokestatic com.google.common.collect.Lists.newArrayList:(Ljava/lang/Iterable;)Ljava/util/ArrayList;
astore 6
start local 6 6: aload 1
iload 3
aload 1
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getLevelFanoutSize:()I
aload 5
invokestatic org.apache.cassandra.db.compaction.LeveledManifest.create:(Lorg/apache/cassandra/db/ColumnFamilyStore;IILjava/util/List;)Lorg/apache/cassandra/db/compaction/LeveledManifest;
astore 7
start local 7 7: iconst_1
istore 8
start local 8 8: goto 11
9: StackMap locals: org.apache.cassandra.db.compaction.CompactionStrategyManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection int com.google.common.base.Predicate java.util.List java.util.List org.apache.cassandra.db.compaction.LeveledManifest int
StackMap stack:
aload 7
iload 8
invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.repairOverlappingSSTables:(I)V
10: iinc 8 1
StackMap locals:
StackMap stack:
11: iload 8
aload 7
invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.getLevelCount:()I
if_icmplt 9
end local 8 12: aload 1
iload 3
aload 1
invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getLevelFanoutSize:()I
aload 6
invokestatic org.apache.cassandra.db.compaction.LeveledManifest.create:(Lorg/apache/cassandra/db/ColumnFamilyStore;IILjava/util/List;)Lorg/apache/cassandra/db/compaction/LeveledManifest;
astore 8
start local 8 13: iconst_1
istore 9
start local 9 14: goto 17
15: StackMap locals: org.apache.cassandra.db.compaction.CompactionStrategyManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection int com.google.common.base.Predicate java.util.List java.util.List org.apache.cassandra.db.compaction.LeveledManifest org.apache.cassandra.db.compaction.LeveledManifest int
StackMap stack:
aload 8
iload 9
invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.repairOverlappingSSTables:(I)V
16: iinc 9 1
StackMap locals:
StackMap stack:
17: iload 9
aload 8
invokevirtual org.apache.cassandra.db.compaction.LeveledManifest.getLevelCount:()I
if_icmplt 15
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 18: StackMap locals: org.apache.cassandra.db.compaction.CompactionStrategyManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 strategyManager Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
0 19 1 cfs Lorg/apache/cassandra/db/ColumnFamilyStore;
0 19 2 sstables Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
2 18 3 maxSizeInMB I
4 18 4 repairedPredicate Lcom/google/common/base/Predicate<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
5 18 5 repaired Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
6 18 6 unRepaired Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
7 18 7 repairedManifest Lorg/apache/cassandra/db/compaction/LeveledManifest;
8 12 8 i I
13 18 8 unRepairedManifest Lorg/apache/cassandra/db/compaction/LeveledManifest;
14 18 9 i I
Signature: (Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)V
MethodParameters:
Name Flags
strategyManager
cfs
sstables
}
SourceFile: "StandaloneScrubber.java"
NestMembers:
org.apache.cassandra.tools.StandaloneScrubber$1 org.apache.cassandra.tools.StandaloneScrubber$Options
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public final OnTxnErr = org.apache.cassandra.db.Directories$OnTxnErr of org.apache.cassandra.db.Directories
public SSTableLister = org.apache.cassandra.db.Directories$SSTableLister of org.apache.cassandra.db.Directories
org.apache.cassandra.tools.StandaloneScrubber$1
private Options = org.apache.cassandra.tools.StandaloneScrubber$Options of org.apache.cassandra.tools.StandaloneScrubber
public SystemOutput = org.apache.cassandra.utils.OutputHandler$SystemOutput of org.apache.cassandra.utils.OutputHandler