public class org.apache.cassandra.tools.SSTableLevelResetter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.tools.SSTableLevelResetter
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.apache.cassandra.tools.SSTableLevelResetter this
0: .line 37
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.apache.cassandra.tools.SSTableLevelResetter this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/tools/SSTableLevelResetter;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=11, args_size=1
start local 0 // java.lang.String[] args
0: .line 44
getstatic java.lang.System.out:Ljava/io/PrintStream;
astore 1 /* out */
start local 1 // java.io.PrintStream out
1: .line 45
aload 0 /* args */
arraylength
ifne 5
2: .line 47
aload 1 /* out */
ldc "This command should be run with Cassandra stopped!"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: .line 48
aload 1 /* out */
ldc "Usage: sstablelevelreset <keyspace> <table>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
4: .line 49
iconst_1
invokestatic java.lang.System.exit:(I)V
5: .line 52
StackMap locals: java.io.PrintStream
StackMap stack:
aload 0 /* args */
iconst_0
aaload
ldc "--really-reset"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
aload 0 /* args */
arraylength
iconst_3
if_icmpeq 10
6: .line 54
StackMap locals:
StackMap stack:
aload 1 /* out */
ldc "This command should be run with Cassandra stopped, otherwise you will get very strange behavior"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
7: .line 55
aload 1 /* out */
ldc "Verify that Cassandra is not running and then execute the command like this:"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
8: .line 56
aload 1 /* out */
ldc "Usage: sstablelevelreset --really-reset <keyspace> <table>"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: .line 57
iconst_1
invokestatic java.lang.System.exit:(I)V
10: .line 60
StackMap locals:
StackMap stack:
invokestatic org.apache.cassandra.tools.Util.initDatabaseDescriptor:()V
11: .line 67
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
12: .line 69
aload 0 /* args */
iconst_1
aaload
astore 2 /* keyspaceName */
start local 2 // java.lang.String keyspaceName
13: .line 70
aload 0 /* args */
iconst_2
aaload
astore 3 /* columnfamily */
start local 3 // java.lang.String columnfamily
14: .line 72
getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
aload 2 /* keyspaceName */
aload 3 /* columnfamily */
invokevirtual org.apache.cassandra.config.Schema.getCFMetaData:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData;
ifnonnull 17
15: .line 74
getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "ColumnFamily not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2 /* keyspaceName */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3 /* columnfamily */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
16: .line 75
iconst_1
invokestatic java.lang.System.exit:(I)V
17: .line 78
StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 2 /* keyspaceName */
invokestatic org.apache.cassandra.db.Keyspace.openWithoutSSTables:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
astore 4 /* keyspace */
start local 4 // org.apache.cassandra.db.Keyspace keyspace
18: .line 79
aload 4 /* keyspace */
aload 3 /* columnfamily */
invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/lang/String;)Lorg/apache/cassandra/db/ColumnFamilyStore;
astore 5 /* cfs */
start local 5 // org.apache.cassandra.db.ColumnFamilyStore cfs
19: .line 80
iconst_0
istore 6 /* foundSSTable */
start local 6 // boolean foundSSTable
20: .line 81
aload 5 /* cfs */
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;
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 8
goto 31
StackMap locals: java.lang.String[] java.io.PrintStream java.lang.String java.lang.String org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore int top java.util.Iterator
StackMap stack:
21: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7 /* sstable */
start local 7 // java.util.Map$Entry sstable
22: .line 83
aload 7 /* sstable */
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Set
getstatic org.apache.cassandra.io.sstable.Component.STATS:Lorg/apache/cassandra/io/sstable/Component;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 31
23: .line 85
iconst_1
istore 6 /* foundSSTable */
24: .line 86
aload 7 /* sstable */
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.apache.cassandra.io.sstable.Descriptor
astore 9 /* descriptor */
start local 9 // org.apache.cassandra.io.sstable.Descriptor descriptor
25: .line 87
aload 9 /* descriptor */
invokevirtual org.apache.cassandra.io.sstable.Descriptor.getMetadataSerializer:()Lorg/apache/cassandra/io/sstable/metadata/IMetadataSerializer;
aload 9 /* descriptor */
getstatic org.apache.cassandra.io.sstable.metadata.MetadataType.STATS:Lorg/apache/cassandra/io/sstable/metadata/MetadataType;
invokeinterface org.apache.cassandra.io.sstable.metadata.IMetadataSerializer.deserialize:(Lorg/apache/cassandra/io/sstable/Descriptor;Lorg/apache/cassandra/io/sstable/metadata/MetadataType;)Lorg/apache/cassandra/io/sstable/metadata/MetadataComponent;
checkcast org.apache.cassandra.io.sstable.metadata.StatsMetadata
astore 10 /* metadata */
start local 10 // org.apache.cassandra.io.sstable.metadata.StatsMetadata metadata
26: .line 88
aload 10 /* metadata */
getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.sstableLevel:I
ifle 30
27: .line 90
aload 1 /* out */
new java.lang.StringBuilder
dup
ldc "Changing level from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10 /* metadata */
getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.sstableLevel:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " to 0 on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9 /* descriptor */
getstatic org.apache.cassandra.io.sstable.Component.DATA: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;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
28: .line 91
aload 9 /* descriptor */
invokevirtual org.apache.cassandra.io.sstable.Descriptor.getMetadataSerializer:()Lorg/apache/cassandra/io/sstable/metadata/IMetadataSerializer;
aload 9 /* descriptor */
iconst_0
invokeinterface org.apache.cassandra.io.sstable.metadata.IMetadataSerializer.mutateLevel:(Lorg/apache/cassandra/io/sstable/Descriptor;I)V
29: .line 92
goto 31
30: .line 95
StackMap locals: java.lang.String[] java.io.PrintStream java.lang.String java.lang.String org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore int java.util.Map$Entry java.util.Iterator org.apache.cassandra.io.sstable.Descriptor org.apache.cassandra.io.sstable.metadata.StatsMetadata
StackMap stack:
aload 1 /* out */
new java.lang.StringBuilder
dup
ldc "Skipped "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9 /* descriptor */
getstatic org.apache.cassandra.io.sstable.Component.DATA: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;
ldc " since it is already on level 0"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 10 // org.apache.cassandra.io.sstable.metadata.StatsMetadata metadata
end local 9 // org.apache.cassandra.io.sstable.Descriptor descriptor
end local 7 // java.util.Map$Entry sstable
31: .line 81
StackMap locals: java.lang.String[] java.io.PrintStream java.lang.String java.lang.String org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
32: .line 100
iload 6 /* foundSSTable */
ifne 39
33: .line 102
aload 1 /* out */
ldc "Found no sstables, did you give the correct keyspace/table?"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 6 // boolean foundSSTable
end local 5 // org.apache.cassandra.db.ColumnFamilyStore cfs
end local 4 // org.apache.cassandra.db.Keyspace keyspace
end local 3 // java.lang.String columnfamily
end local 2 // java.lang.String keyspaceName
34: .line 104
goto 39
35: .line 105
StackMap locals: java.lang.String[] java.io.PrintStream
StackMap stack: java.lang.Throwable
astore 2 /* t */
start local 2 // java.lang.Throwable t
36: .line 107
aload 2 /* t */
invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
37: .line 108
aload 2 /* t */
invokevirtual java.lang.Throwable.printStackTrace:()V
38: .line 109
iconst_1
invokestatic java.lang.System.exit:(I)V
end local 2 // java.lang.Throwable t
39: .line 111
StackMap locals:
StackMap stack:
iconst_0
invokestatic java.lang.System.exit:(I)V
40: .line 112
return
end local 1 // java.io.PrintStream out
end local 0 // java.lang.String[] args
LocalVariableTable:
Start End Slot Name Signature
0 41 0 args [Ljava/lang/String;
1 41 1 out Ljava/io/PrintStream;
13 34 2 keyspaceName Ljava/lang/String;
14 34 3 columnfamily Ljava/lang/String;
18 34 4 keyspace Lorg/apache/cassandra/db/Keyspace;
19 34 5 cfs Lorg/apache/cassandra/db/ColumnFamilyStore;
20 34 6 foundSSTable Z
22 31 7 sstable Ljava/util/Map$Entry<Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/Set<Lorg/apache/cassandra/io/sstable/Component;>;>;
25 31 9 descriptor Lorg/apache/cassandra/io/sstable/Descriptor;
26 31 10 metadata Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
36 39 2 t Ljava/lang/Throwable;
Exception table:
from to target type
11 34 35 Class java.lang.Throwable
MethodParameters:
Name Flags
args
}
SourceFile: "SSTableLevelResetter.java"
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