class org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1 extends org.apache.cassandra.utils.WrappedRunnable
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1
  super_class: org.apache.cassandra.utils.WrappedRunnable
{
  final org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager this$0;
    descriptor: Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager);
    descriptor: (Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1 this
         0: .line 100
            aload 0 /* this */
            aload 1
            putfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1.this$0:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
            aload 0 /* this */
            invokespecial org.apache.cassandra.utils.WrappedRunnable.<init>:()V
            return
        end local 0 // org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager$1;
    MethodParameters:
        Name  Flags
      this$0  final

  public void runMayThrow();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1 this
         0: .line 104
            goto 19
         1: .line 108
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1.this$0:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.availableSegment:Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
            ifnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 109
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.logger:Lorg/slf4j/Logger;
            ldc "No segments in reserve; creating a fresh one"
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;)V
         3: .line 110
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1.this$0:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1.this$0:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
            invokevirtual org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.createSegment:()Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
            putfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.availableSegment:Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
         4: .line 111
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1.this$0:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.shutdown:Z
            ifeq 7
         5: .line 115
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1.this$0:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
            invokevirtual org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.discardAvailableSegment:()V
         6: .line 116
            return
         7: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1.this$0:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.segmentPrepared:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            invokevirtual org.apache.cassandra.utils.concurrent.WaitQueue.signalAll:()V
         8: .line 120
            invokestatic java.lang.Thread.yield:()V
         9: .line 122
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1.this$0:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.availableSegment:Lorg/apache/cassandra/db/commitlog/CommitLogSegment;
            ifnonnull 11
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1.this$0:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
            invokevirtual org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.atSegmentBufferLimit:()Z
            ifne 11
        10: .line 124
            goto 19
        11: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1.this$0:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
            invokevirtual org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.maybeFlushToReclaim:()V
        12: .line 129
            goto 18
        13: .line 130
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
        14: .line 132
            aload 1 /* t */
            invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
        15: .line 133
            ldc "Failed managing commit log segments"
            aload 1 /* t */
            invokestatic org.apache.cassandra.db.commitlog.CommitLog.handleCommitError:(Ljava/lang/String;Ljava/lang/Throwable;)Z
            ifne 17
        16: .line 134
            return
        17: .line 136
      StackMap locals: java.lang.Throwable
      StackMap stack:
            lconst_1
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly:(JLjava/util/concurrent/TimeUnit;)V
        end local 1 // java.lang.Throwable t
        18: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1.this$0:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.managerThreadWaitCondition:Ljava/util/function/BooleanSupplier;
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1.this$0:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.managerThreadWaitQueue:Lorg/apache/cassandra/utils/concurrent/WaitQueue;
            invokestatic org.apache.cassandra.utils.concurrent.WaitQueue.waitOnCondition:(Ljava/util/function/BooleanSupplier;Lorg/apache/cassandra/utils/concurrent/WaitQueue;)V
        19: .line 104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1.this$0:Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager;
            getfield org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.shutdown:Z
            ifeq 1
        20: .line 145
            return
        end local 0 // org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lorg/apache/cassandra/db/commitlog/AbstractCommitLogSegmentManager$1;
           14   18     1     t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     6      13  Class java.lang.Throwable
           7    10      13  Class java.lang.Throwable
          11    12      13  Class java.lang.Throwable
    Exceptions:
      throws java.lang.Exception
}
SourceFile: "AbstractCommitLogSegmentManager.java"
EnclosingMethod: org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager.start:()V
NestHost: org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager
InnerClasses:
  org.apache.cassandra.db.commitlog.AbstractCommitLogSegmentManager$1