class org.apache.cassandra.db.commitlog.PeriodicCommitLogService extends org.apache.cassandra.db.commitlog.AbstractCommitLogService
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.cassandra.db.commitlog.PeriodicCommitLogService
super_class: org.apache.cassandra.db.commitlog.AbstractCommitLogService
{
private static final long blockWhenSyncLagsNanos;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 24
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getCommitLogSyncPeriod:()I
i2d
ldc 1500000.0
dmul
d2l
putstatic org.apache.cassandra.db.commitlog.PeriodicCommitLogService.blockWhenSyncLagsNanos:J
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.apache.cassandra.db.commitlog.CommitLog);
descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLog;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 // org.apache.cassandra.db.commitlog.PeriodicCommitLogService this
start local 1 // org.apache.cassandra.db.commitlog.CommitLog commitLog
0: .line 28
aload 0 /* this */
aload 1 /* commitLog */
ldc "PERIODIC-COMMIT-LOG-SYNCER"
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getCommitLogSyncPeriod:()I
i2l
1: .line 29
aload 1 /* commitLog */
getfield org.apache.cassandra.db.commitlog.CommitLog.configuration:Lorg/apache/cassandra/db/commitlog/CommitLog$Configuration;
invokevirtual org.apache.cassandra.db.commitlog.CommitLog$Configuration.useCompression:()Z
ifne 2
aload 1 /* commitLog */
getfield org.apache.cassandra.db.commitlog.CommitLog.configuration:Lorg/apache/cassandra/db/commitlog/CommitLog$Configuration;
invokevirtual org.apache.cassandra.db.commitlog.CommitLog$Configuration.useEncryption:()Z
ifeq 3
StackMap locals: uninitialized-this org.apache.cassandra.db.commitlog.CommitLog
StackMap stack: uninitialized-this org.apache.cassandra.db.commitlog.CommitLog java.lang.String long
2: iconst_0
goto 4
StackMap locals: uninitialized-this org.apache.cassandra.db.commitlog.CommitLog
StackMap stack: uninitialized-this org.apache.cassandra.db.commitlog.CommitLog java.lang.String long
3: iconst_1
StackMap locals: uninitialized-this org.apache.cassandra.db.commitlog.CommitLog
StackMap stack: uninitialized-this org.apache.cassandra.db.commitlog.CommitLog java.lang.String long int
4: invokespecial org.apache.cassandra.db.commitlog.AbstractCommitLogService.<init>:(Lorg/apache/cassandra/db/commitlog/CommitLog;Ljava/lang/String;JZ)V
5: .line 30
return
end local 1 // org.apache.cassandra.db.commitlog.CommitLog commitLog
end local 0 // org.apache.cassandra.db.commitlog.PeriodicCommitLogService this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/db/commitlog/PeriodicCommitLogService;
0 6 1 commitLog Lorg/apache/cassandra/db/commitlog/CommitLog;
MethodParameters:
Name Flags
commitLog final
protected void maybeWaitForSync(org.apache.cassandra.db.commitlog.CommitLogSegment$Allocation);
descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLogSegment$Allocation;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 // org.apache.cassandra.db.commitlog.PeriodicCommitLogService this
start local 1 // org.apache.cassandra.db.commitlog.CommitLogSegment$Allocation alloc
0: .line 34
invokestatic java.lang.System.nanoTime:()J
getstatic org.apache.cassandra.db.commitlog.PeriodicCommitLogService.blockWhenSyncLagsNanos:J
lsub
lstore 2 /* expectedSyncTime */
start local 2 // long expectedSyncTime
1: .line 35
aload 0 /* this */
getfield org.apache.cassandra.db.commitlog.PeriodicCommitLogService.lastSyncedAt:J
lload 2 /* expectedSyncTime */
lcmp
ifge 5
2: .line 37
aload 0 /* this */
getfield org.apache.cassandra.db.commitlog.PeriodicCommitLogService.pending:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.incrementAndGet:()J
pop2
3: .line 38
aload 0 /* this */
lload 2 /* expectedSyncTime */
aload 0 /* this */
getfield org.apache.cassandra.db.commitlog.PeriodicCommitLogService.commitLog:Lorg/apache/cassandra/db/commitlog/CommitLog;
getfield org.apache.cassandra.db.commitlog.CommitLog.metrics:Lorg/apache/cassandra/metrics/CommitLogMetrics;
getfield org.apache.cassandra.metrics.CommitLogMetrics.waitingOnCommit:Lcom/codahale/metrics/Timer;
invokevirtual com.codahale.metrics.Timer.time:()Lcom/codahale/metrics/Timer$Context;
invokevirtual org.apache.cassandra.db.commitlog.PeriodicCommitLogService.awaitSyncAt:(JLcom/codahale/metrics/Timer$Context;)V
4: .line 39
aload 0 /* this */
getfield org.apache.cassandra.db.commitlog.PeriodicCommitLogService.pending:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.decrementAndGet:()J
pop2
5: .line 41
StackMap locals: long
StackMap stack:
return
end local 2 // long expectedSyncTime
end local 1 // org.apache.cassandra.db.commitlog.CommitLogSegment$Allocation alloc
end local 0 // org.apache.cassandra.db.commitlog.PeriodicCommitLogService this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/db/commitlog/PeriodicCommitLogService;
0 6 1 alloc Lorg/apache/cassandra/db/commitlog/CommitLogSegment$Allocation;
1 6 2 expectedSyncTime J
MethodParameters:
Name Flags
alloc
}
SourceFile: "PeriodicCommitLogService.java"
InnerClasses:
public Context = com.codahale.metrics.Timer$Context of com.codahale.metrics.Timer
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