public class org.apache.cassandra.batchlog.BatchlogManager implements org.apache.cassandra.batchlog.BatchlogManagerMBean
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.batchlog.BatchlogManager
  super_class: java.lang.Object
{
  public static final java.lang.String MBEAN_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.apache.cassandra.db:type=BatchlogManager"

  private static final long REPLAY_INTERVAL;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10000

  static final int DEFAULT_PAGE_SIZE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.batchlog.BatchlogManager instance;
    descriptor: Lorg/apache/cassandra/batchlog/BatchlogManager;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final long BATCHLOG_REPLAY_TIMEOUT;
    descriptor: J
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private volatile long totalBatchesReplayed;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile java.util.UUID lastReplayedUuid;
    descriptor: Ljava/util/UUID;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private final java.util.concurrent.ScheduledExecutorService batchlogTasks;
    descriptor: Ljava/util/concurrent/ScheduledExecutorService;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 90
            ldc Lorg/apache/cassandra/batchlog/BatchlogManager;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.batchlog.BatchlogManager.logger:Lorg/slf4j/Logger;
         1: .line 91
            new org.apache.cassandra.batchlog.BatchlogManager
            dup
            invokespecial org.apache.cassandra.batchlog.BatchlogManager.<init>:()V
            putstatic org.apache.cassandra.batchlog.BatchlogManager.instance:Lorg/apache/cassandra/batchlog/BatchlogManager;
         2: .line 92
            ldc "cassandra.batchlog.replay_timeout_in_ms"
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getWriteRpcTimeout:()J
            ldc 2
            lmul
            invokestatic java.lang.Long.getLong:(Ljava/lang/String;J)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            putstatic org.apache.cassandra.batchlog.BatchlogManager.BATCHLOG_REPLAY_TIMEOUT:J
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.cassandra.batchlog.BatchlogManager this
         0: .line 100
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 94
            aload 0 /* this */
            lconst_0
            putfield org.apache.cassandra.batchlog.BatchlogManager.totalBatchesReplayed:J
         2: .line 95
            aload 0 /* this */
            lconst_0
            invokestatic org.apache.cassandra.utils.UUIDGen.minTimeUUID:(J)Ljava/util/UUID;
            putfield org.apache.cassandra.batchlog.BatchlogManager.lastReplayedUuid:Ljava/util/UUID;
         3: .line 102
            new org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor
            dup
            ldc "BatchlogTasks"
            invokespecial org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor.<init>:(Ljava/lang/String;)V
            astore 1 /* executor */
        start local 1 // java.util.concurrent.ScheduledThreadPoolExecutor executor
         4: .line 103
            aload 1 /* executor */
            iconst_0
            invokevirtual java.util.concurrent.ScheduledThreadPoolExecutor.setExecuteExistingDelayedTasksAfterShutdownPolicy:(Z)V
         5: .line 104
            aload 0 /* this */
            aload 1 /* executor */
            putfield org.apache.cassandra.batchlog.BatchlogManager.batchlogTasks:Ljava/util/concurrent/ScheduledExecutorService;
         6: .line 105
            return
        end local 1 // java.util.concurrent.ScheduledThreadPoolExecutor executor
        end local 0 // org.apache.cassandra.batchlog.BatchlogManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/apache/cassandra/batchlog/BatchlogManager;
            4    7     1  executor  Ljava/util/concurrent/ScheduledThreadPoolExecutor;

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.apache.cassandra.batchlog.BatchlogManager this
         0: .line 109
            getstatic org.apache.cassandra.utils.MBeanWrapper.instance:Lorg/apache/cassandra/utils/MBeanWrapper;
            aload 0 /* this */
            ldc "org.apache.cassandra.db:type=BatchlogManager"
            invokeinterface org.apache.cassandra.utils.MBeanWrapper.registerMBean:(Ljava/lang/Object;Ljava/lang/String;)V
         1: .line 111
            aload 0 /* this */
            getfield org.apache.cassandra.batchlog.BatchlogManager.batchlogTasks:Ljava/util/concurrent/ScheduledExecutorService;
            aload 0 /* this */
            invokedynamic run(Lorg/apache/cassandra/batchlog/BatchlogManager;)Ljava/lang/Runnable;
              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/batchlog/BatchlogManager.replayFailedBatches()V (7)
                  ()V
         2: .line 112
            getstatic org.apache.cassandra.service.StorageService.RING_DELAY:I
            i2l
         3: .line 113
            ldc 10000
         4: .line 114
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
         5: .line 111
            invokeinterface java.util.concurrent.ScheduledExecutorService.scheduleWithFixedDelay:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            pop
         6: .line 115
            return
        end local 0 // org.apache.cassandra.batchlog.BatchlogManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/cassandra/batchlog/BatchlogManager;

  public void shutdownAndWait(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.apache.cassandra.batchlog.BatchlogManager this
        start local 1 // long timeout
        start local 3 // java.util.concurrent.TimeUnit unit
         0: .line 119
            lload 1 /* timeout */
            aload 3 /* unit */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.batchlog.BatchlogManager.batchlogTasks:Ljava/util/concurrent/ScheduledExecutorService;
            aastore
            invokestatic org.apache.cassandra.utils.ExecutorUtils.shutdownAndWait:(JLjava/util/concurrent/TimeUnit;[Ljava/lang/Object;)V
         1: .line 120
            return
        end local 3 // java.util.concurrent.TimeUnit unit
        end local 1 // long timeout
        end local 0 // org.apache.cassandra.batchlog.BatchlogManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/cassandra/batchlog/BatchlogManager;
            0    2     1  timeout  J
            0    2     3     unit  Ljava/util/concurrent/TimeUnit;
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.TimeoutException
    MethodParameters:
         Name  Flags
      timeout  
      unit     

  public static void remove(java.util.UUID);
    descriptor: (Ljava/util/UUID;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // java.util.UUID id
         0: .line 124
            new org.apache.cassandra.db.Mutation
            dup
            getstatic org.apache.cassandra.db.SystemKeyspace.Batches:Lorg/apache/cassandra/config/CFMetaData;
         1: .line 125
            getstatic org.apache.cassandra.db.marshal.UUIDType.instance:Lorg/apache/cassandra/db/marshal/UUIDType;
            aload 0 /* id */
            invokevirtual org.apache.cassandra.db.marshal.UUIDType.decompose:(Ljava/lang/Object;)Ljava/nio/ByteBuffer;
         2: .line 126
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
         3: .line 127
            invokestatic org.apache.cassandra.utils.FBUtilities.nowInSeconds:()I
         4: .line 124
            invokestatic org.apache.cassandra.db.partitions.PartitionUpdate.fullPartitionDelete:(Lorg/apache/cassandra/config/CFMetaData;Ljava/nio/ByteBuffer;JI)Lorg/apache/cassandra/db/partitions/PartitionUpdate;
            invokespecial org.apache.cassandra.db.Mutation.<init>:(Lorg/apache/cassandra/db/partitions/PartitionUpdate;)V
         5: .line 128
            invokevirtual org.apache.cassandra.db.Mutation.apply:()V
         6: .line 129
            return
        end local 0 // java.util.UUID id
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    id  Ljava/util/UUID;
    MethodParameters:
      Name  Flags
      id    

  public static void store(org.apache.cassandra.batchlog.Batch);
    descriptor: (Lorg/apache/cassandra/batchlog/Batch;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.batchlog.Batch batch
         0: .line 133
            aload 0 /* batch */
            iconst_1
            invokestatic org.apache.cassandra.batchlog.BatchlogManager.store:(Lorg/apache/cassandra/batchlog/Batch;Z)V
         1: .line 134
            return
        end local 0 // org.apache.cassandra.batchlog.Batch batch
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  batch  Lorg/apache/cassandra/batchlog/Batch;
    MethodParameters:
       Name  Flags
      batch  

  public static void store(org.apache.cassandra.batchlog.Batch, boolean);
    descriptor: (Lorg/apache/cassandra/batchlog/Batch;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // org.apache.cassandra.batchlog.Batch batch
        start local 1 // boolean durableWrites
         0: .line 138
            new java.util.ArrayList
            dup
            aload 0 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.encodedMutations:Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            aload 0 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.decodedMutations:Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            iadd
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* mutations */
        start local 2 // java.util.List mutations
         1: .line 139
            aload 2 /* mutations */
            aload 0 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.encodedMutations:Ljava/util/Collection;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         2: .line 141
            aload 0 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.decodedMutations:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 16
      StackMap locals: org.apache.cassandra.batchlog.Batch int java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Mutation
            astore 3 /* mutation */
        start local 3 // org.apache.cassandra.db.Mutation mutation
         4: .line 143
            aconst_null
            astore 5
            aconst_null
            astore 6
         5: new org.apache.cassandra.io.util.DataOutputBuffer
            dup
            invokespecial org.apache.cassandra.io.util.DataOutputBuffer.<init>:()V
            astore 7 /* buffer */
        start local 7 // org.apache.cassandra.io.util.DataOutputBuffer buffer
         6: .line 145
            getstatic org.apache.cassandra.db.Mutation.serializer:Lorg/apache/cassandra/db/Mutation$MutationSerializer;
            aload 3 /* mutation */
            aload 7 /* buffer */
            getstatic org.apache.cassandra.net.MessagingService.current_version:I
            invokevirtual org.apache.cassandra.db.Mutation$MutationSerializer.serialize:(Lorg/apache/cassandra/db/Mutation;Lorg/apache/cassandra/io/util/DataOutputPlus;I)V
         7: .line 146
            aload 2 /* mutations */
            aload 7 /* buffer */
            invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.buffer:()Ljava/nio/ByteBuffer;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         8: .line 147
            aload 7 /* buffer */
            ifnull 16
            aload 7 /* buffer */
            invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.close:()V
            goto 16
      StackMap locals: org.apache.cassandra.batchlog.Batch int java.util.List org.apache.cassandra.db.Mutation java.util.Iterator java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.util.DataOutputBuffer
      StackMap stack: java.lang.Throwable
         9: astore 5
            aload 7 /* buffer */
            ifnull 10
            aload 7 /* buffer */
            invokevirtual org.apache.cassandra.io.util.DataOutputBuffer.close:()V
        end local 7 // org.apache.cassandra.io.util.DataOutputBuffer buffer
      StackMap locals:
      StackMap stack:
        10: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 6
            aload 5
            ifnonnull 12
            aload 6
            astore 5
            goto 13
      StackMap locals:
      StackMap stack:
        12: aload 5
            aload 6
            if_acmpeq 13
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        13: aload 5
            athrow
        14: .line 148
      StackMap locals: org.apache.cassandra.batchlog.Batch int java.util.List org.apache.cassandra.db.Mutation java.util.Iterator
      StackMap stack: java.io.IOException
            astore 5 /* e */
        start local 5 // java.io.IOException e
        15: .line 151
            new java.lang.AssertionError
            dup
            aload 5 /* e */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 5 // java.io.IOException e
        end local 3 // org.apache.cassandra.db.Mutation mutation
        16: .line 141
      StackMap locals: org.apache.cassandra.batchlog.Batch int java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        17: .line 155
            getstatic org.apache.cassandra.db.SystemKeyspace.Batches:Lorg/apache/cassandra/config/CFMetaData;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.id:Ljava/util/UUID;
            aastore
            invokestatic org.apache.cassandra.db.partitions.PartitionUpdate.simpleBuilder:(Lorg/apache/cassandra/config/CFMetaData;[Ljava/lang/Object;)Lorg/apache/cassandra/db/partitions/PartitionUpdate$SimpleBuilder;
            astore 3 /* builder */
        start local 3 // org.apache.cassandra.db.partitions.PartitionUpdate$SimpleBuilder builder
        18: .line 156
            aload 3 /* builder */
            iconst_0
            anewarray java.lang.Object
            invokeinterface org.apache.cassandra.db.partitions.PartitionUpdate$SimpleBuilder.row:([Ljava/lang/Object;)Lorg/apache/cassandra/db/rows/Row$SimpleBuilder;
        19: .line 157
            aload 0 /* batch */
            getfield org.apache.cassandra.batchlog.Batch.creationTime:J
            invokeinterface org.apache.cassandra.db.rows.Row$SimpleBuilder.timestamp:(J)Lorg/apache/cassandra/db/rows/Row$SimpleBuilder;
        20: .line 158
            ldc "version"
            getstatic org.apache.cassandra.net.MessagingService.current_version:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.apache.cassandra.db.rows.Row$SimpleBuilder.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/apache/cassandra/db/rows/Row$SimpleBuilder;
        21: .line 159
            ldc "mutations"
            aload 2 /* mutations */
            invokeinterface org.apache.cassandra.db.rows.Row$SimpleBuilder.appendAll:(Ljava/lang/String;Ljava/lang/Object;)Lorg/apache/cassandra/db/rows/Row$SimpleBuilder;
            pop
        22: .line 161
            aload 3 /* builder */
            invokeinterface org.apache.cassandra.db.partitions.PartitionUpdate$SimpleBuilder.buildAsMutation:()Lorg/apache/cassandra/db/Mutation;
            iload 1 /* durableWrites */
            invokevirtual org.apache.cassandra.db.Mutation.apply:(Z)V
        23: .line 162
            return
        end local 3 // org.apache.cassandra.db.partitions.PartitionUpdate$SimpleBuilder builder
        end local 2 // java.util.List mutations
        end local 1 // boolean durableWrites
        end local 0 // org.apache.cassandra.batchlog.Batch batch
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   24     0          batch  Lorg/apache/cassandra/batchlog/Batch;
            0   24     1  durableWrites  Z
            1   24     2      mutations  Ljava/util/List<Ljava/nio/ByteBuffer;>;
            4   16     3       mutation  Lorg/apache/cassandra/db/Mutation;
            6   10     7         buffer  Lorg/apache/cassandra/io/util/DataOutputBuffer;
           15   16     5              e  Ljava/io/IOException;
           18   24     3        builder  Lorg/apache/cassandra/db/partitions/PartitionUpdate$SimpleBuilder;
      Exception table:
        from    to  target  type
           6     8       9  any
           5    11      11  any
           4    14      14  Class java.io.IOException
    MethodParameters:
               Name  Flags
      batch          
      durableWrites  

  public int countAllBatches();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.apache.cassandra.batchlog.BatchlogManager this
         0: .line 167
            ldc "SELECT count(*) FROM %s.%s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "system"
            aastore
            dup
            iconst_1
            ldc "batches"
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 1 /* query */
        start local 1 // java.lang.String query
         1: .line 168
            aload 1 /* query */
            iconst_0
            anewarray java.lang.Object
            invokestatic org.apache.cassandra.cql3.QueryProcessor.executeInternal:(Ljava/lang/String;[Ljava/lang/Object;)Lorg/apache/cassandra/cql3/UntypedResultSet;
            astore 2 /* results */
        start local 2 // org.apache.cassandra.cql3.UntypedResultSet results
         2: .line 169
            aload 2 /* results */
            ifnull 3
            aload 2 /* results */
            invokevirtual org.apache.cassandra.cql3.UntypedResultSet.isEmpty:()Z
            ifeq 4
         3: .line 170
      StackMap locals: java.lang.String org.apache.cassandra.cql3.UntypedResultSet
      StackMap stack:
            iconst_0
            ireturn
         4: .line 172
      StackMap locals:
      StackMap stack:
            aload 2 /* results */
            invokevirtual org.apache.cassandra.cql3.UntypedResultSet.one:()Lorg/apache/cassandra/cql3/UntypedResultSet$Row;
            ldc "count"
            invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getLong:(Ljava/lang/String;)J
            l2i
            ireturn
        end local 2 // org.apache.cassandra.cql3.UntypedResultSet results
        end local 1 // java.lang.String query
        end local 0 // org.apache.cassandra.batchlog.BatchlogManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/apache/cassandra/batchlog/BatchlogManager;
            1    5     1    query  Ljava/lang/String;
            2    5     2  results  Lorg/apache/cassandra/cql3/UntypedResultSet;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()

  public long getTotalBatchesReplayed();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.batchlog.BatchlogManager this
         0: .line 177
            aload 0 /* this */
            getfield org.apache.cassandra.batchlog.BatchlogManager.totalBatchesReplayed:J
            lreturn
        end local 0 // org.apache.cassandra.batchlog.BatchlogManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/batchlog/BatchlogManager;

  public void forceBatchlogReplay();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.batchlog.BatchlogManager this
         0: .line 182
            aload 0 /* this */
            invokevirtual org.apache.cassandra.batchlog.BatchlogManager.startBatchlogReplay:()Ljava/util/concurrent/Future;
            invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
            pop
         1: .line 183
            return
        end local 0 // org.apache.cassandra.batchlog.BatchlogManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/batchlog/BatchlogManager;
    Exceptions:
      throws java.lang.Exception

  public java.util.concurrent.Future<?> startBatchlogReplay();
    descriptor: ()Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.batchlog.BatchlogManager this
         0: .line 188
            aload 0 /* this */
            getfield org.apache.cassandra.batchlog.BatchlogManager.batchlogTasks:Ljava/util/concurrent/ScheduledExecutorService;
            aload 0 /* this */
            invokedynamic run(Lorg/apache/cassandra/batchlog/BatchlogManager;)Ljava/lang/Runnable;
              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/batchlog/BatchlogManager.replayFailedBatches()V (7)
                  ()V
            invokeinterface java.util.concurrent.ScheduledExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
            areturn
        end local 0 // org.apache.cassandra.batchlog.BatchlogManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/batchlog/BatchlogManager;
    Signature: ()Ljava/util/concurrent/Future<*>;

  void performInitialReplay();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.batchlog.BatchlogManager this
         0: .line 194
            aload 0 /* this */
            getfield org.apache.cassandra.batchlog.BatchlogManager.batchlogTasks:Ljava/util/concurrent/ScheduledExecutorService;
            aload 0 /* this */
            invokedynamic run(Lorg/apache/cassandra/batchlog/BatchlogManager;)Ljava/lang/Runnable;
              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/batchlog/BatchlogManager.replayFailedBatches()V (7)
                  ()V
            invokeinterface java.util.concurrent.ScheduledExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
            invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
            pop
         1: .line 195
            return
        end local 0 // org.apache.cassandra.batchlog.BatchlogManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/batchlog/BatchlogManager;
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException

  private void replayFailedBatches();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=1
        start local 0 // org.apache.cassandra.batchlog.BatchlogManager this
         0: .line 199
            getstatic org.apache.cassandra.batchlog.BatchlogManager.logger:Lorg/slf4j/Logger;
            ldc "Started replayFailedBatches"
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;)V
         1: .line 203
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            invokevirtual org.apache.cassandra.service.StorageService.getTokenMetadata:()Lorg/apache/cassandra/locator/TokenMetadata;
            invokevirtual org.apache.cassandra.locator.TokenMetadata.getAllEndpoints:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            istore 1 /* endpointsCount */
        start local 1 // int endpointsCount
         2: .line 204
            iload 1 /* endpointsCount */
            ifgt 5
         3: .line 206
            getstatic org.apache.cassandra.batchlog.BatchlogManager.logger:Lorg/slf4j/Logger;
            ldc "Replay cancelled as there are no peers in the ring."
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;)V
         4: .line 207
            return
         5: .line 209
      StackMap locals: int
      StackMap stack:
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getBatchlogReplayThrottleInKB:()I
            iload 1 /* endpointsCount */
            idiv
            istore 2 /* throttleInKB */
        start local 2 // int throttleInKB
         6: .line 210
            iload 2 /* throttleInKB */
            ifne 7
            ldc 1.7976931348623157E308
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iload 2 /* throttleInKB */
            sipush 1024
            imul
            i2d
      StackMap locals:
      StackMap stack: double
         8: invokestatic com.google.common.util.concurrent.RateLimiter.create:(D)Lcom/google/common/util/concurrent/RateLimiter;
            astore 3 /* rateLimiter */
        start local 3 // com.google.common.util.concurrent.RateLimiter rateLimiter
         9: .line 212
            invokestatic java.lang.System.currentTimeMillis:()J
            invokestatic org.apache.cassandra.batchlog.BatchlogManager.getBatchlogTimeout:()J
            lsub
            invokestatic org.apache.cassandra.utils.UUIDGen.maxTimeUUID:(J)Ljava/util/UUID;
            astore 4 /* limitUuid */
        start local 4 // java.util.UUID limitUuid
        10: .line 213
            ldc "system"
            invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
            ldc "batches"
            invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/lang/String;)Lorg/apache/cassandra/db/ColumnFamilyStore;
            astore 5 /* store */
        start local 5 // org.apache.cassandra.db.ColumnFamilyStore store
        11: .line 214
            aload 5 /* store */
            invokestatic org.apache.cassandra.batchlog.BatchlogManager.calculatePageSize:(Lorg/apache/cassandra/db/ColumnFamilyStore;)I
            istore 6 /* pageSize */
        start local 6 // int pageSize
        12: .line 218
            ldc "SELECT id, mutations, version FROM %s.%s WHERE token(id) > token(?) AND token(id) <= token(?)"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        13: .line 219
            ldc "system"
            aastore
            dup
            iconst_1
        14: .line 220
            ldc "batches"
            aastore
        15: .line 218
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 7 /* query */
        start local 7 // java.lang.String query
        16: .line 221
            aload 7 /* query */
            iload 6 /* pageSize */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.batchlog.BatchlogManager.lastReplayedUuid:Ljava/util/UUID;
            aastore
            dup
            iconst_1
            aload 4 /* limitUuid */
            aastore
            invokestatic org.apache.cassandra.cql3.QueryProcessor.executeInternalWithPaging:(Ljava/lang/String;I[Ljava/lang/Object;)Lorg/apache/cassandra/cql3/UntypedResultSet;
            astore 8 /* batches */
        start local 8 // org.apache.cassandra.cql3.UntypedResultSet batches
        17: .line 222
            aload 0 /* this */
            aload 8 /* batches */
            iload 6 /* pageSize */
            aload 3 /* rateLimiter */
            invokevirtual org.apache.cassandra.batchlog.BatchlogManager.processBatchlogEntries:(Lorg/apache/cassandra/cql3/UntypedResultSet;ILcom/google/common/util/concurrent/RateLimiter;)V
        18: .line 223
            aload 0 /* this */
            aload 4 /* limitUuid */
            putfield org.apache.cassandra.batchlog.BatchlogManager.lastReplayedUuid:Ljava/util/UUID;
        19: .line 224
            getstatic org.apache.cassandra.batchlog.BatchlogManager.logger:Lorg/slf4j/Logger;
            ldc "Finished replayFailedBatches"
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;)V
        20: .line 225
            return
        end local 8 // org.apache.cassandra.cql3.UntypedResultSet batches
        end local 7 // java.lang.String query
        end local 6 // int pageSize
        end local 5 // org.apache.cassandra.db.ColumnFamilyStore store
        end local 4 // java.util.UUID limitUuid
        end local 3 // com.google.common.util.concurrent.RateLimiter rateLimiter
        end local 2 // int throttleInKB
        end local 1 // int endpointsCount
        end local 0 // org.apache.cassandra.batchlog.BatchlogManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Lorg/apache/cassandra/batchlog/BatchlogManager;
            2   21     1  endpointsCount  I
            6   21     2    throttleInKB  I
            9   21     3     rateLimiter  Lcom/google/common/util/concurrent/RateLimiter;
           10   21     4       limitUuid  Ljava/util/UUID;
           11   21     5           store  Lorg/apache/cassandra/db/ColumnFamilyStore;
           12   21     6        pageSize  I
           16   21     7           query  Ljava/lang/String;
           17   21     8         batches  Lorg/apache/cassandra/cql3/UntypedResultSet;

  static int calculatePageSize(org.apache.cassandra.db.ColumnFamilyStore);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=3, args_size=1
        start local 0 // org.apache.cassandra.db.ColumnFamilyStore store
         0: .line 230
            aload 0 /* store */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getMeanPartitionSize:()D
            dstore 1 /* averageRowSize */
        start local 1 // double averageRowSize
         1: .line 231
            dload 1 /* averageRowSize */
            dconst_0
            dcmpg
            ifgt 3
         2: .line 232
            sipush 128
            ireturn
         3: .line 234
      StackMap locals: double
      StackMap stack:
            dconst_1
            ldc 128.0
            ldc 4194304.0
            dload 1 /* averageRowSize */
            ddiv
            invokestatic java.lang.Math.min:(DD)D
            invokestatic java.lang.Math.max:(DD)D
            d2i
            ireturn
        end local 1 // double averageRowSize
        end local 0 // org.apache.cassandra.db.ColumnFamilyStore store
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0           store  Lorg/apache/cassandra/db/ColumnFamilyStore;
            1    4     1  averageRowSize  D
    MethodParameters:
       Name  Flags
      store  

  private void processBatchlogEntries(org.apache.cassandra.cql3.UntypedResultSet, int, com.google.common.util.concurrent.RateLimiter);
    descriptor: (Lorg/apache/cassandra/cql3/UntypedResultSet;ILcom/google/common/util/concurrent/RateLimiter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=13, args_size=4
        start local 0 // org.apache.cassandra.batchlog.BatchlogManager this
        start local 1 // org.apache.cassandra.cql3.UntypedResultSet batches
        start local 2 // int pageSize
        start local 3 // com.google.common.util.concurrent.RateLimiter rateLimiter
         0: .line 239
            iconst_0
            istore 4 /* positionInPage */
        start local 4 // int positionInPage
         1: .line 240
            new java.util.ArrayList
            dup
            iload 2 /* pageSize */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 5 /* unfinishedBatches */
        start local 5 // java.util.ArrayList unfinishedBatches
         2: .line 242
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 6 /* hintedNodes */
        start local 6 // java.util.Set hintedNodes
         3: .line 243
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* replayedBatches */
        start local 7 // java.util.Set replayedBatches
         4: .line 246
            aload 1 /* batches */
            invokevirtual org.apache.cassandra.cql3.UntypedResultSet.iterator:()Ljava/util/Iterator;
            astore 9
            goto 21
      StackMap locals: org.apache.cassandra.batchlog.BatchlogManager org.apache.cassandra.cql3.UntypedResultSet int com.google.common.util.concurrent.RateLimiter int java.util.ArrayList java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         5: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.cql3.UntypedResultSet$Row
            astore 8 /* row */
        start local 8 // org.apache.cassandra.cql3.UntypedResultSet$Row row
         6: .line 248
            aload 8 /* row */
            ldc "id"
            invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getUUID:(Ljava/lang/String;)Ljava/util/UUID;
            astore 10 /* id */
        start local 10 // java.util.UUID id
         7: .line 249
            aload 8 /* row */
            ldc "version"
            invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getInt:(Ljava/lang/String;)I
            istore 11 /* version */
        start local 11 // int version
         8: .line 252
            new org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch
            dup
            aload 10 /* id */
            iload 11 /* version */
            aload 8 /* row */
            ldc "mutations"
            getstatic org.apache.cassandra.db.marshal.BytesType.instance:Lorg/apache/cassandra/db/marshal/BytesType;
            invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getList:(Ljava/lang/String;Lorg/apache/cassandra/db/marshal/AbstractType;)Ljava/util/List;
            invokespecial org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch.<init>:(Ljava/util/UUID;ILjava/util/List;)V
            astore 12 /* batch */
        start local 12 // org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch batch
         9: .line 253
            aload 12 /* batch */
            aload 3 /* rateLimiter */
            aload 6 /* hintedNodes */
            invokevirtual org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch.replay:(Lcom/google/common/util/concurrent/RateLimiter;Ljava/util/Set;)I
            ifle 12
        10: .line 255
            aload 5 /* unfinishedBatches */
            aload 12 /* batch */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        11: .line 256
            goto 18
        12: .line 259
      StackMap locals: org.apache.cassandra.batchlog.BatchlogManager org.apache.cassandra.cql3.UntypedResultSet int com.google.common.util.concurrent.RateLimiter int java.util.ArrayList java.util.Set java.util.Set org.apache.cassandra.cql3.UntypedResultSet$Row java.util.Iterator java.util.UUID int org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch
      StackMap stack:
            aload 10 /* id */
            invokestatic org.apache.cassandra.batchlog.BatchlogManager.remove:(Ljava/util/UUID;)V
        13: .line 260
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.batchlog.BatchlogManager.totalBatchesReplayed:J
            lconst_1
            ladd
            putfield org.apache.cassandra.batchlog.BatchlogManager.totalBatchesReplayed:J
        end local 12 // org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch batch
        14: .line 262
            goto 18
        15: .line 263
      StackMap locals: org.apache.cassandra.batchlog.BatchlogManager org.apache.cassandra.cql3.UntypedResultSet int com.google.common.util.concurrent.RateLimiter int java.util.ArrayList java.util.Set java.util.Set org.apache.cassandra.cql3.UntypedResultSet$Row java.util.Iterator java.util.UUID int
      StackMap stack: java.io.IOException
            astore 12 /* e */
        start local 12 // java.io.IOException e
        16: .line 265
            getstatic org.apache.cassandra.batchlog.BatchlogManager.logger:Lorg/slf4j/Logger;
            ldc "Skipped batch replay of {} due to {}"
            aload 10 /* id */
            aload 12 /* e */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 266
            aload 10 /* id */
            invokestatic org.apache.cassandra.batchlog.BatchlogManager.remove:(Ljava/util/UUID;)V
        end local 12 // java.io.IOException e
        18: .line 269
      StackMap locals:
      StackMap stack:
            iinc 4 /* positionInPage */ 1
            iload 4 /* positionInPage */
            iload 2 /* pageSize */
            if_icmpne 21
        19: .line 273
            aload 0 /* this */
            aload 5 /* unfinishedBatches */
            aload 6 /* hintedNodes */
            aload 7 /* replayedBatches */
            invokevirtual org.apache.cassandra.batchlog.BatchlogManager.finishAndClearBatches:(Ljava/util/ArrayList;Ljava/util/Set;Ljava/util/Set;)V
        20: .line 274
            iconst_0
            istore 4 /* positionInPage */
        end local 11 // int version
        end local 10 // java.util.UUID id
        end local 8 // org.apache.cassandra.cql3.UntypedResultSet$Row row
        21: .line 246
      StackMap locals: org.apache.cassandra.batchlog.BatchlogManager org.apache.cassandra.cql3.UntypedResultSet int com.google.common.util.concurrent.RateLimiter int java.util.ArrayList java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        22: .line 278
            aload 0 /* this */
            aload 5 /* unfinishedBatches */
            aload 6 /* hintedNodes */
            aload 7 /* replayedBatches */
            invokevirtual org.apache.cassandra.batchlog.BatchlogManager.finishAndClearBatches:(Ljava/util/ArrayList;Ljava/util/Set;Ljava/util/Set;)V
        23: .line 281
            getstatic org.apache.cassandra.hints.HintsService.instance:Lorg/apache/cassandra/hints/HintsService;
            aload 6 /* hintedNodes */
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic apply(Lorg/apache/cassandra/service/StorageService;)Lcom/google/common/base/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/service/StorageService.getHostIdForEndpoint(Ljava/net/InetAddress;)Ljava/util/UUID; (5)
                  (Ljava/net/InetAddress;)Ljava/util/UUID;
            invokestatic com.google.common.collect.Iterables.transform:(Ljava/lang/Iterable;Lcom/google/common/base/Function;)Ljava/lang/Iterable;
            invokevirtual org.apache.cassandra.hints.HintsService.flushAndFsyncBlockingly:(Ljava/lang/Iterable;)V
        24: .line 284
            aload 7 /* replayedBatches */
            invokedynamic accept()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/batchlog/BatchlogManager.remove(Ljava/util/UUID;)V (6)
                  (Ljava/util/UUID;)V
            invokeinterface java.util.Set.forEach:(Ljava/util/function/Consumer;)V
        25: .line 285
            return
        end local 7 // java.util.Set replayedBatches
        end local 6 // java.util.Set hintedNodes
        end local 5 // java.util.ArrayList unfinishedBatches
        end local 4 // int positionInPage
        end local 3 // com.google.common.util.concurrent.RateLimiter rateLimiter
        end local 2 // int pageSize
        end local 1 // org.apache.cassandra.cql3.UntypedResultSet batches
        end local 0 // org.apache.cassandra.batchlog.BatchlogManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   26     0               this  Lorg/apache/cassandra/batchlog/BatchlogManager;
            0   26     1            batches  Lorg/apache/cassandra/cql3/UntypedResultSet;
            0   26     2           pageSize  I
            0   26     3        rateLimiter  Lcom/google/common/util/concurrent/RateLimiter;
            1   26     4     positionInPage  I
            2   26     5  unfinishedBatches  Ljava/util/ArrayList<Lorg/apache/cassandra/batchlog/BatchlogManager$ReplayingBatch;>;
            3   26     6        hintedNodes  Ljava/util/Set<Ljava/net/InetAddress;>;
            4   26     7    replayedBatches  Ljava/util/Set<Ljava/util/UUID;>;
            6   21     8                row  Lorg/apache/cassandra/cql3/UntypedResultSet$Row;
            7   21    10                 id  Ljava/util/UUID;
            8   21    11            version  I
            9   14    12              batch  Lorg/apache/cassandra/batchlog/BatchlogManager$ReplayingBatch;
           16   18    12                  e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           8    14      15  Class java.io.IOException
    MethodParameters:
             Name  Flags
      batches      
      pageSize     
      rateLimiter  

  private void finishAndClearBatches(java.util.ArrayList<org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch>, java.util.Set<java.net.InetAddress>, java.util.Set<java.util.UUID>);
    descriptor: (Ljava/util/ArrayList;Ljava/util/Set;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.apache.cassandra.batchlog.BatchlogManager this
        start local 1 // java.util.ArrayList batches
        start local 2 // java.util.Set hintedNodes
        start local 3 // java.util.Set replayedBatches
         0: .line 290
            aload 1 /* batches */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 4
      StackMap locals: org.apache.cassandra.batchlog.BatchlogManager java.util.ArrayList java.util.Set java.util.Set top java.util.Iterator
      StackMap stack:
         1: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch
            astore 4 /* batch */
        start local 4 // org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch batch
         2: .line 292
            aload 4 /* batch */
            aload 2 /* hintedNodes */
            invokevirtual org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch.finish:(Ljava/util/Set;)V
         3: .line 293
            aload 3 /* replayedBatches */
            aload 4 /* batch */
            getfield org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch.id:Ljava/util/UUID;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch batch
         4: .line 290
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 296
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.batchlog.BatchlogManager.totalBatchesReplayed:J
            aload 1 /* batches */
            invokevirtual java.util.ArrayList.size:()I
            i2l
            ladd
            putfield org.apache.cassandra.batchlog.BatchlogManager.totalBatchesReplayed:J
         6: .line 297
            aload 1 /* batches */
            invokevirtual java.util.ArrayList.clear:()V
         7: .line 298
            return
        end local 3 // java.util.Set replayedBatches
        end local 2 // java.util.Set hintedNodes
        end local 1 // java.util.ArrayList batches
        end local 0 // org.apache.cassandra.batchlog.BatchlogManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lorg/apache/cassandra/batchlog/BatchlogManager;
            0    8     1          batches  Ljava/util/ArrayList<Lorg/apache/cassandra/batchlog/BatchlogManager$ReplayingBatch;>;
            0    8     2      hintedNodes  Ljava/util/Set<Ljava/net/InetAddress;>;
            0    8     3  replayedBatches  Ljava/util/Set<Ljava/util/UUID;>;
            2    4     4            batch  Lorg/apache/cassandra/batchlog/BatchlogManager$ReplayingBatch;
    Signature: (Ljava/util/ArrayList<Lorg/apache/cassandra/batchlog/BatchlogManager$ReplayingBatch;>;Ljava/util/Set<Ljava/net/InetAddress;>;Ljava/util/Set<Ljava/util/UUID;>;)V
    MethodParameters:
                 Name  Flags
      batches          
      hintedNodes      
      replayedBatches  

  public static long getBatchlogTimeout();
    descriptor: ()J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 302
            getstatic org.apache.cassandra.batchlog.BatchlogManager.BATCHLOG_REPLAY_TIMEOUT:J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "BatchlogManager.java"
NestMembers:
  org.apache.cassandra.batchlog.BatchlogManager$EndpointFilter  org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch  org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch$ReplayWriteResponseHandler
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public EndpointFilter = org.apache.cassandra.batchlog.BatchlogManager$EndpointFilter of org.apache.cassandra.batchlog.BatchlogManager
  private ReplayingBatch = org.apache.cassandra.batchlog.BatchlogManager$ReplayingBatch of org.apache.cassandra.batchlog.BatchlogManager
  public Row = org.apache.cassandra.cql3.UntypedResultSet$Row of org.apache.cassandra.cql3.UntypedResultSet
  public MutationSerializer = org.apache.cassandra.db.Mutation$MutationSerializer of org.apache.cassandra.db.Mutation
  public abstract SimpleBuilder = org.apache.cassandra.db.partitions.PartitionUpdate$SimpleBuilder of org.apache.cassandra.db.partitions.PartitionUpdate
  public abstract SimpleBuilder = org.apache.cassandra.db.rows.Row$SimpleBuilder of org.apache.cassandra.db.rows.Row