class org.apache.cassandra.db.lifecycle.LogTransaction extends org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional implements org.apache.cassandra.utils.concurrent.Transactional
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.cassandra.db.lifecycle.LogTransaction
super_class: org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.apache.cassandra.db.lifecycle.Tracker tracker;
descriptor: Lorg/apache/cassandra/db/lifecycle/Tracker;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.db.lifecycle.LogFile txnFile;
descriptor: Lorg/apache/cassandra/db/lifecycle/LogFile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.apache.cassandra.utils.concurrent.Ref<org.apache.cassandra.db.lifecycle.LogTransaction> selfRef;
descriptor: Lorg/apache/cassandra/utils/concurrent/Ref;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/apache/cassandra/utils/concurrent/Ref<Lorg/apache/cassandra/db/lifecycle/LogTransaction;>;
private static final java.util.Queue<java.lang.Runnable> failedDeletions;
descriptor: Ljava/util/Queue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Queue<Ljava/lang/Runnable;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/db/lifecycle/LogTransaction;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.db.lifecycle.LogTransaction.logger:Lorg/slf4j/Logger;
1: new java.util.concurrent.ConcurrentLinkedQueue
dup
invokespecial java.util.concurrent.ConcurrentLinkedQueue.<init>:()V
putstatic org.apache.cassandra.db.lifecycle.LogTransaction.failedDeletions:Ljava/util/Queue;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.apache.cassandra.db.compaction.OperationType);
descriptor: (Lorg/apache/cassandra/db/compaction/OperationType;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokespecial org.apache.cassandra.db.lifecycle.LogTransaction.<init>:(Lorg/apache/cassandra/db/compaction/OperationType;Lorg/apache/cassandra/db/lifecycle/Tracker;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
0 2 1 opType Lorg/apache/cassandra/db/compaction/OperationType;
MethodParameters:
Name Flags
opType
void <init>(org.apache.cassandra.db.compaction.OperationType, org.apache.cassandra.db.lifecycle.Tracker);
descriptor: (Lorg/apache/cassandra/db/compaction/OperationType;Lorg/apache/cassandra/db/lifecycle/Tracker;)V
flags: (0x0000)
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.<init>:()V
1: aload 0
aload 2
putfield org.apache.cassandra.db.lifecycle.LogTransaction.tracker:Lorg/apache/cassandra/db/lifecycle/Tracker;
2: aload 0
new org.apache.cassandra.db.lifecycle.LogFile
dup
aload 1
invokestatic org.apache.cassandra.utils.UUIDGen.getTimeUUID:()Ljava/util/UUID;
invokespecial org.apache.cassandra.db.lifecycle.LogFile.<init>:(Lorg/apache/cassandra/db/compaction/OperationType;Ljava/util/UUID;)V
putfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
3: aload 0
new org.apache.cassandra.utils.concurrent.Ref
dup
aload 0
new org.apache.cassandra.db.lifecycle.LogTransaction$TransactionTidier
dup
aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
invokespecial org.apache.cassandra.db.lifecycle.LogTransaction$TransactionTidier.<init>:(Lorg/apache/cassandra/db/lifecycle/LogFile;)V
invokespecial org.apache.cassandra.utils.concurrent.Ref.<init>:(Ljava/lang/Object;Lorg/apache/cassandra/utils/concurrent/RefCounted$Tidy;)V
putfield org.apache.cassandra.db.lifecycle.LogTransaction.selfRef:Lorg/apache/cassandra/utils/concurrent/Ref;
4: getstatic org.apache.cassandra.db.lifecycle.LogTransaction.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
ifeq 6
5: getstatic org.apache.cassandra.db.lifecycle.LogTransaction.logger:Lorg/slf4j/Logger;
ldc "Created transaction logs with id {}"
aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
invokevirtual org.apache.cassandra.db.lifecycle.LogFile.id:()Ljava/util/UUID;
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
6: StackMap locals: org.apache.cassandra.db.lifecycle.LogTransaction org.apache.cassandra.db.compaction.OperationType org.apache.cassandra.db.lifecycle.Tracker
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
0 7 1 opType Lorg/apache/cassandra/db/compaction/OperationType;
0 7 2 tracker Lorg/apache/cassandra/db/lifecycle/Tracker;
MethodParameters:
Name Flags
opType
tracker
void trackNew(org.apache.cassandra.io.sstable.SSTable);
descriptor: (Lorg/apache/cassandra/io/sstable/SSTable;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
getstatic org.apache.cassandra.db.lifecycle.LogRecord$Type.ADD:Lorg/apache/cassandra/db/lifecycle/LogRecord$Type;
aload 1
invokevirtual org.apache.cassandra.db.lifecycle.LogFile.add:(Lorg/apache/cassandra/db/lifecycle/LogRecord$Type;Lorg/apache/cassandra/io/sstable/SSTable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
0 2 1 table Lorg/apache/cassandra/io/sstable/SSTable;
MethodParameters:
Name Flags
table
void untrackNew(org.apache.cassandra.io.sstable.SSTable);
descriptor: (Lorg/apache/cassandra/io/sstable/SSTable;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
getstatic org.apache.cassandra.db.lifecycle.LogRecord$Type.ADD:Lorg/apache/cassandra/db/lifecycle/LogRecord$Type;
aload 1
invokevirtual org.apache.cassandra.db.lifecycle.LogFile.remove:(Lorg/apache/cassandra/db/lifecycle/LogRecord$Type;Lorg/apache/cassandra/io/sstable/SSTable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
0 2 1 table Lorg/apache/cassandra/io/sstable/SSTable;
MethodParameters:
Name Flags
table
org.apache.cassandra.db.lifecycle.LogTransaction$SSTableTidier obsoleted(org.apache.cassandra.io.sstable.format.SSTableReader);
descriptor: (Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Lorg/apache/cassandra/db/lifecycle/LogTransaction$SSTableTidier;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic org.apache.cassandra.db.lifecycle.LogRecord$Type.REMOVE:Lorg/apache/cassandra/db/lifecycle/LogRecord$Type;
aload 1
invokestatic org.apache.cassandra.db.lifecycle.LogRecord.make:(Lorg/apache/cassandra/db/lifecycle/LogRecord$Type;Lorg/apache/cassandra/io/sstable/SSTable;)Lorg/apache/cassandra/db/lifecycle/LogRecord;
invokevirtual org.apache.cassandra.db.lifecycle.LogTransaction.obsoleted:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/db/lifecycle/LogRecord;)Lorg/apache/cassandra/db/lifecycle/LogTransaction$SSTableTidier;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
0 1 1 sstable Lorg/apache/cassandra/io/sstable/format/SSTableReader;
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
MethodParameters:
Name Flags
sstable
org.apache.cassandra.db.lifecycle.LogTransaction$SSTableTidier obsoleted(org.apache.cassandra.io.sstable.format.SSTableReader, org.apache.cassandra.db.lifecycle.LogRecord);
descriptor: (Lorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/db/lifecycle/LogRecord;)Lorg/apache/cassandra/db/lifecycle/LogTransaction$SSTableTidier;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
getstatic org.apache.cassandra.db.lifecycle.LogRecord$Type.ADD:Lorg/apache/cassandra/db/lifecycle/LogRecord$Type;
aload 1
aload 2
invokevirtual org.apache.cassandra.db.lifecycle.LogFile.contains:(Lorg/apache/cassandra/db/lifecycle/LogRecord$Type;Lorg/apache/cassandra/io/sstable/SSTable;Lorg/apache/cassandra/db/lifecycle/LogRecord;)Z
ifeq 4
1: aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
getstatic org.apache.cassandra.db.lifecycle.LogRecord$Type.REMOVE:Lorg/apache/cassandra/db/lifecycle/LogRecord$Type;
aload 1
aload 2
invokevirtual org.apache.cassandra.db.lifecycle.LogFile.contains:(Lorg/apache/cassandra/db/lifecycle/LogRecord$Type;Lorg/apache/cassandra/io/sstable/SSTable;Lorg/apache/cassandra/db/lifecycle/LogRecord;)Z
ifeq 3
2: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
new org.apache.cassandra.db.lifecycle.LogTransaction$SSTableTidier
dup
aload 1
iconst_1
aload 0
invokespecial org.apache.cassandra.db.lifecycle.LogTransaction$SSTableTidier.<init>:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;ZLorg/apache/cassandra/db/lifecycle/LogTransaction;)V
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
aload 2
invokevirtual org.apache.cassandra.db.lifecycle.LogFile.addRecord:(Lorg/apache/cassandra/db/lifecycle/LogRecord;)V
5: aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.tracker:Lorg/apache/cassandra/db/lifecycle/Tracker;
ifnull 7
6: aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.tracker:Lorg/apache/cassandra/db/lifecycle/Tracker;
aload 1
invokevirtual org.apache.cassandra.db.lifecycle.Tracker.notifyDeleting:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
7: StackMap locals:
StackMap stack:
new org.apache.cassandra.db.lifecycle.LogTransaction$SSTableTidier
dup
aload 1
iconst_0
aload 0
invokespecial org.apache.cassandra.db.lifecycle.LogTransaction$SSTableTidier.<init>:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;ZLorg/apache/cassandra/db/lifecycle/LogTransaction;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
0 8 1 reader Lorg/apache/cassandra/io/sstable/format/SSTableReader;
0 8 2 logRecord Lorg/apache/cassandra/db/lifecycle/LogRecord;
MethodParameters:
Name Flags
reader
logRecord
java.util.Map<org.apache.cassandra.io.sstable.SSTable, org.apache.cassandra.db.lifecycle.LogRecord> makeRemoveRecords(java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>);
descriptor: (Ljava/lang/Iterable;)Ljava/util/Map;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
getstatic org.apache.cassandra.db.lifecycle.LogRecord$Type.REMOVE:Lorg/apache/cassandra/db/lifecycle/LogRecord$Type;
aload 1
invokevirtual org.apache.cassandra.db.lifecycle.LogFile.makeRecords:(Lorg/apache/cassandra/db/lifecycle/LogRecord$Type;Ljava/lang/Iterable;)Ljava/util/Map;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
0 1 1 sstables Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)Ljava/util/Map<Lorg/apache/cassandra/io/sstable/SSTable;Lorg/apache/cassandra/db/lifecycle/LogRecord;>;
MethodParameters:
Name Flags
sstables
org.apache.cassandra.db.compaction.OperationType type();
descriptor: ()Lorg/apache/cassandra/db/compaction/OperationType;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
invokevirtual org.apache.cassandra.db.lifecycle.LogFile.type:()Lorg/apache/cassandra/db/compaction/OperationType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
java.util.UUID id();
descriptor: ()Ljava/util/UUID;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
invokevirtual org.apache.cassandra.db.lifecycle.LogFile.id:()Ljava/util/UUID;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
org.apache.cassandra.db.lifecycle.LogFile txnFile();
descriptor: ()Lorg/apache/cassandra/db/lifecycle/LogFile;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
java.util.List<java.io.File> logFiles();
descriptor: ()Ljava/util/List;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
invokevirtual org.apache.cassandra.db.lifecycle.LogFile.getFiles:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
Signature: ()Ljava/util/List<Ljava/io/File;>;
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
java.util.List<java.lang.String> logFilePaths();
descriptor: ()Ljava/util/List;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
invokevirtual org.apache.cassandra.db.lifecycle.LogFile.getFilePaths:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
Signature: ()Ljava/util/List<Ljava/lang/String;>;
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
static void delete(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: getstatic org.apache.cassandra.db.lifecycle.LogTransaction.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
ifeq 2
1: getstatic org.apache.cassandra.db.lifecycle.LogTransaction.logger:Lorg/slf4j/Logger;
ldc "Deleting {}"
aload 0
invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
3: goto 22
4: StackMap locals:
StackMap stack: java.nio.file.NoSuchFileException
astore 1
start local 1 5: getstatic org.apache.cassandra.db.lifecycle.LogTransaction.logger:Lorg/slf4j/Logger;
ldc "Unable to delete {} as it does not exist, see debug log file for stack trace"
aload 0
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;)V
6: getstatic org.apache.cassandra.db.lifecycle.LogTransaction.logger:Lorg/slf4j/Logger;
invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
ifeq 22
7: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 2
start local 2 8: aconst_null
astore 3
aconst_null
astore 4
9: new java.io.PrintStream
dup
aload 2
invokespecial java.io.PrintStream.<init>:(Ljava/io/OutputStream;)V
astore 5
start local 5 10: aload 1
aload 5
invokevirtual java.nio.file.NoSuchFileException.printStackTrace:(Ljava/io/PrintStream;)V
11: aload 5
ifnull 17
aload 5
invokevirtual java.io.PrintStream.close:()V
goto 17
StackMap locals: java.io.File java.nio.file.NoSuchFileException java.io.ByteArrayOutputStream java.lang.Throwable java.lang.Throwable java.io.PrintStream
StackMap stack: java.lang.Throwable
12: astore 3
aload 5
ifnull 13
aload 5
invokevirtual java.io.PrintStream.close:()V
end local 5 StackMap locals:
StackMap stack:
13: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 4
aload 3
ifnonnull 15
aload 4
astore 3
goto 16
StackMap locals:
StackMap stack:
15: aload 3
aload 4
if_acmpeq 16
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
16: aload 3
athrow
17: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.db.lifecycle.LogTransaction.logger:Lorg/slf4j/Logger;
ldc "Unable to delete {} as it does not exist, stack trace:\n {}"
aload 0
aload 2
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 2 end local 1 18: goto 22
19: StackMap locals: java.io.File
StackMap stack: java.io.IOException
astore 1
start local 1 20: getstatic org.apache.cassandra.db.lifecycle.LogTransaction.logger:Lorg/slf4j/Logger;
ldc "Unable to delete {}"
aload 0
aload 1
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
21: new org.apache.cassandra.io.FSWriteError
dup
aload 1
aload 0
invokespecial org.apache.cassandra.io.FSWriteError.<init>:(Ljava/lang/Throwable;Ljava/io/File;)V
invokestatic org.apache.cassandra.io.util.FileUtils.handleFSErrorAndPropagate:(Lorg/apache/cassandra/io/FSError;)V
end local 1 22: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 file Ljava/io/File;
5 18 1 e Ljava/nio/file/NoSuchFileException;
8 18 2 baos Ljava/io/ByteArrayOutputStream;
10 13 5 ps Ljava/io/PrintStream;
20 22 1 e Ljava/io/IOException;
Exception table:
from to target type
0 3 4 Class java.nio.file.NoSuchFileException
10 11 12 any
9 14 14 any
0 3 19 Class java.io.IOException
MethodParameters:
Name Flags
file
static void rescheduleFailedDeletions();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: goto 2
start local 0 1: StackMap locals: java.lang.Runnable
StackMap stack:
getstatic org.apache.cassandra.concurrent.ScheduledExecutors.nonPeriodicTasks:Lorg/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor;
aload 0
invokevirtual org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
pop
end local 0 2: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.db.lifecycle.LogTransaction.failedDeletions:Ljava/util/Queue;
invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
checkcast java.lang.Runnable
dup
astore 0
start local 0 3: ifnonnull 1
4: invokestatic org.apache.cassandra.io.sstable.SnapshotDeletingTask.rescheduleFailedTasks:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 2 0 task Ljava/lang/Runnable;
3 6 0 task Ljava/lang/Runnable;
static void waitForDeletions();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: getstatic org.apache.cassandra.concurrent.ScheduledExecutors.nonPeriodicTasks:Lorg/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor;
invokestatic com.google.common.util.concurrent.Runnables.doNothing:()Ljava/lang/Runnable;
lconst_0
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFuture:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
pop
1: return
LocalVariableTable:
Start End Slot Name Signature
java.lang.Throwable complete(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.selfRef:Lorg/apache/cassandra/utils/concurrent/Ref;
aload 1
invokevirtual org.apache.cassandra.utils.concurrent.Ref.ensureReleased:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 1
1: aload 1
2: areturn
3: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
start local 2 4: getstatic org.apache.cassandra.db.lifecycle.LogTransaction.logger:Lorg/slf4j/Logger;
ldc "Failed to complete file transaction id {}"
aload 0
invokevirtual org.apache.cassandra.db.lifecycle.LogTransaction.id:()Ljava/util/UUID;
aload 2
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
5: aload 1
aload 2
invokestatic org.apache.cassandra.utils.Throwables.merge:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Ljava/lang/Throwable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
0 6 1 accumulate Ljava/lang/Throwable;
4 6 2 t Ljava/lang/Throwable;
Exception table:
from to target type
0 2 3 Class java.lang.Throwable
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
MethodParameters:
Name Flags
accumulate
protected java.lang.Throwable doCommit(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
anewarray org.apache.cassandra.utils.Throwables$DiscreteAction
dup
iconst_0
aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic perform(Lorg/apache/cassandra/db/lifecycle/LogFile;)Lorg/apache/cassandra/utils/Throwables$DiscreteAction;
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:
()V
org/apache/cassandra/db/lifecycle/LogFile.commit()V (5)
()V
aastore
invokestatic org.apache.cassandra.utils.Throwables.perform:(Ljava/lang/Throwable;[Lorg/apache/cassandra/utils/Throwables$DiscreteAction;)Ljava/lang/Throwable;
invokevirtual org.apache.cassandra.db.lifecycle.LogTransaction.complete:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
0 1 1 accumulate Ljava/lang/Throwable;
MethodParameters:
Name Flags
accumulate
protected java.lang.Throwable doAbort(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Ljava/lang/Throwable;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
anewarray org.apache.cassandra.utils.Throwables$DiscreteAction
dup
iconst_0
aload 0
getfield org.apache.cassandra.db.lifecycle.LogTransaction.txnFile:Lorg/apache/cassandra/db/lifecycle/LogFile;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic perform(Lorg/apache/cassandra/db/lifecycle/LogFile;)Lorg/apache/cassandra/utils/Throwables$DiscreteAction;
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:
()V
org/apache/cassandra/db/lifecycle/LogFile.abort()V (5)
()V
aastore
invokestatic org.apache.cassandra.utils.Throwables.perform:(Ljava/lang/Throwable;[Lorg/apache/cassandra/utils/Throwables$DiscreteAction;)Ljava/lang/Throwable;
invokevirtual org.apache.cassandra.db.lifecycle.LogTransaction.complete:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
0 1 1 accumulate Ljava/lang/Throwable;
MethodParameters:
Name Flags
accumulate
protected void doPrepare();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/lifecycle/LogTransaction;
static boolean removeUnfinishedLeftovers(org.apache.cassandra.config.CFMetaData);
descriptor: (Lorg/apache/cassandra/config/CFMetaData;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new org.apache.cassandra.db.Directories
dup
aload 0
invokestatic org.apache.cassandra.db.ColumnFamilyStore.getInitialDirectories:()[Lorg/apache/cassandra/db/Directories$DataDirectory;
invokespecial org.apache.cassandra.db.Directories.<init>:(Lorg/apache/cassandra/config/CFMetaData;[Lorg/apache/cassandra/db/Directories$DataDirectory;)V
invokevirtual org.apache.cassandra.db.Directories.getCFDirectories:()Ljava/util/List;
invokestatic org.apache.cassandra.db.lifecycle.LogTransaction.removeUnfinishedLeftovers:(Ljava/util/List;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 metadata Lorg/apache/cassandra/config/CFMetaData;
MethodParameters:
Name Flags
metadata
static boolean removeUnfinishedLeftovers(java.util.List<java.io.File>);
descriptor: (Ljava/util/List;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new org.apache.cassandra.db.lifecycle.LogTransaction$LogFilesByName
dup
invokespecial org.apache.cassandra.db.lifecycle.LogTransaction$LogFilesByName.<init>:()V
astore 1
start local 1 1: aload 0
aload 1
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic accept(Lorg/apache/cassandra/db/lifecycle/LogTransaction$LogFilesByName;)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/lifecycle/LogTransaction$LogFilesByName.list(Ljava/io/File;)V (5)
(Ljava/io/File;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
2: aload 1
invokevirtual org.apache.cassandra.db.lifecycle.LogTransaction$LogFilesByName.removeUnfinishedLeftovers:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 directories Ljava/util/List<Ljava/io/File;>;
1 3 1 logFiles Lorg/apache/cassandra/db/lifecycle/LogTransaction$LogFilesByName;
Signature: (Ljava/util/List<Ljava/io/File;>;)Z
RuntimeInvisibleAnnotations:
com.google.common.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.google.common.annotations.VisibleForTesting()
MethodParameters:
Name Flags
directories
}
SourceFile: "LogTransaction.java"
NestMembers:
org.apache.cassandra.db.lifecycle.LogTransaction$CorruptTransactionLogException org.apache.cassandra.db.lifecycle.LogTransaction$LogFilesByName org.apache.cassandra.db.lifecycle.LogTransaction$Obsoletion org.apache.cassandra.db.lifecycle.LogTransaction$SSTableTidier org.apache.cassandra.db.lifecycle.LogTransaction$TransactionTidier
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 final Type = org.apache.cassandra.db.lifecycle.LogRecord$Type of org.apache.cassandra.db.lifecycle.LogRecord
public final CorruptTransactionLogException = org.apache.cassandra.db.lifecycle.LogTransaction$CorruptTransactionLogException of org.apache.cassandra.db.lifecycle.LogTransaction
private final LogFilesByName = org.apache.cassandra.db.lifecycle.LogTransaction$LogFilesByName of org.apache.cassandra.db.lifecycle.LogTransaction
Obsoletion = org.apache.cassandra.db.lifecycle.LogTransaction$Obsoletion of org.apache.cassandra.db.lifecycle.LogTransaction
public SSTableTidier = org.apache.cassandra.db.lifecycle.LogTransaction$SSTableTidier of org.apache.cassandra.db.lifecycle.LogTransaction
private TransactionTidier = org.apache.cassandra.db.lifecycle.LogTransaction$TransactionTidier of org.apache.cassandra.db.lifecycle.LogTransaction
public abstract DiscreteAction = org.apache.cassandra.utils.Throwables$DiscreteAction of org.apache.cassandra.utils.Throwables
public abstract Tidy = org.apache.cassandra.utils.concurrent.RefCounted$Tidy of org.apache.cassandra.utils.concurrent.RefCounted
public abstract AbstractTransactional = org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional of org.apache.cassandra.utils.concurrent.Transactional