public class org.apache.cassandra.db.commitlog.CommitLogReplayer implements org.apache.cassandra.db.commitlog.CommitLogReadHandler
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.db.commitlog.CommitLogReplayer
  super_class: java.lang.Object
{
  public static long MAX_OUTSTANDING_REPLAY_BYTES;
    descriptor: J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()

  public static org.apache.cassandra.db.commitlog.CommitLogReplayer$MutationInitiator mutationInitiator;
    descriptor: Lorg/apache/cassandra/db/commitlog/CommitLogReplayer$MutationInitiator;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()

  static final java.lang.String IGNORE_REPLAY_ERRORS_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "cassandra.commitlog.ignorereplayerrors"

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

  private static final int MAX_OUTSTANDING_REPLAY_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.Set<org.apache.cassandra.db.Keyspace> keyspacesReplayed;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Lorg/apache/cassandra/db/Keyspace;>;

  private final java.util.Queue<java.util.concurrent.Future<java.lang.Integer>> futures;
    descriptor: Ljava/util/Queue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Queue<Ljava/util/concurrent/Future<Ljava/lang/Integer;>;>;

  private final java.util.concurrent.atomic.AtomicInteger replayedCount;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map<java.util.UUID, org.apache.cassandra.db.commitlog.IntervalSet<org.apache.cassandra.db.commitlog.CommitLogPosition>> cfPersisted;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/util/UUID;Lorg/apache/cassandra/db/commitlog/IntervalSet<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;>;

  private final org.apache.cassandra.db.commitlog.CommitLogPosition globalPosition;
    descriptor: Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private long pendingMutationBytes;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private final org.apache.cassandra.db.commitlog.CommitLogReplayer$ReplayFilter replayFilter;
    descriptor: Lorg/apache/cassandra/db/commitlog/CommitLogReplayer$ReplayFilter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.db.commitlog.CommitLogArchiver archiver;
    descriptor: Lorg/apache/cassandra/db/commitlog/CommitLogArchiver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected org.apache.cassandra.db.commitlog.CommitLogReader commitLogReader;
    descriptor: Lorg/apache/cassandra/db/commitlog/CommitLogReader;
    flags: (0x0004) ACC_PROTECTED
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 53
            ldc "cassandra.commitlog_max_outstanding_replay_bytes"
            ldc 67108864
            invokestatic java.lang.Long.getLong:(Ljava/lang/String;J)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            putstatic org.apache.cassandra.db.commitlog.CommitLogReplayer.MAX_OUTSTANDING_REPLAY_BYTES:J
         1: .line 55
            new org.apache.cassandra.db.commitlog.CommitLogReplayer$MutationInitiator
            dup
            invokespecial org.apache.cassandra.db.commitlog.CommitLogReplayer$MutationInitiator.<init>:()V
            putstatic org.apache.cassandra.db.commitlog.CommitLogReplayer.mutationInitiator:Lorg/apache/cassandra/db/commitlog/CommitLogReplayer$MutationInitiator;
         2: .line 57
            ldc Lorg/apache/cassandra/db/commitlog/CommitLogReplayer;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.db.commitlog.CommitLogReplayer.logger:Lorg/slf4j/Logger;
         3: .line 58
            ldc "cassandra.commitlog_max_outstanding_replay_count"
            sipush 1024
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            putstatic org.apache.cassandra.db.commitlog.CommitLogReplayer.MAX_OUTSTANDING_REPLAY_COUNT:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.apache.cassandra.db.commitlog.CommitLog, org.apache.cassandra.db.commitlog.CommitLogPosition, java.util.Map<java.util.UUID, org.apache.cassandra.db.commitlog.IntervalSet<org.apache.cassandra.db.commitlog.CommitLogPosition>>, org.apache.cassandra.db.commitlog.CommitLogReplayer$ReplayFilter);
    descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLog;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;Ljava/util/Map;Lorg/apache/cassandra/db/commitlog/CommitLogReplayer$ReplayFilter;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
        start local 1 // org.apache.cassandra.db.commitlog.CommitLog commitLog
        start local 2 // org.apache.cassandra.db.commitlog.CommitLogPosition globalPosition
        start local 3 // java.util.Map cfPersisted
        start local 4 // org.apache.cassandra.db.commitlog.CommitLogReplayer$ReplayFilter replayFilter
         0: .line 76
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 68
            aload 0 /* this */
            lconst_0
            putfield org.apache.cassandra.db.commitlog.CommitLogReplayer.pendingMutationBytes:J
         2: .line 81
            aload 0 /* this */
            new org.cliffc.high_scale_lib.NonBlockingHashSet
            dup
            invokespecial org.cliffc.high_scale_lib.NonBlockingHashSet.<init>:()V
            putfield org.apache.cassandra.db.commitlog.CommitLogReplayer.keyspacesReplayed:Ljava/util/Set;
         3: .line 82
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield org.apache.cassandra.db.commitlog.CommitLogReplayer.futures:Ljava/util/Queue;
         4: .line 84
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putfield org.apache.cassandra.db.commitlog.CommitLogReplayer.replayedCount:Ljava/util/concurrent/atomic/AtomicInteger;
         5: .line 85
            aload 0 /* this */
            aload 3 /* cfPersisted */
            putfield org.apache.cassandra.db.commitlog.CommitLogReplayer.cfPersisted:Ljava/util/Map;
         6: .line 86
            aload 0 /* this */
            aload 2 /* globalPosition */
            putfield org.apache.cassandra.db.commitlog.CommitLogReplayer.globalPosition:Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
         7: .line 87
            aload 0 /* this */
            aload 4 /* replayFilter */
            putfield org.apache.cassandra.db.commitlog.CommitLogReplayer.replayFilter:Lorg/apache/cassandra/db/commitlog/CommitLogReplayer$ReplayFilter;
         8: .line 88
            aload 0 /* this */
            aload 1 /* commitLog */
            getfield org.apache.cassandra.db.commitlog.CommitLog.archiver:Lorg/apache/cassandra/db/commitlog/CommitLogArchiver;
            putfield org.apache.cassandra.db.commitlog.CommitLogReplayer.archiver:Lorg/apache/cassandra/db/commitlog/CommitLogArchiver;
         9: .line 89
            aload 0 /* this */
            new org.apache.cassandra.db.commitlog.CommitLogReader
            dup
            invokespecial org.apache.cassandra.db.commitlog.CommitLogReader.<init>:()V
            putfield org.apache.cassandra.db.commitlog.CommitLogReplayer.commitLogReader:Lorg/apache/cassandra/db/commitlog/CommitLogReader;
        10: .line 90
            return
        end local 4 // org.apache.cassandra.db.commitlog.CommitLogReplayer$ReplayFilter replayFilter
        end local 3 // java.util.Map cfPersisted
        end local 2 // org.apache.cassandra.db.commitlog.CommitLogPosition globalPosition
        end local 1 // org.apache.cassandra.db.commitlog.CommitLog commitLog
        end local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/apache/cassandra/db/commitlog/CommitLogReplayer;
            0   11     1       commitLog  Lorg/apache/cassandra/db/commitlog/CommitLog;
            0   11     2  globalPosition  Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            0   11     3     cfPersisted  Ljava/util/Map<Ljava/util/UUID;Lorg/apache/cassandra/db/commitlog/IntervalSet<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;>;
            0   11     4    replayFilter  Lorg/apache/cassandra/db/commitlog/CommitLogReplayer$ReplayFilter;
    Signature: (Lorg/apache/cassandra/db/commitlog/CommitLog;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;Ljava/util/Map<Ljava/util/UUID;Lorg/apache/cassandra/db/commitlog/IntervalSet<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;>;Lorg/apache/cassandra/db/commitlog/CommitLogReplayer$ReplayFilter;)V
    MethodParameters:
                Name  Flags
      commitLog       
      globalPosition  
      cfPersisted     
      replayFilter    

  public static org.apache.cassandra.db.commitlog.CommitLogReplayer construct(org.apache.cassandra.db.commitlog.CommitLog);
    descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLog;)Lorg/apache/cassandra/db/commitlog/CommitLogReplayer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=1
        start local 0 // org.apache.cassandra.db.commitlog.CommitLog commitLog
         0: .line 95
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* cfPersisted */
        start local 1 // java.util.Map cfPersisted
         1: .line 96
            invokestatic org.apache.cassandra.db.commitlog.CommitLogReplayer$ReplayFilter.create:()Lorg/apache/cassandra/db/commitlog/CommitLogReplayer$ReplayFilter;
            astore 2 /* replayFilter */
        start local 2 // org.apache.cassandra.db.commitlog.CommitLogReplayer$ReplayFilter replayFilter
         2: .line 98
            invokestatic org.apache.cassandra.db.ColumnFamilyStore.all:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 18
      StackMap locals: org.apache.cassandra.db.commitlog.CommitLog java.util.Map org.apache.cassandra.db.commitlog.CommitLogReplayer$ReplayFilter top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.ColumnFamilyStore
            astore 3 /* cfs */
        start local 3 // org.apache.cassandra.db.ColumnFamilyStore cfs
         4: .line 101
            aload 3 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
            invokestatic org.apache.cassandra.db.SystemKeyspace.getTruncatedPosition:(Ljava/util/UUID;)Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            astore 5 /* truncatedAt */
        start local 5 // org.apache.cassandra.db.commitlog.CommitLogPosition truncatedAt
         5: .line 102
            aload 5 /* truncatedAt */
            ifnull 16
         6: .line 107
            aload 0 /* commitLog */
            getfield org.apache.cassandra.db.commitlog.CommitLog.archiver:Lorg/apache/cassandra/db/commitlog/CommitLogArchiver;
            getfield org.apache.cassandra.db.commitlog.CommitLogArchiver.restorePointInTime:J
            lstore 6 /* restoreTime */
        start local 6 // long restoreTime
         7: .line 108
            aload 3 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
            invokestatic org.apache.cassandra.db.SystemKeyspace.getTruncatedAt:(Ljava/util/UUID;)J
            lstore 8 /* truncatedTime */
        start local 8 // long truncatedTime
         8: .line 109
            lload 8 /* truncatedTime */
            lload 6 /* restoreTime */
            lcmp
            ifle 16
         9: .line 111
            aload 2 /* replayFilter */
            aload 3 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.db.commitlog.CommitLogReplayer$ReplayFilter.includes:(Lorg/apache/cassandra/config/CFMetaData;)Z
            ifeq 16
        10: .line 113
            getstatic org.apache.cassandra.db.commitlog.CommitLogReplayer.logger:Lorg/slf4j/Logger;
            ldc "Restore point in time is before latest truncation of table {}.{}. Clearing truncation record."
        11: .line 114
            aload 3 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
        12: .line 115
            aload 3 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
        13: .line 113
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        14: .line 116
            aload 3 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
            invokestatic org.apache.cassandra.db.SystemKeyspace.removeTruncationRecord:(Ljava/util/UUID;)V
        15: .line 117
            aconst_null
            astore 5 /* truncatedAt */
        end local 8 // long truncatedTime
        end local 6 // long restoreTime
        16: .line 122
      StackMap locals: org.apache.cassandra.db.commitlog.CommitLog java.util.Map org.apache.cassandra.db.commitlog.CommitLogReplayer$ReplayFilter org.apache.cassandra.db.ColumnFamilyStore java.util.Iterator org.apache.cassandra.db.commitlog.CommitLogPosition
      StackMap stack:
            aload 3 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getLiveSSTables:()Ljava/util/Set;
            aload 5 /* truncatedAt */
            invokestatic org.apache.cassandra.db.commitlog.CommitLogReplayer.persistedIntervals:(Ljava/lang/Iterable;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;)Lorg/apache/cassandra/db/commitlog/IntervalSet;
            astore 6 /* filter */
        start local 6 // org.apache.cassandra.db.commitlog.IntervalSet filter
        17: .line 123
            aload 1 /* cfPersisted */
            aload 3 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
            aload 6 /* filter */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // org.apache.cassandra.db.commitlog.IntervalSet filter
        end local 5 // org.apache.cassandra.db.commitlog.CommitLogPosition truncatedAt
        end local 3 // org.apache.cassandra.db.ColumnFamilyStore cfs
        18: .line 98
      StackMap locals: org.apache.cassandra.db.commitlog.CommitLog java.util.Map org.apache.cassandra.db.commitlog.CommitLogReplayer$ReplayFilter top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        19: .line 125
            aload 1 /* cfPersisted */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokestatic org.apache.cassandra.db.commitlog.CommitLogReplayer.firstNotCovered:(Ljava/util/Collection;)Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            astore 3 /* globalPosition */
        start local 3 // org.apache.cassandra.db.commitlog.CommitLogPosition globalPosition
        20: .line 126
            getstatic org.apache.cassandra.db.commitlog.CommitLogReplayer.logger:Lorg/slf4j/Logger;
            ldc "Global replay position is {} from columnfamilies {}"
            aload 3 /* globalPosition */
            aload 1 /* cfPersisted */
            invokestatic org.apache.cassandra.utils.FBUtilities.toString:(Ljava/util/Map;)Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        21: .line 127
            new org.apache.cassandra.db.commitlog.CommitLogReplayer
            dup
            aload 0 /* commitLog */
            aload 3 /* globalPosition */
            aload 1 /* cfPersisted */
            aload 2 /* replayFilter */
            invokespecial org.apache.cassandra.db.commitlog.CommitLogReplayer.<init>:(Lorg/apache/cassandra/db/commitlog/CommitLog;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;Ljava/util/Map;Lorg/apache/cassandra/db/commitlog/CommitLogReplayer$ReplayFilter;)V
            areturn
        end local 3 // org.apache.cassandra.db.commitlog.CommitLogPosition globalPosition
        end local 2 // org.apache.cassandra.db.commitlog.CommitLogReplayer$ReplayFilter replayFilter
        end local 1 // java.util.Map cfPersisted
        end local 0 // org.apache.cassandra.db.commitlog.CommitLog commitLog
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0       commitLog  Lorg/apache/cassandra/db/commitlog/CommitLog;
            1   22     1     cfPersisted  Ljava/util/Map<Ljava/util/UUID;Lorg/apache/cassandra/db/commitlog/IntervalSet<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;>;
            2   22     2    replayFilter  Lorg/apache/cassandra/db/commitlog/CommitLogReplayer$ReplayFilter;
            4   18     3             cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            5   18     5     truncatedAt  Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            7   16     6     restoreTime  J
            8   16     8   truncatedTime  J
           17   18     6          filter  Lorg/apache/cassandra/db/commitlog/IntervalSet<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;
           20   22     3  globalPosition  Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
    MethodParameters:
           Name  Flags
      commitLog  

  public void replayPath(java.io.File, boolean);
    descriptor: (Ljava/io/File;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
        start local 1 // java.io.File file
        start local 2 // boolean tolerateTruncation
         0: .line 132
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.commitLogReader:Lorg/apache/cassandra/db/commitlog/CommitLogReader;
            aload 0 /* this */
            aload 1 /* file */
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.globalPosition:Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            iconst_m1
            iload 2 /* tolerateTruncation */
            invokevirtual org.apache.cassandra.db.commitlog.CommitLogReader.readCommitLogSegment:(Lorg/apache/cassandra/db/commitlog/CommitLogReadHandler;Ljava/io/File;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;IZ)V
         1: .line 133
            return
        end local 2 // boolean tolerateTruncation
        end local 1 // java.io.File file
        end local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/apache/cassandra/db/commitlog/CommitLogReplayer;
            0    2     1                file  Ljava/io/File;
            0    2     2  tolerateTruncation  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                    Name  Flags
      file                
      tolerateTruncation  

  public void replayFiles(java.io.File[]);
    descriptor: ([Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
        start local 1 // java.io.File[] clogs
         0: .line 137
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.commitLogReader:Lorg/apache/cassandra/db/commitlog/CommitLogReader;
            aload 0 /* this */
            aload 1 /* clogs */
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.globalPosition:Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            invokevirtual org.apache.cassandra.db.commitlog.CommitLogReader.readAllFiles:(Lorg/apache/cassandra/db/commitlog/CommitLogReadHandler;[Ljava/io/File;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;)V
         1: .line 138
            return
        end local 1 // java.io.File[] clogs
        end local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/cassandra/db/commitlog/CommitLogReplayer;
            0    2     1  clogs  [Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      clogs  

  public int blockForWrites();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
         0: .line 146
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.commitLogReader:Lorg/apache/cassandra/db/commitlog/CommitLogReader;
            invokevirtual org.apache.cassandra.db.commitlog.CommitLogReader.getInvalidMutations:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: org.apache.cassandra.db.commitlog.CommitLogReplayer top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* entry */
        start local 1 // java.util.Map$Entry entry
         2: .line 147
            getstatic org.apache.cassandra.db.commitlog.CommitLogReplayer.logger:Lorg/slf4j/Logger;
            ldc "Skipped {} mutations from unknown (probably removed) CF with id {}"
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            aload 1 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 1 // java.util.Map$Entry entry
         3: .line 146
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 150
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.futures:Ljava/util/Queue;
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFutures:(Ljava/lang/Iterable;)Ljava/util/List;
            pop
         5: .line 151
            getstatic org.apache.cassandra.db.commitlog.CommitLogReplayer.logger:Lorg/slf4j/Logger;
            ldc "Finished waiting on mutations from recovery"
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;)V
         6: .line 154
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.futures:Ljava/util/Queue;
            invokeinterface java.util.Queue.clear:()V
         7: .line 155
            iconst_0
            istore 1 /* flushingSystem */
        start local 1 // boolean flushingSystem
         8: .line 157
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* futures */
        start local 2 // java.util.List futures
         9: .line 158
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.keyspacesReplayed:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 14
      StackMap locals: org.apache.cassandra.db.commitlog.CommitLogReplayer int java.util.List top java.util.Iterator
      StackMap stack:
        10: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Keyspace
            astore 3 /* keyspace */
        start local 3 // org.apache.cassandra.db.Keyspace keyspace
        11: .line 160
            aload 3 /* keyspace */
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            ldc "system"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 161
            iconst_1
            istore 1 /* flushingSystem */
        13: .line 163
      StackMap locals: org.apache.cassandra.db.commitlog.CommitLogReplayer int java.util.List org.apache.cassandra.db.Keyspace java.util.Iterator
      StackMap stack:
            aload 2 /* futures */
            aload 3 /* keyspace */
            invokevirtual org.apache.cassandra.db.Keyspace.flush:()Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        end local 3 // org.apache.cassandra.db.Keyspace keyspace
        14: .line 158
      StackMap locals: org.apache.cassandra.db.commitlog.CommitLogReplayer int java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        15: .line 167
            iload 1 /* flushingSystem */
            ifne 17
        16: .line 168
            aload 2 /* futures */
            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;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.forceFlush:()Lcom/google/common/util/concurrent/ListenableFuture;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 170
      StackMap locals: org.apache.cassandra.db.commitlog.CommitLogReplayer int java.util.List
      StackMap stack:
            aload 2 /* futures */
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFutures:(Ljava/lang/Iterable;)Ljava/util/List;
            pop
        18: .line 172
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.replayedCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            ireturn
        end local 2 // java.util.List futures
        end local 1 // boolean flushingSystem
        end local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Lorg/apache/cassandra/db/commitlog/CommitLogReplayer;
            2    3     1           entry  Ljava/util/Map$Entry<Ljava/util/UUID;Ljava/util/concurrent/atomic/AtomicInteger;>;
            8   19     1  flushingSystem  Z
            9   19     2         futures  Ljava/util/List<Ljava/util/concurrent/Future<*>;>;
           11   14     3        keyspace  Lorg/apache/cassandra/db/Keyspace;

  public static org.apache.cassandra.db.commitlog.IntervalSet<org.apache.cassandra.db.commitlog.CommitLogPosition> persistedIntervals(java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>, org.apache.cassandra.db.commitlog.CommitLogPosition);
    descriptor: (Ljava/lang/Iterable;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;)Lorg/apache/cassandra/db/commitlog/IntervalSet;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.Iterable onDisk
        start local 1 // org.apache.cassandra.db.commitlog.CommitLogPosition truncatedAt
         0: .line 239
            new org.apache.cassandra.db.commitlog.IntervalSet$Builder
            dup
            invokespecial org.apache.cassandra.db.commitlog.IntervalSet$Builder.<init>:()V
            astore 2 /* builder */
        start local 2 // org.apache.cassandra.db.commitlog.IntervalSet$Builder builder
         1: .line 240
            aload 0 /* onDisk */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: java.lang.Iterable org.apache.cassandra.db.commitlog.CommitLogPosition org.apache.cassandra.db.commitlog.IntervalSet$Builder top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 3 /* reader */
        start local 3 // org.apache.cassandra.io.sstable.format.SSTableReader reader
         3: .line 241
            aload 2 /* builder */
            aload 3 /* reader */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableMetadata:()Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.commitLogIntervals:Lorg/apache/cassandra/db/commitlog/IntervalSet;
            invokevirtual org.apache.cassandra.db.commitlog.IntervalSet$Builder.addAll:(Lorg/apache/cassandra/db/commitlog/IntervalSet;)V
        end local 3 // org.apache.cassandra.io.sstable.format.SSTableReader reader
         4: .line 240
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 243
            aload 1 /* truncatedAt */
            ifnull 7
         6: .line 244
            aload 2 /* builder */
            getstatic org.apache.cassandra.db.commitlog.CommitLogPosition.NONE:Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            aload 1 /* truncatedAt */
            invokevirtual org.apache.cassandra.db.commitlog.IntervalSet$Builder.add:(Ljava/lang/Comparable;Ljava/lang/Comparable;)V
         7: .line 245
      StackMap locals: java.lang.Iterable org.apache.cassandra.db.commitlog.CommitLogPosition org.apache.cassandra.db.commitlog.IntervalSet$Builder
      StackMap stack:
            aload 2 /* builder */
            invokevirtual org.apache.cassandra.db.commitlog.IntervalSet$Builder.build:()Lorg/apache/cassandra/db/commitlog/IntervalSet;
            areturn
        end local 2 // org.apache.cassandra.db.commitlog.IntervalSet$Builder builder
        end local 1 // org.apache.cassandra.db.commitlog.CommitLogPosition truncatedAt
        end local 0 // java.lang.Iterable onDisk
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0       onDisk  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0    8     1  truncatedAt  Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            1    8     2      builder  Lorg/apache/cassandra/db/commitlog/IntervalSet$Builder<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;
            3    4     3       reader  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;)Lorg/apache/cassandra/db/commitlog/IntervalSet<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;
    MethodParameters:
             Name  Flags
      onDisk       
      truncatedAt  

  public static org.apache.cassandra.db.commitlog.CommitLogPosition firstNotCovered(java.util.Collection<org.apache.cassandra.db.commitlog.IntervalSet<org.apache.cassandra.db.commitlog.CommitLogPosition>>);
    descriptor: (Ljava/util/Collection;)Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Collection ranges
         0: .line 262
            aload 0 /* ranges */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
         1: .line 263
            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/CommitLogReplayer.lambda$0(Lorg/apache/cassandra/db/commitlog/IntervalSet;)Lorg/apache/cassandra/db/commitlog/CommitLogPosition; (6)
                  (Lorg/apache/cassandra/db/commitlog/IntervalSet;)Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 264
            invokestatic com.google.common.collect.Ordering.natural:()Lcom/google/common/collect/Ordering;
            invokeinterface java.util.stream.Stream.min:(Ljava/util/Comparator;)Ljava/util/Optional;
         3: .line 265
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.commitlog.CommitLogPosition
         4: .line 262
            areturn
        end local 0 // java.util.Collection ranges
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  ranges  Ljava/util/Collection<Lorg/apache/cassandra/db/commitlog/IntervalSet<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;>;
    Signature: (Ljava/util/Collection<Lorg/apache/cassandra/db/commitlog/IntervalSet<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;>;)Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
    MethodParameters:
        Name  Flags
      ranges  

  private boolean shouldReplay(java.util.UUID, org.apache.cassandra.db.commitlog.CommitLogPosition);
    descriptor: (Ljava/util/UUID;Lorg/apache/cassandra/db/commitlog/CommitLogPosition;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
        start local 1 // java.util.UUID cfId
        start local 2 // org.apache.cassandra.db.commitlog.CommitLogPosition position
         0: .line 351
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.cfPersisted:Ljava/util/Map;
            aload 1 /* cfId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.commitlog.IntervalSet
            aload 2 /* position */
            invokevirtual org.apache.cassandra.db.commitlog.IntervalSet.contains:(Ljava/lang/Comparable;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 2 // org.apache.cassandra.db.commitlog.CommitLogPosition position
        end local 1 // java.util.UUID cfId
        end local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/apache/cassandra/db/commitlog/CommitLogReplayer;
            0    3     1      cfId  Ljava/util/UUID;
            0    3     2  position  Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
    MethodParameters:
          Name  Flags
      cfId      
      position  

  protected boolean pointInTimeExceeded(org.apache.cassandra.db.Mutation);
    descriptor: (Lorg/apache/cassandra/db/Mutation;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
        start local 1 // org.apache.cassandra.db.Mutation fm
         0: .line 356
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.archiver:Lorg/apache/cassandra/db/commitlog/CommitLogArchiver;
            getfield org.apache.cassandra.db.commitlog.CommitLogArchiver.restorePointInTime:J
            lstore 2 /* restoreTarget */
        start local 2 // long restoreTarget
         1: .line 358
            aload 1 /* fm */
            invokevirtual org.apache.cassandra.db.Mutation.getPartitionUpdates:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 5
      StackMap locals: org.apache.cassandra.db.commitlog.CommitLogReplayer org.apache.cassandra.db.Mutation long top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.partitions.PartitionUpdate
            astore 4 /* upd */
        start local 4 // org.apache.cassandra.db.partitions.PartitionUpdate upd
         3: .line 360
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.archiver:Lorg/apache/cassandra/db/commitlog/CommitLogArchiver;
            getfield org.apache.cassandra.db.commitlog.CommitLogArchiver.precision:Ljava/util/concurrent/TimeUnit;
            aload 4 /* upd */
            invokevirtual org.apache.cassandra.db.partitions.PartitionUpdate.maxTimestamp:()J
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            lload 2 /* restoreTarget */
            lcmp
            ifle 5
         4: .line 361
            iconst_1
            ireturn
        end local 4 // org.apache.cassandra.db.partitions.PartitionUpdate upd
         5: .line 358
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 363
            iconst_0
            ireturn
        end local 2 // long restoreTarget
        end local 1 // org.apache.cassandra.db.Mutation fm
        end local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/apache/cassandra/db/commitlog/CommitLogReplayer;
            0    7     1             fm  Lorg/apache/cassandra/db/Mutation;
            1    7     2  restoreTarget  J
            3    5     4            upd  Lorg/apache/cassandra/db/partitions/PartitionUpdate;
    MethodParameters:
      Name  Flags
      fm    

  public void handleMutation(org.apache.cassandra.db.Mutation, int, int, org.apache.cassandra.db.commitlog.CommitLogDescriptor);
    descriptor: (Lorg/apache/cassandra/db/Mutation;IILorg/apache/cassandra/db/commitlog/CommitLogDescriptor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
        start local 1 // org.apache.cassandra.db.Mutation m
        start local 2 // int size
        start local 3 // int entryLocation
        start local 4 // org.apache.cassandra.db.commitlog.CommitLogDescriptor desc
         0: .line 368
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.pendingMutationBytes:J
            iload 2 /* size */
            i2l
            ladd
            putfield org.apache.cassandra.db.commitlog.CommitLogReplayer.pendingMutationBytes:J
         1: .line 369
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.futures:Ljava/util/Queue;
            getstatic org.apache.cassandra.db.commitlog.CommitLogReplayer.mutationInitiator:Lorg/apache/cassandra/db/commitlog/CommitLogReplayer$MutationInitiator;
            aload 1 /* m */
         2: .line 370
            aload 4 /* desc */
            getfield org.apache.cassandra.db.commitlog.CommitLogDescriptor.id:J
         3: .line 371
            iload 2 /* size */
         4: .line 372
            iload 3 /* entryLocation */
         5: .line 373
            aload 0 /* this */
         6: .line 369
            invokevirtual org.apache.cassandra.db.commitlog.CommitLogReplayer$MutationInitiator.initiateMutation:(Lorg/apache/cassandra/db/Mutation;JIILorg/apache/cassandra/db/commitlog/CommitLogReplayer;)Ljava/util/concurrent/Future;
            invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
            pop
         7: .line 376
            goto 9
         8: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.pendingMutationBytes:J
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.futures:Ljava/util/Queue;
            invokeinterface java.util.Queue.poll:()Ljava/lang/Object;
            checkcast java.util.concurrent.Future
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFuture:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            i2l
            lsub
            putfield org.apache.cassandra.db.commitlog.CommitLogReplayer.pendingMutationBytes:J
         9: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.futures:Ljava/util/Queue;
            invokeinterface java.util.Queue.size:()I
            getstatic org.apache.cassandra.db.commitlog.CommitLogReplayer.MAX_OUTSTANDING_REPLAY_COUNT:I
            if_icmpgt 8
        10: .line 377
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.pendingMutationBytes:J
            getstatic org.apache.cassandra.db.commitlog.CommitLogReplayer.MAX_OUTSTANDING_REPLAY_BYTES:J
            lcmp
            ifgt 8
        11: .line 378
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.futures:Ljava/util/Queue;
            invokeinterface java.util.Queue.isEmpty:()Z
            ifne 12
            aload 0 /* this */
            getfield org.apache.cassandra.db.commitlog.CommitLogReplayer.futures:Ljava/util/Queue;
            invokeinterface java.util.Queue.peek:()Ljava/lang/Object;
            checkcast java.util.concurrent.Future
            invokeinterface java.util.concurrent.Future.isDone:()Z
            ifne 8
        12: .line 382
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.apache.cassandra.db.commitlog.CommitLogDescriptor desc
        end local 3 // int entryLocation
        end local 2 // int size
        end local 1 // org.apache.cassandra.db.Mutation m
        end local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0           this  Lorg/apache/cassandra/db/commitlog/CommitLogReplayer;
            0   13     1              m  Lorg/apache/cassandra/db/Mutation;
            0   13     2           size  I
            0   13     3  entryLocation  I
            0   13     4           desc  Lorg/apache/cassandra/db/commitlog/CommitLogDescriptor;
    MethodParameters:
               Name  Flags
      m              
      size           
      entryLocation  
      desc           

  public boolean shouldSkipSegmentOnError(org.apache.cassandra.db.commitlog.CommitLogReadHandler$CommitLogReadException);
    descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLogReadHandler$CommitLogReadException;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
        start local 1 // org.apache.cassandra.db.commitlog.CommitLogReadHandler$CommitLogReadException exception
         0: .line 386
            aload 1 /* exception */
            getfield org.apache.cassandra.db.commitlog.CommitLogReadHandler$CommitLogReadException.permissible:Z
            ifeq 2
         1: .line 387
            getstatic org.apache.cassandra.db.commitlog.CommitLogReplayer.logger:Lorg/slf4j/Logger;
            ldc "Ignoring commit log replay error likely due to incomplete flush to disk"
            aload 1 /* exception */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
            goto 7
         2: .line 388
      StackMap locals:
      StackMap stack:
            ldc "cassandra.commitlog.ignorereplayerrors"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            ifeq 4
         3: .line 389
            getstatic org.apache.cassandra.db.commitlog.CommitLogReplayer.logger:Lorg/slf4j/Logger;
            ldc "Ignoring commit log replay error"
            aload 1 /* exception */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
            goto 7
         4: .line 390
      StackMap locals:
      StackMap stack:
            ldc "Failed commit log replay"
            aload 1 /* exception */
            invokestatic org.apache.cassandra.db.commitlog.CommitLog.handleCommitError:(Ljava/lang/String;Ljava/lang/Throwable;)Z
            ifne 7
         5: .line 392
            getstatic org.apache.cassandra.db.commitlog.CommitLogReplayer.logger:Lorg/slf4j/Logger;
            ldc "Replay stopped. If you wish to override this error and continue starting the node ignoring commit log replay problems, specify -Dcassandra.commitlog.ignorereplayerrors=true on the command line"
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
         6: .line 395
            new org.apache.cassandra.db.commitlog.CommitLogReplayer$CommitLogReplayException
            dup
            aload 1 /* exception */
            invokevirtual org.apache.cassandra.db.commitlog.CommitLogReadHandler$CommitLogReadException.getMessage:()Ljava/lang/String;
            aload 1 /* exception */
            invokespecial org.apache.cassandra.db.commitlog.CommitLogReplayer$CommitLogReplayException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
         7: .line 397
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.apache.cassandra.db.commitlog.CommitLogReadHandler$CommitLogReadException exception
        end local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/apache/cassandra/db/commitlog/CommitLogReplayer;
            0    8     1  exception  Lorg/apache/cassandra/db/commitlog/CommitLogReadHandler$CommitLogReadException;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      exception  

  public void handleUnrecoverableError(org.apache.cassandra.db.commitlog.CommitLogReadHandler$CommitLogReadException);
    descriptor: (Lorg/apache/cassandra/db/commitlog/CommitLogReadHandler$CommitLogReadException;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
        start local 1 // org.apache.cassandra.db.commitlog.CommitLogReadHandler$CommitLogReadException exception
         0: .line 406
            aload 0 /* this */
            aload 1 /* exception */
            invokevirtual org.apache.cassandra.db.commitlog.CommitLogReplayer.shouldSkipSegmentOnError:(Lorg/apache/cassandra/db/commitlog/CommitLogReadHandler$CommitLogReadException;)Z
            pop
         1: .line 407
            return
        end local 1 // org.apache.cassandra.db.commitlog.CommitLogReadHandler$CommitLogReadException exception
        end local 0 // org.apache.cassandra.db.commitlog.CommitLogReplayer this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/cassandra/db/commitlog/CommitLogReplayer;
            0    2     1  exception  Lorg/apache/cassandra/db/commitlog/CommitLogReadHandler$CommitLogReadException;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      exception  

  private static org.apache.cassandra.db.commitlog.CommitLogPosition lambda$0(org.apache.cassandra.db.commitlog.IntervalSet);
    descriptor: (Lorg/apache/cassandra/db/commitlog/IntervalSet;)Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.commitlog.IntervalSet intervals
         0: .line 263
            aload 0 /* intervals */
            invokevirtual org.apache.cassandra.db.commitlog.IntervalSet.ends:()Ljava/util/Collection;
            getstatic org.apache.cassandra.db.commitlog.CommitLogPosition.NONE:Lorg/apache/cassandra/db/commitlog/CommitLogPosition;
            invokestatic com.google.common.collect.Iterables.getFirst:(Ljava/lang/Iterable;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.cassandra.db.commitlog.CommitLogPosition
            areturn
        end local 0 // org.apache.cassandra.db.commitlog.IntervalSet intervals
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  intervals  Lorg/apache/cassandra/db/commitlog/IntervalSet<Lorg/apache/cassandra/db/commitlog/CommitLogPosition;>;
}
SourceFile: "CommitLogReplayer.java"
NestMembers:
  org.apache.cassandra.db.commitlog.CommitLogReplayer$AlwaysReplayFilter  org.apache.cassandra.db.commitlog.CommitLogReplayer$CommitLogReplayException  org.apache.cassandra.db.commitlog.CommitLogReplayer$CustomReplayFilter  org.apache.cassandra.db.commitlog.CommitLogReplayer$CustomReplayFilter$1  org.apache.cassandra.db.commitlog.CommitLogReplayer$MutationInitiator  org.apache.cassandra.db.commitlog.CommitLogReplayer$MutationInitiator$1  org.apache.cassandra.db.commitlog.CommitLogReplayer$ReplayFilter
InnerClasses:
  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 CommitLogReadException = org.apache.cassandra.db.commitlog.CommitLogReadHandler$CommitLogReadException of org.apache.cassandra.db.commitlog.CommitLogReadHandler
  private AlwaysReplayFilter = org.apache.cassandra.db.commitlog.CommitLogReplayer$AlwaysReplayFilter of org.apache.cassandra.db.commitlog.CommitLogReplayer
  public CommitLogReplayException = org.apache.cassandra.db.commitlog.CommitLogReplayer$CommitLogReplayException of org.apache.cassandra.db.commitlog.CommitLogReplayer
  private CustomReplayFilter = org.apache.cassandra.db.commitlog.CommitLogReplayer$CustomReplayFilter of org.apache.cassandra.db.commitlog.CommitLogReplayer
  public MutationInitiator = org.apache.cassandra.db.commitlog.CommitLogReplayer$MutationInitiator of org.apache.cassandra.db.commitlog.CommitLogReplayer
  abstract ReplayFilter = org.apache.cassandra.db.commitlog.CommitLogReplayer$ReplayFilter of org.apache.cassandra.db.commitlog.CommitLogReplayer
  public Builder = org.apache.cassandra.db.commitlog.IntervalSet$Builder of org.apache.cassandra.db.commitlog.IntervalSet