public abstract class org.apache.cassandra.db.commitlog.CommitLogSegment
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.cassandra.db.commitlog.CommitLogSegment
super_class: java.lang.Object
{
private static final long idBase;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private org.apache.cassandra.db.commitlog.CommitLogSegment$CDCState cdcState;
descriptor: Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;
flags: (0x0002) ACC_PRIVATE
java.lang.Object cdcStateLock;
descriptor: Ljava/lang/Object;
flags: (0x0000)
private static final java.util.concurrent.atomic.AtomicInteger nextId;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static long replayLimitId;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public static final int ENTRY_OVERHEAD_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 12
static final int SYNC_MARKER_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8
private final org.apache.cassandra.utils.concurrent.OpOrder appendOrder;
descriptor: Lorg/apache/cassandra/utils/concurrent/OpOrder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicInteger allocatePosition;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile int lastSyncedOffset;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private volatile int lastMarkerOffset;
descriptor: I
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private int endOfBuffer;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final org.apache.cassandra.utils.concurrent.WaitQueue syncComplete;
descriptor: Lorg/apache/cassandra/utils/concurrent/WaitQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.cliffc.high_scale_lib.NonBlockingHashMap<java.util.UUID, org.apache.cassandra.utils.IntegerInterval> cfDirty;
descriptor: Lorg/cliffc/high_scale_lib/NonBlockingHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Lorg/cliffc/high_scale_lib/NonBlockingHashMap<Ljava/util/UUID;Lorg/apache/cassandra/utils/IntegerInterval;>;
private final java.util.concurrent.ConcurrentHashMap<java.util.UUID, org.apache.cassandra.utils.IntegerInterval$Set> cfClean;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/util/UUID;Lorg/apache/cassandra/utils/IntegerInterval$Set;>;
public final long id;
descriptor: J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
final java.io.File logFile;
descriptor: Ljava/io/File;
flags: (0x0010) ACC_FINAL
final java.nio.channels.FileChannel channel;
descriptor: Ljava/nio/channels/FileChannel;
flags: (0x0010) ACC_FINAL
final int fd;
descriptor: I
flags: (0x0010) ACC_FINAL
protected final org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager manager;
descriptor: Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
java.nio.ByteBuffer buffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0000)
private volatile boolean headerWritten;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
public final org.apache.cassandra.db.commitlog.CommitLogDescriptor descriptor;
descriptor: Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
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=6, locals=6, args_size=0
0: ldc Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
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.commitlog.CommitLogSegment.$assertionsDisabled:Z
3: new java.util.concurrent.atomic.AtomicInteger
dup
iconst_1
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putstatic org.apache.cassandra.db.commitlog.CommitLogSegment.nextId:Ljava/util/concurrent/atomic/AtomicInteger;
4: ldc -9223372036854775808
lstore 0
start local 0 5: new java.io.File
dup
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getCommitLogLocation:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
invokevirtual java.io.File.listFiles:()[Ljava/io/File;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 10
StackMap locals: long top int int java.io.File[]
StackMap stack:
6: aload 5
iload 3
aaload
astore 2
start local 2 7: aload 2
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokestatic org.apache.cassandra.db.commitlog.CommitLogDescriptor.isValid:(Ljava/lang/String;)Z
ifeq 9
8: aload 2
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokestatic org.apache.cassandra.db.commitlog.CommitLogDescriptor.fromFileName:(Ljava/lang/String;)Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;
getfield org.apache.cassandra.db.commitlog.CommitLogDescriptor.id:J
lload 0
invokestatic java.lang.Math.max:(JJ)J
lstore 0
end local 2 9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
iload 4
if_icmplt 6
11: invokestatic java.lang.System.currentTimeMillis:()J
lload 0
lconst_1
ladd
invokestatic java.lang.Math.max:(JJ)J
dup2
putstatic org.apache.cassandra.db.commitlog.CommitLogSegment.idBase:J
putstatic org.apache.cassandra.db.commitlog.CommitLogSegment.replayLimitId:J
end local 0 12: return
LocalVariableTable:
Start End Slot Name Signature
5 12 0 maxId J
7 9 2 file Ljava/io/File;
static org.apache.cassandra.db.commitlog.CommitLogSegment createSegment(org.apache.cassandra.db.commitlog.CommitLog, org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager);
descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLog;Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;)Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLog.configuration:Lorg/apache/cassandra/db/commitlog/CommitLog$Configuration;
astore 2
start local 2 1: aload 2
invokevirtual org.apache.cassandra.db.commitlog.CommitLog$Configuration.useEncryption:()Z
ifeq 2
new org.apache.cassandra.db.commitlog.EncryptedSegment
dup
aload 0
aload 1
invokespecial org.apache.cassandra.db.commitlog.EncryptedSegment.<init>:(Lorg/apache/cassandra/db/commitlog/CommitLog;Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;)V
goto 4
2: StackMap locals: org.apache.cassandra.db.commitlog.CommitLog$Configuration
StackMap stack:
aload 2
invokevirtual org.apache.cassandra.db.commitlog.CommitLog$Configuration.useCompression:()Z
ifeq 3
new org.apache.cassandra.db.commitlog.CompressedSegment
dup
aload 0
aload 1
invokespecial org.apache.cassandra.db.commitlog.CompressedSegment.<init>:(Lorg/apache/cassandra/db/commitlog/CommitLog;Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;)V
goto 4
3: StackMap locals:
StackMap stack:
new org.apache.cassandra.db.commitlog.MemoryMappedSegment
dup
aload 0
aload 1
invokespecial org.apache.cassandra.db.commitlog.MemoryMappedSegment.<init>:(Lorg/apache/cassandra/db/commitlog/CommitLog;Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;)V
4: StackMap locals:
StackMap stack: org.apache.cassandra.db.commitlog.CommitLogSegment
astore 3
start local 3 5: aload 3
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.writeLogHeader:()V
6: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 commitLog Lorg/apache/cassandra/db/commitlog/CommitLog;
0 7 1 manager Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
1 7 2 config Lorg/apache/cassandra/db/commitlog/CommitLog$Configuration;
5 7 3 segment Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
MethodParameters:
Name Flags
commitLog
manager
static boolean usesBufferPool(org.apache.cassandra.db.commitlog.CommitLog);
descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLog;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLog.configuration:Lorg/apache/cassandra/db/commitlog/CommitLog$Configuration;
astore 1
start local 1 1: aload 1
invokevirtual org.apache.cassandra.db.commitlog.CommitLog$Configuration.useEncryption:()Z
ifne 2
aload 1
invokevirtual org.apache.cassandra.db.commitlog.CommitLog$Configuration.useCompression:()Z
ifne 2
iconst_0
ireturn
StackMap locals: org.apache.cassandra.db.commitlog.CommitLog$Configuration
StackMap stack:
2: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 commitLog Lorg/apache/cassandra/db/commitlog/CommitLog;
1 3 1 config Lorg/apache/cassandra/db/commitlog/CommitLog$Configuration;
MethodParameters:
Name Flags
commitLog
static long getNextId();
descriptor: ()J
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: getstatic org.apache.cassandra.db.commitlog.CommitLogSegment.idBase:J
getstatic org.apache.cassandra.db.commitlog.CommitLogSegment.nextId:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
i2l
ladd
lreturn
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.apache.cassandra.db.commitlog.CommitLog, org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager);
descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLog;Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;)V
flags: (0x0000)
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic org.apache.cassandra.db.commitlog.CommitLogSegment$CDCState.PERMITTED:Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.cdcState:Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;
2: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.cdcStateLock:Ljava/lang/Object;
3: aload 0
new org.apache.cassandra.utils.concurrent.OpOrder
dup
invokespecial org.apache.cassandra.utils.concurrent.OpOrder.<init>:()V
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.appendOrder:Lorg/apache/cassandra/utils/concurrent/OpOrder;
4: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.allocatePosition:Ljava/util/concurrent/atomic/AtomicInteger;
5: aload 0
new org.apache.cassandra.utils.concurrent.WaitQueue
dup
invokespecial org.apache.cassandra.utils.concurrent.WaitQueue.<init>:()V
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.syncComplete:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
6: aload 0
new org.cliffc.high_scale_lib.NonBlockingHashMap
dup
sipush 1024
invokespecial org.cliffc.high_scale_lib.NonBlockingHashMap.<init>:(I)V
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfDirty:Lorg/cliffc/high_scale_lib/NonBlockingHashMap;
7: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfClean:Ljava/util/concurrent/ConcurrentHashMap;
8: aload 0
aload 2
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.manager:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
9: aload 0
invokestatic org.apache.cassandra.db.commitlog.CommitLogSegment.getNextId:()J
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.id:J
10: aload 0
new org.apache.cassandra.db.commitlog.CommitLogDescriptor
dup
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.id:J
11: aload 1
getfield org.apache.cassandra.db.commitlog.CommitLog.configuration:Lorg/apache/cassandra/db/commitlog/CommitLog$Configuration;
invokevirtual org.apache.cassandra.db.commitlog.CommitLog$Configuration.getCompressorClass:()Lorg/apache/cassandra/config/ParameterizedClass;
12: aload 1
getfield org.apache.cassandra.db.commitlog.CommitLog.configuration:Lorg/apache/cassandra/db/commitlog/CommitLog$Configuration;
invokevirtual org.apache.cassandra.db.commitlog.CommitLog$Configuration.getEncryptionContext:()Lorg/apache/cassandra/security/EncryptionContext;
invokespecial org.apache.cassandra.db.commitlog.CommitLogDescriptor.<init>:(JLorg/apache/cassandra/config/ParameterizedClass;Lorg/apache/cassandra/security/EncryptionContext;)V
13: putfield org.apache.cassandra.db.commitlog.CommitLogSegment.descriptor:Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;
14: aload 0
new java.io.File
dup
aload 2
getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.storageDirectory:Ljava/lang/String;
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.descriptor:Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;
invokevirtual org.apache.cassandra.db.commitlog.CommitLogDescriptor.fileName:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.logFile:Ljava/io/File;
15: aload 0
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.logFile:Ljava/io/File;
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
iconst_3
anewarray java.nio.file.OpenOption
dup
iconst_0
getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_1
getstatic java.nio.file.StandardOpenOption.READ:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_2
getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
aastore
invokestatic java.nio.channels.FileChannel.open:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.channel:Ljava/nio/channels/FileChannel;
16: aload 0
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.channel:Ljava/nio/channels/FileChannel;
invokestatic org.apache.cassandra.utils.NativeLibrary.getfd:(Ljava/nio/channels/FileChannel;)I
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.fd:I
17: goto 20
18: StackMap locals: org.apache.cassandra.db.commitlog.CommitLogSegment org.apache.cassandra.db.commitlog.CommitLog org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager
StackMap stack: java.io.IOException
astore 3
start local 3 19: new org.apache.cassandra.io.FSWriteError
dup
aload 3
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.logFile:Ljava/io/File;
invokespecial org.apache.cassandra.io.FSWriteError.<init>:(Ljava/lang/Throwable;Ljava/io/File;)V
athrow
end local 3 20: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.createBuffer:(Lorg/apache/cassandra/db/commitlog/CommitLog;)Ljava/nio/ByteBuffer;
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.buffer:Ljava/nio/ByteBuffer;
21: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
0 22 1 commitLog Lorg/apache/cassandra/db/commitlog/CommitLog;
0 22 2 manager Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
19 20 3 e Ljava/io/IOException;
Exception table:
from to target type
15 17 18 Class java.io.IOException
MethodParameters:
Name Flags
commitLog
manager
void writeLogHeader();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.buffer:Ljava/nio/ByteBuffer;
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.descriptor:Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;
aload 0
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.additionalHeaderParameters:()Ljava/util/Map;
invokestatic org.apache.cassandra.db.commitlog.CommitLogDescriptor.writeHeader:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;Ljava/util/Map;)V
1: aload 0
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.endOfBuffer:I
2: aload 0
aload 0
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
dup_x1
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastMarkerOffset:I
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastSyncedOffset:I
3: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.allocatePosition:Ljava/util/concurrent/atomic/AtomicInteger;
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastSyncedOffset:I
bipush 8
iadd
invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
4: aload 0
iconst_1
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.headerWritten:Z
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
protected java.util.Map<java.lang.String, java.lang.String> additionalHeaderParameters();
descriptor: ()Ljava/util/Map;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
abstract java.nio.ByteBuffer createBuffer(org.apache.cassandra.db.commitlog.CommitLog);
descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLog;)Ljava/nio/ByteBuffer;
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
commitLog
org.apache.cassandra.db.commitlog.CommitLogSegment$Allocation allocate(org.apache.cassandra.db.Mutation, int);
descriptor: (Lorg/apache/cassandra/db/Mutation;I)Lorg/apache/cassandra/db/commitlog/CommitLogSegment$Allocation;
flags: (0x0000)
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.appendOrder:Lorg/apache/cassandra/utils/concurrent/OpOrder;
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder.start:()Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
astore 3
start local 3 1: aload 0
iload 2
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.allocate:(I)I
istore 4
start local 4 2: iload 4
ifge 5
3: aload 3
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder$Group.close:()V
4: aconst_null
areturn
5: StackMap locals: org.apache.cassandra.utils.concurrent.OpOrder$Group int
StackMap stack:
aload 0
aload 1
iload 4
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.markDirty:(Lorg/apache/cassandra/db/Mutation;I)V
6: new org.apache.cassandra.db.commitlog.CommitLogSegment$Allocation
dup
aload 0
aload 3
iload 4
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
iload 4
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
iload 4
iload 2
iadd
invokevirtual java.nio.Buffer.limit:(I)Ljava/nio/Buffer;
checkcast java.nio.ByteBuffer
invokespecial org.apache.cassandra.db.commitlog.CommitLogSegment$Allocation.<init>:(Lorg/apache/cassandra/db/commitlog/CommitLogSegment;Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;ILjava/nio/ByteBuffer;)V
7: areturn
end local 4 8: StackMap locals: org.apache.cassandra.db.commitlog.CommitLogSegment org.apache.cassandra.db.Mutation int org.apache.cassandra.utils.concurrent.OpOrder$Group
StackMap stack: java.lang.Throwable
astore 4
start local 4 9: aload 3
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder$Group.close:()V
10: aload 4
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
0 11 1 mutation Lorg/apache/cassandra/db/Mutation;
0 11 2 size I
1 11 3 opGroup Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
2 8 4 position I
9 11 4 t Ljava/lang/Throwable;
Exception table:
from to target type
1 4 8 Class java.lang.Throwable
5 7 8 Class java.lang.Throwable
MethodParameters:
Name Flags
mutation
size
static boolean shouldReplay(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.apache.cassandra.db.commitlog.CommitLogDescriptor.fromFileName:(Ljava/lang/String;)Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;
getfield org.apache.cassandra.db.commitlog.CommitLogDescriptor.id:J
getstatic org.apache.cassandra.db.commitlog.CommitLogSegment.replayLimitId:J
lcmp
ifge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
MethodParameters:
Name Flags
name
static void resetReplayLimit();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic org.apache.cassandra.db.commitlog.CommitLogSegment.getNextId:()J
putstatic org.apache.cassandra.db.commitlog.CommitLogSegment.replayLimitId:J
1: return
LocalVariableTable:
Start End Slot Name Signature
private int allocate(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.allocatePosition:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
istore 2
start local 2 1: iload 2
iload 1
iadd
istore 3
start local 3 2: iload 3
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.endOfBuffer:I
if_icmplt 4
3: iconst_m1
ireturn
4: StackMap locals: int int
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.allocatePosition:Ljava/util/concurrent/atomic/AtomicInteger;
iload 2
iload 3
invokevirtual java.util.concurrent.atomic.AtomicInteger.compareAndSet:(II)Z
ifeq 0
5: getstatic org.apache.cassandra.db.commitlog.CommitLogSegment.$assertionsDisabled:Z
ifne 6
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.buffer:Ljava/nio/ByteBuffer;
ifnonnull 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
0 7 1 size I
1 7 2 prev I
2 7 3 next I
MethodParameters:
Name Flags
size
void discardUnusedTail();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=1
start local 0 0: aconst_null
astore 1
aconst_null
astore 2
1: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.appendOrder:Lorg/apache/cassandra/utils/concurrent/OpOrder;
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder.start:()Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
astore 3
start local 3 2: StackMap locals: java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.OpOrder$Group
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.allocatePosition:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
istore 4
start local 4 3: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.endOfBuffer:I
iconst_1
iadd
istore 5
start local 5 4: iload 4
iload 5
if_icmplt 8
5: getstatic org.apache.cassandra.db.commitlog.CommitLogSegment.$assertionsDisabled:Z
ifne 6
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.buffer:Ljava/nio/ByteBuffer;
ifnull 6
iload 4
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
iconst_1
iadd
if_icmpeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: int int
StackMap stack:
aload 3
ifnull 7
aload 3
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder$Group.close:()V
7: StackMap locals:
StackMap stack:
return
8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.allocatePosition:Ljava/util/concurrent/atomic/AtomicInteger;
iload 4
iload 5
invokevirtual java.util.concurrent.atomic.AtomicInteger.compareAndSet:(II)Z
ifeq 2
9: aload 0
iload 4
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.endOfBuffer:I
10: getstatic org.apache.cassandra.db.commitlog.CommitLogSegment.$assertionsDisabled:Z
ifne 12
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.buffer:Ljava/nio/ByteBuffer;
ifnull 11
iload 5
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
iconst_1
iadd
if_icmpeq 12
StackMap locals:
StackMap stack:
11: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
aload 3
ifnull 13
aload 3
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder$Group.close:()V
13: StackMap locals:
StackMap stack:
return
end local 5 end local 4 StackMap locals: org.apache.cassandra.db.commitlog.CommitLogSegment java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.OpOrder$Group
StackMap stack: java.lang.Throwable
14: astore 1
15: aload 3
ifnull 16
aload 3
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder$Group.close:()V
end local 3 StackMap locals:
StackMap stack:
16: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
17: astore 2
aload 1
ifnonnull 18
aload 2
astore 1
goto 19
StackMap locals:
StackMap stack:
18: aload 1
aload 2
if_acmpeq 19
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
19: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
2 16 3 group Lorg/apache/cassandra/utils/concurrent/OpOrder$Group;
3 14 4 prev I
4 14 5 next I
Exception table:
from to target type
2 6 14 any
8 12 14 any
1 7 17 any
8 13 17 any
14 17 17 any
void waitForModifications();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.appendOrder:Lorg/apache/cassandra/utils/concurrent/OpOrder;
invokevirtual org.apache.cassandra.utils.concurrent.OpOrder.awaitNewBarrier:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
synchronized void sync(boolean);
descriptor: (Z)V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.headerWritten:Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "commit log header has not been written"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.db.commitlog.CommitLogSegment.$assertionsDisabled:Z
ifne 5
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastMarkerOffset:I
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastSyncedOffset:I
if_icmpge 5
new java.lang.AssertionError
dup
ldc "commit log segment positions are incorrect: last marked = %d, last synced = %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
3: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastMarkerOffset:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastSyncedOffset:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
4: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.allocatePosition:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastMarkerOffset:I
bipush 8
iadd
if_icmple 6
iconst_1
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 2
start local 2 8: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastSyncedOffset:I
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastMarkerOffset:I
if_icmpeq 9
iconst_1
goto 10
StackMap locals: int
StackMap stack:
9: iconst_0
StackMap locals:
StackMap stack: int
10: istore 3
start local 3 11: iload 2
ifne 13
iload 3
ifne 13
12: return
13: StackMap locals: int
StackMap stack:
getstatic org.apache.cassandra.db.commitlog.CommitLogSegment.$assertionsDisabled:Z
ifne 14
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.buffer:Ljava/nio/ByteBuffer;
ifnonnull 14
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 15: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastMarkerOffset:I
istore 5
start local 5 16: iload 2
ifeq 29
17: aload 0
bipush 8
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.allocate:(I)I
istore 6
start local 6 18: iload 6
ifge 22
19: aload 0
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.discardUnusedTail:()V
20: iconst_1
istore 4
21: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.buffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.capacity:()I
istore 6
22: StackMap locals: int int int
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.waitForModifications:()V
23: iload 4
ifeq 24
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.endOfBuffer:I
goto 25
StackMap locals:
StackMap stack:
24: iload 6
StackMap locals:
StackMap stack: int
25: istore 7
start local 7 26: aload 0
iload 5
iload 7
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.write:(II)V
27: aload 0
iload 7
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastMarkerOffset:I
28: goto 31
end local 7 end local 6 29: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastMarkerOffset:I
istore 6
start local 6 30: iload 6
istore 7
start local 7 31: StackMap locals: int int
StackMap stack:
iload 1
ifne 32
iload 4
ifeq 37
32: StackMap locals:
StackMap stack:
aload 0
iload 5
iload 7
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.flush:(II)V
33: aload 0
aload 0
iload 6
dup_x1
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastMarkerOffset:I
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastSyncedOffset:I
34: iload 4
ifeq 36
35: aload 0
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.internalClose:()V
36: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.syncComplete:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue.signalAll:()V
37: StackMap locals:
StackMap stack:
return
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 38 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
0 38 1 flush Z
8 38 2 needToMarkData Z
11 38 3 hasDataToFlush Z
15 38 4 close Z
16 38 5 startMarker I
18 29 6 nextMarker I
30 38 6 nextMarker I
26 29 7 sectionEnd I
31 38 7 sectionEnd I
MethodParameters:
Name Flags
flush
protected static void writeSyncMarker(long, java.nio.ByteBuffer, int, int, int);
descriptor: (JLjava/nio/ByteBuffer;III)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=7, locals=7, args_size=5
start local 0 start local 2 start local 3 start local 4 start local 5 0: iload 4
iload 5
if_icmple 2
1: new java.lang.IllegalArgumentException
dup
ldc "commit log sync marker's current file position %d is greater than next file position %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
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
2: StackMap locals:
StackMap stack:
new java.util.zip.CRC32
dup
invokespecial java.util.zip.CRC32.<init>:()V
astore 6
start local 6 3: aload 6
lload 0
ldc 4294967295
land
l2i
invokestatic org.apache.cassandra.utils.FBUtilities.updateChecksumInt:(Ljava/util/zip/Checksum;I)V
4: aload 6
lload 0
bipush 32
lushr
l2i
invokestatic org.apache.cassandra.utils.FBUtilities.updateChecksumInt:(Ljava/util/zip/Checksum;I)V
5: aload 6
iload 4
invokestatic org.apache.cassandra.utils.FBUtilities.updateChecksumInt:(Ljava/util/zip/Checksum;I)V
6: aload 2
iload 3
iload 5
invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
pop
7: aload 2
iload 3
iconst_4
iadd
aload 6
invokevirtual java.util.zip.CRC32.getValue:()J
l2i
invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
pop
8: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 id J
0 9 2 buffer Ljava/nio/ByteBuffer;
0 9 3 offset I
0 9 4 filePos I
0 9 5 nextMarker I
3 9 6 crc Ljava/util/zip/CRC32;
MethodParameters:
Name Flags
id
buffer
offset
filePos
nextMarker
abstract void write(int, int);
descriptor: (II)V
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
lastSyncedOffset
nextMarker
abstract void flush(int, int);
descriptor: (II)V
flags: (0x0400) ACC_ABSTRACT
MethodParameters:
Name Flags
startMarker
nextMarker
public boolean isStillAllocating();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.allocatePosition:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.endOfBuffer:I
if_icmpge 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/commitlog/CommitLogSegment;
void discard(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.close:()V
1: iload 1
ifeq 3
2: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.logFile:Ljava/io/File;
invokestatic org.apache.cassandra.io.util.FileUtils.deleteWithConfirm:(Ljava/io/File;)V
3: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.manager:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
aload 0
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.onDiskSize:()J
lneg
invokevirtual org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.addSize:(J)V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
0 5 1 deleteFile Z
MethodParameters:
Name Flags
deleteFile
public org.apache.cassandra.db.commitlog.CommitLogPosition getCurrentCommitLogPosition();
descriptor: ()Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new org.apache.cassandra.db.commitlog.CommitLogPosition
dup
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.id:J
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.allocatePosition:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
invokespecial org.apache.cassandra.db.commitlog.CommitLogPosition.<init>:(JI)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
public java.lang.String getPath();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.logFile:Ljava/io/File;
invokevirtual java.io.File.getPath:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.logFile:Ljava/io/File;
invokevirtual java.io.File.getName:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
void waitForFinalSync();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.syncComplete:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue.register:()Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
astore 1
start local 1 1: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastSyncedOffset:I
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.endOfBuffer:I
if_icmpge 4
2: aload 1
invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.awaitUninterruptibly:()V
3: goto 0
4: StackMap locals: org.apache.cassandra.utils.concurrent.WaitQueue$Signal
StackMap stack:
aload 1
invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.cancel:()V
end local 1 5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
1 5 1 signal Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
void waitForSync(int, com.codahale.metrics.Timer);
descriptor: (ILcom/codahale/metrics/Timer;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: goto 8
1: StackMap locals:
StackMap stack:
aload 2
ifnull 3
2: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.syncComplete:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
aload 2
invokevirtual com.codahale.metrics.Timer.time:()Lcom/codahale/metrics/Timer$Context;
invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue.register:(Lcom/codahale/metrics/Timer$Context;)Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
goto 4
3: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.syncComplete:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue.register:()Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
4: StackMap locals:
StackMap stack: org.apache.cassandra.utils.concurrent.WaitQueue$Signal
astore 3
start local 3 5: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastSyncedOffset:I
iload 1
if_icmpge 7
6: aload 3
invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.awaitUninterruptibly:()V
goto 8
7: StackMap locals: org.apache.cassandra.utils.concurrent.WaitQueue$Signal
StackMap stack:
aload 3
invokeinterface org.apache.cassandra.utils.concurrent.WaitQueue$Signal.cancel:()V
end local 3 8: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastSyncedOffset:I
iload 1
if_icmplt 1
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
0 10 1 position I
0 10 2 waitingOnCommit Lcom/codahale/metrics/Timer;
5 8 3 signal Lorg/apache/cassandra/utils/concurrent/WaitQueue$Signal;
MethodParameters:
Name Flags
position
waitingOnCommit
synchronized void close();
descriptor: ()V
flags: (0x0020) ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.discardUnusedTail:()V
1: aload 0
iconst_1
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.sync:(Z)V
2: getstatic org.apache.cassandra.db.commitlog.CommitLogSegment.$assertionsDisabled:Z
ifne 3
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.buffer:Ljava/nio/ByteBuffer;
ifnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
protected void internalClose();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.channel:Ljava/nio/channels/FileChannel;
invokevirtual java.nio.channels.FileChannel.close:()V
1: aload 0
aconst_null
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.buffer:Ljava/nio/ByteBuffer;
2: goto 5
3: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 4: new org.apache.cassandra.io.FSWriteError
dup
aload 1
aload 0
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.getPath:()Ljava/lang/String;
invokespecial org.apache.cassandra.io.FSWriteError.<init>:(Ljava/lang/Throwable;Ljava/lang/String;)V
athrow
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
4 5 1 e Ljava/io/IOException;
Exception table:
from to target type
0 2 3 Class java.io.IOException
public static <K> void coverInMap(java.util.concurrent.ConcurrentMap<K, org.apache.cassandra.utils.IntegerInterval>, K, );
descriptor: (Ljava/util/concurrent/ConcurrentMap;Ljava/lang/Object;I)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.utils.IntegerInterval
astore 3
start local 3 1: aload 3
ifnonnull 5
2: aload 0
aload 1
new org.apache.cassandra.utils.IntegerInterval
dup
iload 2
iload 2
invokespecial org.apache.cassandra.utils.IntegerInterval.<init>:(II)V
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.utils.IntegerInterval
astore 3
3: aload 3
ifnonnull 5
4: return
5: StackMap locals: org.apache.cassandra.utils.IntegerInterval
StackMap stack:
aload 3
iload 2
invokevirtual org.apache.cassandra.utils.IntegerInterval.expandToCover:(I)V
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 map Ljava/util/concurrent/ConcurrentMap<TK;Lorg/apache/cassandra/utils/IntegerInterval;>;
0 7 1 key TK;
0 7 2 value I
1 7 3 i Lorg/apache/cassandra/utils/IntegerInterval;
Signature: <K:Ljava/lang/Object;>(Ljava/util/concurrent/ConcurrentMap<TK;Lorg/apache/cassandra/utils/IntegerInterval;>;TK;I)V
MethodParameters:
Name Flags
map
key
value
void markDirty(org.apache.cassandra.db.Mutation, int);
descriptor: (Lorg/apache/cassandra/db/Mutation;I)V
flags: (0x0000)
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.apache.cassandra.db.Mutation.getPartitionUpdates:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 3
StackMap locals: org.apache.cassandra.db.commitlog.CommitLogSegment org.apache.cassandra.db.Mutation int top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.cassandra.db.partitions.PartitionUpdate
astore 3
start local 3 2: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfDirty:Lorg/cliffc/high_scale_lib/NonBlockingHashMap;
aload 3
invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.metadata:()Lorg/apache/cassandra/config/CFMetaData;
getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
iload 2
invokestatic org.apache.cassandra.db.commitlog.CommitLogSegment.coverInMap:(Ljava/util/concurrent/ConcurrentMap;Ljava/lang/Object;I)V
end local 3 3: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
0 5 1 mutation Lorg/apache/cassandra/db/Mutation;
0 5 2 allocatedPosition I
2 3 3 update Lorg/apache/cassandra/db/partitions/PartitionUpdate;
MethodParameters:
Name Flags
mutation
allocatedPosition
public synchronized void markClean(java.util.UUID, org.apache.cassandra.db.commitlog.CommitLogPosition, org.apache.cassandra.db.commitlog.CommitLogPosition);
descriptor: (Ljava/util/UUID;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
getfield org.apache.cassandra.db.commitlog.CommitLogPosition.segmentId:J
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.id:J
lcmp
ifgt 1
aload 3
getfield org.apache.cassandra.db.commitlog.CommitLogPosition.segmentId:J
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.id:J
lcmp
ifge 2
1: StackMap locals:
StackMap stack:
return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfDirty:Lorg/cliffc/high_scale_lib/NonBlockingHashMap;
aload 1
invokevirtual org.cliffc.high_scale_lib.NonBlockingHashMap.containsKey:(Ljava/lang/Object;)Z
ifne 4
3: return
4: StackMap locals:
StackMap stack:
aload 2
getfield org.apache.cassandra.db.commitlog.CommitLogPosition.segmentId:J
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.id:J
lcmp
ifne 5
aload 2
getfield org.apache.cassandra.db.commitlog.CommitLogPosition.position:I
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 4
start local 4 7: aload 3
getfield org.apache.cassandra.db.commitlog.CommitLogPosition.segmentId:J
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.id:J
lcmp
ifne 8
aload 3
getfield org.apache.cassandra.db.commitlog.CommitLogPosition.position:I
goto 9
StackMap locals: int
StackMap stack:
8: ldc 2147483647
StackMap locals:
StackMap stack: int
9: istore 5
start local 5 10: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfClean:Ljava/util/concurrent/ConcurrentHashMap;
aload 1
invokedynamic apply()Ljava/util/function/Function;
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;)Ljava/lang/Object;
org/apache/cassandra/db/commitlog/CommitLogSegment.lambda$0(Ljava/util/UUID;)Lorg/apache/cassandra/utils/IntegerInterval$Set; (6)
(Ljava/util/UUID;)Lorg/apache/cassandra/utils/IntegerInterval$Set;
invokevirtual java.util.concurrent.ConcurrentHashMap.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
checkcast org.apache.cassandra.utils.IntegerInterval$Set
iload 4
iload 5
invokevirtual org.apache.cassandra.utils.IntegerInterval$Set.add:(II)V
11: aload 0
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.removeCleanFromDirty:()V
12: 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 13 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
0 13 1 cfId Ljava/util/UUID;
0 13 2 startPosition Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
0 13 3 endPosition Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
7 13 4 start I
10 13 5 end I
MethodParameters:
Name Flags
cfId
startPosition
endPosition
private void removeCleanFromDirty();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.isStillAllocating:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfClean:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 1
start local 1 3: goto 11
4: StackMap locals: java.util.Iterator
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 5: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.util.UUID
astore 3
start local 3 6: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.apache.cassandra.utils.IntegerInterval$Set
astore 4
start local 4 7: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfDirty:Lorg/cliffc/high_scale_lib/NonBlockingHashMap;
aload 3
invokevirtual org.cliffc.high_scale_lib.NonBlockingHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.utils.IntegerInterval
astore 5
start local 5 8: aload 5
ifnull 11
aload 4
aload 5
invokevirtual org.apache.cassandra.utils.IntegerInterval$Set.covers:(Lorg/apache/cassandra/utils/IntegerInterval;)Z
ifeq 11
9: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfDirty:Lorg/cliffc/high_scale_lib/NonBlockingHashMap;
aload 3
invokevirtual org.cliffc.high_scale_lib.NonBlockingHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
10: aload 1
invokeinterface java.util.Iterator.remove:()V
end local 5 end local 4 end local 3 end local 2 11: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
3 13 1 iter Ljava/util/Iterator<Ljava/util/Map$Entry<Ljava/util/UUID;Lorg/apache/cassandra/utils/IntegerInterval$Set;>;>;
5 11 2 clean Ljava/util/Map$Entry<Ljava/util/UUID;Lorg/apache/cassandra/utils/IntegerInterval$Set;>;
6 11 3 cfId Ljava/util/UUID;
7 11 4 cleanSet Lorg/apache/cassandra/utils/IntegerInterval$Set;
8 11 5 dirtyInterval Lorg/apache/cassandra/utils/IntegerInterval;
public synchronized java.util.Collection<java.util.UUID> getDirtyCFIDs();
descriptor: ()Ljava/util/Collection;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfClean:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.isEmpty:()Z
ifne 1
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfDirty:Lorg/cliffc/high_scale_lib/NonBlockingHashMap;
invokevirtual org.cliffc.high_scale_lib.NonBlockingHashMap.isEmpty:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfDirty:Lorg/cliffc/high_scale_lib/NonBlockingHashMap;
invokevirtual org.cliffc.high_scale_lib.NonBlockingHashMap.keySet:()Ljava/util/Set;
areturn
2: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfDirty:Lorg/cliffc/high_scale_lib/NonBlockingHashMap;
invokevirtual org.cliffc.high_scale_lib.NonBlockingHashMap.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 3: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfDirty:Lorg/cliffc/high_scale_lib/NonBlockingHashMap;
invokevirtual org.cliffc.high_scale_lib.NonBlockingHashMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: org.apache.cassandra.db.commitlog.CommitLogSegment java.util.List top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 2
start local 2 5: aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.util.UUID
astore 4
start local 4 6: aload 2
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.apache.cassandra.utils.IntegerInterval
astore 5
start local 5 7: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfClean:Ljava/util/concurrent/ConcurrentHashMap;
aload 4
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.utils.IntegerInterval$Set
astore 6
start local 6 8: aload 6
ifnull 9
aload 6
aload 5
invokevirtual org.apache.cassandra.utils.IntegerInterval$Set.covers:(Lorg/apache/cassandra/utils/IntegerInterval;)Z
ifne 10
9: StackMap locals: org.apache.cassandra.db.commitlog.CommitLogSegment java.util.List java.util.Map$Entry java.util.Iterator java.util.UUID org.apache.cassandra.utils.IntegerInterval org.apache.cassandra.utils.IntegerInterval$Set
StackMap stack:
aload 1
aload 2
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.util.UUID
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 end local 4 end local 2 10: StackMap locals: org.apache.cassandra.db.commitlog.CommitLogSegment java.util.List top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
11: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
3 12 1 r Ljava/util/List<Ljava/util/UUID;>;
5 10 2 dirty Ljava/util/Map$Entry<Ljava/util/UUID;Lorg/apache/cassandra/utils/IntegerInterval;>;
6 10 4 cfId Ljava/util/UUID;
7 10 5 dirtyInterval Lorg/apache/cassandra/utils/IntegerInterval;
8 10 6 cleanSet Lorg/apache/cassandra/utils/IntegerInterval$Set;
Signature: ()Ljava/util/Collection<Ljava/util/UUID;>;
public synchronized boolean isUnused();
descriptor: ()Z
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.isStillAllocating:()Z
ifeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.removeCleanFromDirty:()V
3: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfDirty:Lorg/cliffc/high_scale_lib/NonBlockingHashMap;
invokevirtual org.cliffc.high_scale_lib.NonBlockingHashMap.isEmpty:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
public boolean contains(org.apache.cassandra.db.commitlog.CommitLogPosition);
descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLogPosition;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.apache.cassandra.db.commitlog.CommitLogPosition.segmentId:J
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.id:J
lcmp
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
0 2 1 context Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
MethodParameters:
Name Flags
context
public java.lang.String dirtyString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.getDirtyCFIDs:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 10
StackMap locals: org.apache.cassandra.db.commitlog.CommitLogSegment java.lang.StringBuilder top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.UUID
astore 2
start local 2 3: getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
aload 2
invokevirtual org.apache.cassandra.config.Schema.getCFMetaData:(Ljava/util/UUID;)Lorg/apache/cassandra/config/CFMetaData;
astore 4
start local 4 4: aload 1
aload 4
ifnonnull 5
ldc "<deleted>"
goto 6
StackMap locals: org.apache.cassandra.db.commitlog.CommitLogSegment java.lang.StringBuilder java.util.UUID java.util.Iterator org.apache.cassandra.config.CFMetaData
StackMap stack: java.lang.StringBuilder
5: aload 4
getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
StackMap locals: org.apache.cassandra.db.commitlog.CommitLogSegment java.lang.StringBuilder java.util.UUID java.util.Iterator org.apache.cassandra.config.CFMetaData
StackMap stack: java.lang.StringBuilder java.lang.String
6: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
7: ldc ", dirty: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfDirty:Lorg/cliffc/high_scale_lib/NonBlockingHashMap;
aload 2
invokevirtual org.cliffc.high_scale_lib.NonBlockingHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
8: ldc ", clean: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cfClean:Ljava/util/concurrent/ConcurrentHashMap;
aload 2
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
9: ldc "), "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 4 end local 2 10: StackMap locals: org.apache.cassandra.db.commitlog.CommitLogSegment java.lang.StringBuilder top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
11: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
1 12 1 sb Ljava/lang/StringBuilder;
3 10 2 cfId Ljava/util/UUID;
4 10 4 m Lorg/apache/cassandra/config/CFMetaData;
public abstract long onDiskSize();
descriptor: ()J
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public long contentSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.lastSyncedOffset:I
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "CommitLogSegment("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.apache.cassandra.db.commitlog.CommitLogSegment.getPath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 41
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
public org.apache.cassandra.db.commitlog.CommitLogSegment$CDCState getCDCState();
descriptor: ()Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cdcState:Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
public void setCDCState(org.apache.cassandra.db.commitlog.CommitLogSegment$CDCState);
descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cdcState:Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;
if_acmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cdcStateLock:Ljava/lang/Object;
dup
astore 2
monitorenter
3: aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cdcState:Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;
getstatic org.apache.cassandra.db.commitlog.CommitLogSegment$CDCState.CONTAINS:Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;
if_acmpne 5
aload 1
getstatic org.apache.cassandra.db.commitlog.CommitLogSegment$CDCState.CONTAINS:Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;
if_acmpeq 5
4: new java.lang.IllegalArgumentException
dup
ldc "Cannot transition from CONTAINS to any other state."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield org.apache.cassandra.db.commitlog.CommitLogSegment.cdcState:Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;
getstatic org.apache.cassandra.db.commitlog.CommitLogSegment$CDCState.FORBIDDEN:Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;
if_acmpne 7
aload 1
getstatic org.apache.cassandra.db.commitlog.CommitLogSegment$CDCState.PERMITTED:Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;
if_acmpeq 7
6: new java.lang.IllegalArgumentException
dup
ldc "Only transition from FORBIDDEN to PERMITTED is allowed."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.apache.cassandra.db.commitlog.CommitLogSegment.cdcState:Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;
8: aload 2
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 2
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
0 13 1 newState Lorg/apache/cassandra/db/commitlog/CommitLogSegment$CDCState;
Exception table:
from to target type
3 9 10 any
10 11 10 any
MethodParameters:
Name Flags
newState
private static org.apache.cassandra.utils.IntegerInterval$Set lambda$0(java.util.UUID);
descriptor: (Ljava/util/UUID;)Lorg/apache/cassandra/utils/IntegerInterval$Set;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new org.apache.cassandra.utils.IntegerInterval$Set
dup
invokespecial org.apache.cassandra.utils.IntegerInterval$Set.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 k Ljava/util/UUID;
}
SourceFile: "CommitLogSegment.java"
NestMembers:
org.apache.cassandra.db.commitlog.CommitLogSegment$Allocation org.apache.cassandra.db.commitlog.CommitLogSegment$CDCState org.apache.cassandra.db.commitlog.CommitLogSegment$CommitLogSegmentFileComparator
InnerClasses:
public Context = com.codahale.metrics.Timer$Context of com.codahale.metrics.Timer
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public final Configuration = org.apache.cassandra.db.commitlog.CommitLog$Configuration of org.apache.cassandra.db.commitlog.CommitLog
protected Allocation = org.apache.cassandra.db.commitlog.CommitLogSegment$Allocation of org.apache.cassandra.db.commitlog.CommitLogSegment
public final CDCState = org.apache.cassandra.db.commitlog.CommitLogSegment$CDCState of org.apache.cassandra.db.commitlog.CommitLogSegment
public CommitLogSegmentFileComparator = org.apache.cassandra.db.commitlog.CommitLogSegment$CommitLogSegmentFileComparator of org.apache.cassandra.db.commitlog.CommitLogSegment
public Set = org.apache.cassandra.utils.IntegerInterval$Set of org.apache.cassandra.utils.IntegerInterval
public final Group = org.apache.cassandra.utils.concurrent.OpOrder$Group of org.apache.cassandra.utils.concurrent.OpOrder
public abstract Signal = org.apache.cassandra.utils.concurrent.WaitQueue$Signal of org.apache.cassandra.utils.concurrent.WaitQueue