public class org.apache.cassandra.tools.StandaloneUpgrader
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.tools.StandaloneUpgrader
super_class: java.lang.Object
{
private static final java.lang.String TOOL_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "sstableupgrade"
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 KEEP_SOURCE;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "keep-source"
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/StandaloneUpgrader;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=15, args_size=1
start local 0 0: aload 0
invokestatic org.apache.cassandra.tools.StandaloneUpgrader$Options.parseArgs:([Ljava/lang/String;)Lorg/apache/cassandra/tools/StandaloneUpgrader$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.StandaloneUpgrader$Options.keyspace:Ljava/lang/String;
aload 1
getfield org.apache.cassandra.tools.StandaloneUpgrader$Options.cf:Ljava/lang/String;
invokevirtual org.apache.cassandra.config.Schema.getCFMetaData:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData;
ifnonnull 8
4: new java.lang.IllegalArgumentException
dup
ldc "Unknown keyspace/table %s.%s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
5: aload 1
getfield org.apache.cassandra.tools.StandaloneUpgrader$Options.keyspace:Ljava/lang/String;
aastore
dup
iconst_1
6: aload 1
getfield org.apache.cassandra.tools.StandaloneUpgrader$Options.cf:Ljava/lang/String;
aastore
7: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: org.apache.cassandra.tools.StandaloneUpgrader$Options
StackMap stack:
aload 1
getfield org.apache.cassandra.tools.StandaloneUpgrader$Options.keyspace:Ljava/lang/String;
invokestatic org.apache.cassandra.db.Keyspace.openWithoutSSTables:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
astore 2
start local 2 9: aload 2
aload 1
getfield org.apache.cassandra.tools.StandaloneUpgrader$Options.cf:Ljava/lang/String;
invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/lang/String;)Lorg/apache/cassandra/db/ColumnFamilyStore;
astore 3
start local 3 10: new org.apache.cassandra.utils.OutputHandler$SystemOutput
dup
iconst_0
aload 1
getfield org.apache.cassandra.tools.StandaloneUpgrader$Options.debug:Z
invokespecial org.apache.cassandra.utils.OutputHandler$SystemOutput.<init>:(ZZ)V
astore 4
start local 4 11: 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;
astore 5
start local 5 12: aload 1
getfield org.apache.cassandra.tools.StandaloneUpgrader$Options.snapshot:Ljava/lang/String;
ifnull 14
13: aload 5
iconst_1
invokevirtual org.apache.cassandra.db.Directories$SSTableLister.onlyBackups:(Z)Lorg/apache/cassandra/db/Directories$SSTableLister;
aload 1
getfield org.apache.cassandra.tools.StandaloneUpgrader$Options.snapshot:Ljava/lang/String;
invokevirtual org.apache.cassandra.db.Directories$SSTableLister.snapshots:(Ljava/lang/String;)Lorg/apache/cassandra/db/Directories$SSTableLister;
pop
goto 15
14: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneUpgrader$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister
StackMap stack:
aload 5
iconst_0
invokevirtual org.apache.cassandra.db.Directories$SSTableLister.includeBackups:(Z)Lorg/apache/cassandra/db/Directories$SSTableLister;
pop
15: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 16: aload 5
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 32
StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneUpgrader$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.Collection top java.util.Iterator
StackMap stack:
17: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 7
start local 7 18: aload 7
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.util.Set
astore 9
start local 9 19: aload 9
getstatic org.apache.cassandra.io.sstable.Component.DATA:Lorg/apache/cassandra/io/sstable/Component;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 32
aload 9
getstatic org.apache.cassandra.io.sstable.Component.PRIMARY_INDEX:Lorg/apache/cassandra/io/sstable/Component;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 21
20: goto 32
21: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneUpgrader$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.Collection java.util.Map$Entry java.util.Iterator java.util.Set
StackMap stack:
aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.apache.cassandra.io.sstable.Descriptor
aload 9
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 10
start local 10 22: aload 10
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;
invokestatic org.apache.cassandra.io.sstable.format.SSTableFormat$Type.current:()Lorg/apache/cassandra/io/sstable/format/SSTableFormat$Type;
getfield org.apache.cassandra.io.sstable.format.SSTableFormat$Type.info:Lorg/apache/cassandra/io/sstable/format/SSTableFormat;
invokeinterface org.apache.cassandra.io.sstable.format.SSTableFormat.getLatestVersion:()Lorg/apache/cassandra/io/sstable/format/Version;
invokevirtual org.apache.cassandra.io.sstable.format.Version.equals:(Ljava/lang/Object;)Z
ifeq 25
23: aload 10
invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.selfRef:()Lorg/apache/cassandra/utils/concurrent/Ref;
invokevirtual org.apache.cassandra.utils.concurrent.Ref.release:()V
24: goto 32
25: StackMap locals: org.apache.cassandra.io.sstable.format.SSTableReader
StackMap stack:
aload 6
aload 10
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 10 26: goto 32
27: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneUpgrader$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.Collection java.util.Map$Entry java.util.Iterator java.util.Set
StackMap stack: java.lang.Exception
astore 10
start local 10 28: aload 10
invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
29: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Error Loading %s: %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 7
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
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
30: aload 1
getfield org.apache.cassandra.tools.StandaloneUpgrader$Options.debug:Z
ifeq 32
31: aload 10
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
end local 10 end local 9 end local 7 32: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneUpgrader$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.Collection top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
33: aload 6
invokeinterface java.util.Collection.size:()I
istore 7
start local 7 34: aload 4
new java.lang.StringBuilder
dup
ldc "Found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " sstables that need upgrading."
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
35: aload 6
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 9
goto 56
StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneUpgrader$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.Collection int top java.util.Iterator
StackMap stack:
36: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.io.sstable.format.SSTableReader
astore 8
start local 8 37: aconst_null
astore 10
aconst_null
astore 11
38: getstatic org.apache.cassandra.db.compaction.OperationType.UPGRADE_SSTABLES: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 39: new org.apache.cassandra.db.compaction.Upgrader
dup
aload 3
aload 12
aload 4
invokespecial org.apache.cassandra.db.compaction.Upgrader.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;Lorg/apache/cassandra/utils/OutputHandler;)V
astore 13
start local 13 40: aload 13
aload 1
getfield org.apache.cassandra.tools.StandaloneUpgrader$Options.keepSource:Z
invokevirtual org.apache.cassandra.db.compaction.Upgrader.upgrade:(Z)V
end local 13 41: aload 12
ifnull 55
aload 12
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
goto 55
StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneUpgrader$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.Collection int 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
42: astore 10
aload 12
ifnull 43
aload 12
invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
end local 12 StackMap locals:
StackMap stack:
43: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
44: astore 11
aload 10
ifnonnull 45
aload 11
astore 10
goto 46
StackMap locals:
StackMap stack:
45: aload 10
aload 11
if_acmpeq 46
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
46: aload 10
athrow
47: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneUpgrader$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator
StackMap stack: java.lang.Exception
astore 10
start local 10 48: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Error upgrading %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
49: aload 1
getfield org.apache.cassandra.tools.StandaloneUpgrader$Options.debug:Z
ifeq 51
50: aload 10
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
end local 10 51: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.selfRef:()Lorg/apache/cassandra/utils/concurrent/Ref;
invokevirtual org.apache.cassandra.utils.concurrent.Ref.ensureReleased:()V
goto 56
52: StackMap locals:
StackMap stack: java.lang.Throwable
astore 14
53: aload 8
invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.selfRef:()Lorg/apache/cassandra/utils/concurrent/Ref;
invokevirtual org.apache.cassandra.utils.concurrent.Ref.ensureReleased:()V
54: aload 14
athrow
55: StackMap locals:
StackMap stack:
aload 8
invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.selfRef:()Lorg/apache/cassandra/utils/concurrent/Ref;
invokevirtual org.apache.cassandra.utils.concurrent.Ref.ensureReleased:()V
end local 8 56: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneUpgrader$Options org.apache.cassandra.db.Keyspace org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.OutputHandler org.apache.cassandra.db.Directories$SSTableLister java.util.Collection int top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 36
57: 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
58: invokestatic org.apache.cassandra.db.lifecycle.LifecycleTransaction.waitForDeletions:()V
59: 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 60: goto 66
61: StackMap locals: java.lang.String[] org.apache.cassandra.tools.StandaloneUpgrader$Options
StackMap stack: java.lang.Exception
astore 2
start local 2 62: 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
63: aload 1
getfield org.apache.cassandra.tools.StandaloneUpgrader$Options.debug:Z
ifeq 65
64: aload 2
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintStream;)V
65: StackMap locals: java.lang.Exception
StackMap stack:
iconst_1
invokestatic java.lang.System.exit:(I)V
end local 2 66: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 args [Ljava/lang/String;
1 67 1 options Lorg/apache/cassandra/tools/StandaloneUpgrader$Options;
9 60 2 keyspace Lorg/apache/cassandra/db/Keyspace;
10 60 3 cfs Lorg/apache/cassandra/db/ColumnFamilyStore;
11 60 4 handler Lorg/apache/cassandra/utils/OutputHandler;
12 60 5 lister Lorg/apache/cassandra/db/Directories$SSTableLister;
16 60 6 readers Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
18 32 7 entry Ljava/util/Map$Entry<Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/util/Set<Lorg/apache/cassandra/io/sstable/Component;>;>;
19 32 9 components Ljava/util/Set<Lorg/apache/cassandra/io/sstable/Component;>;
22 26 10 sstable Lorg/apache/cassandra/io/sstable/format/SSTableReader;
28 32 10 e Ljava/lang/Exception;
34 60 7 numSSTables I
37 56 8 sstable Lorg/apache/cassandra/io/sstable/format/SSTableReader;
39 43 12 txn Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
40 41 13 upgrader Lorg/apache/cassandra/db/compaction/Upgrader;
48 51 10 e Ljava/lang/Exception;
62 66 2 e Ljava/lang/Exception;
Exception table:
from to target type
21 24 27 Class java.lang.Exception
25 26 27 Class java.lang.Exception
39 41 42 any
38 44 44 any
37 47 47 Class java.lang.Exception
37 51 52 any
2 60 61 Class java.lang.Exception
MethodParameters:
Name Flags
args
}
SourceFile: "StandaloneUpgrader.java"
NestMembers:
org.apache.cassandra.tools.StandaloneUpgrader$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
public final Type = org.apache.cassandra.io.sstable.format.SSTableFormat$Type of org.apache.cassandra.io.sstable.format.SSTableFormat
private Options = org.apache.cassandra.tools.StandaloneUpgrader$Options of org.apache.cassandra.tools.StandaloneUpgrader
public SystemOutput = org.apache.cassandra.utils.OutputHandler$SystemOutput of org.apache.cassandra.utils.OutputHandler