public class org.apache.cassandra.db.compaction.CompactionTask extends org.apache.cassandra.db.compaction.AbstractCompactionTask
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.db.compaction.CompactionTask
  super_class: org.apache.cassandra.db.compaction.AbstractCompactionTask
{
  protected static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected final int gcBefore;
    descriptor: I
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final boolean keepOriginals;
    descriptor: Z
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected static long totalBytesCompacted;
    descriptor: J
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC

  private org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutorStatsCollector collector;
    descriptor: Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutorStatsCollector;
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 51
            ldc Lorg/apache/cassandra/db/compaction/CompactionTask;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.cassandra.db.compaction.CompactionTask.$assertionsDisabled:Z
         3: .line 53
            ldc Lorg/apache/cassandra/db/compaction/CompactionTask;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.db.compaction.CompactionTask.logger:Lorg/slf4j/Logger;
         4: .line 56
            lconst_0
            putstatic org.apache.cassandra.db.compaction.CompactionTask.totalBytesCompacted:J
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.db.lifecycle.LifecycleTransaction, int);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.apache.cassandra.db.compaction.CompactionTask this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        start local 3 // int gcBefore
         0: .line 61
            aload 0 /* this */
            aload 1 /* cfs */
            aload 2 /* txn */
            iload 3 /* gcBefore */
            iconst_0
            invokespecial org.apache.cassandra.db.compaction.CompactionTask.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;IZ)V
         1: .line 62
            return
        end local 3 // int gcBefore
        end local 2 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionTask this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/db/compaction/CompactionTask;
            0    2     1       cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    2     2       txn  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            0    2     3  gcBefore  I
    MethodParameters:
          Name  Flags
      cfs       
      txn       
      gcBefore  

  public void <init>(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.db.lifecycle.LifecycleTransaction, int, boolean, boolean);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;IZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // org.apache.cassandra.db.compaction.CompactionTask this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        start local 3 // int gcBefore
        start local 4 // boolean offline
        start local 5 // boolean keepOriginals
         0: .line 67
            aload 0 /* this */
            aload 1 /* cfs */
            aload 2 /* txn */
            iload 3 /* gcBefore */
            iload 5 /* keepOriginals */
            invokespecial org.apache.cassandra.db.compaction.CompactionTask.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;IZ)V
         1: .line 68
            return
        end local 5 // boolean keepOriginals
        end local 4 // boolean offline
        end local 3 // int gcBefore
        end local 2 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionTask this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/cassandra/db/compaction/CompactionTask;
            0    2     1            cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    2     2            txn  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            0    2     3       gcBefore  I
            0    2     4        offline  Z
            0    2     5  keepOriginals  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
               Name  Flags
      cfs            
      txn            
      gcBefore       
      offline        
      keepOriginals  

  public void <init>(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.db.lifecycle.LifecycleTransaction, int, boolean);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.apache.cassandra.db.compaction.CompactionTask this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        start local 3 // int gcBefore
        start local 4 // boolean keepOriginals
         0: .line 72
            aload 0 /* this */
            aload 1 /* cfs */
            aload 2 /* txn */
            invokespecial org.apache.cassandra.db.compaction.AbstractCompactionTask.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;)V
         1: .line 73
            aload 0 /* this */
            iload 3 /* gcBefore */
            putfield org.apache.cassandra.db.compaction.CompactionTask.gcBefore:I
         2: .line 74
            aload 0 /* this */
            iload 4 /* keepOriginals */
            putfield org.apache.cassandra.db.compaction.CompactionTask.keepOriginals:Z
         3: .line 75
            return
        end local 4 // boolean keepOriginals
        end local 3 // int gcBefore
        end local 2 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionTask this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/apache/cassandra/db/compaction/CompactionTask;
            0    4     1            cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    4     2            txn  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            0    4     3       gcBefore  I
            0    4     4  keepOriginals  Z
    MethodParameters:
               Name  Flags
      cfs            
      txn            
      gcBefore       
      keepOriginals  

  public static synchronized long addToTotalBytesCompacted(long);
    descriptor: (J)J
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long bytesCompacted
         0: .line 79
            getstatic org.apache.cassandra.db.compaction.CompactionTask.totalBytesCompacted:J
            lload 0 /* bytesCompacted */
            ladd
            dup2
            putstatic org.apache.cassandra.db.compaction.CompactionTask.totalBytesCompacted:J
            lreturn
        end local 0 // long bytesCompacted
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0  bytesCompacted  J
    MethodParameters:
                Name  Flags
      bytesCompacted  

  protected int executeInternal(org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutorStatsCollector);
    descriptor: (Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutorStatsCollector;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionTask this
        start local 1 // org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutorStatsCollector collector
         0: .line 84
            aload 0 /* this */
            aload 1 /* collector */
            putfield org.apache.cassandra.db.compaction.CompactionTask.collector:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutorStatsCollector;
         1: .line 85
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionTask.run:()V
         2: .line 86
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            ireturn
        end local 1 // org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutorStatsCollector collector
        end local 0 // org.apache.cassandra.db.compaction.CompactionTask this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/apache/cassandra/db/compaction/CompactionTask;
            0    3     1  collector  Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutorStatsCollector;
    MethodParameters:
           Name  Flags
      collector  

  public boolean reduceScopeForLimitedSpace(long);
    descriptor: (J)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionTask this
        start local 1 // long expectedSize
         0: .line 91
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionTask.partialCompactionsAcceptable:()Z
            ifeq 8
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            iconst_1
            if_icmple 8
         1: .line 94
            getstatic org.apache.cassandra.db.compaction.CompactionTask.logger:Lorg/slf4j/Logger;
            ldc "insufficient space to compact all requested files. {}MB required, {}"
         2: .line 95
            lload 1 /* expectedSize */
            l2f
            ldc 1024.0
            fdiv
            ldc 1024.0
            fdiv
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
         3: .line 96
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            ldc ", "
            invokestatic org.apache.commons.lang3.StringUtils.join:(Ljava/lang/Iterable;Ljava/lang/String;)Ljava/lang/String;
         4: .line 94
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 100
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getMaxSizeFile:(Ljava/lang/Iterable;)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            astore 3 /* removedSSTable */
        start local 3 // org.apache.cassandra.io.sstable.format.SSTableReader removedSSTable
         6: .line 101
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            aload 3 /* removedSSTable */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.cancel:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;)V
         7: .line 102
            iconst_1
            ireturn
        end local 3 // org.apache.cassandra.io.sstable.format.SSTableReader removedSSTable
         8: .line 104
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // long expectedSize
        end local 0 // org.apache.cassandra.db.compaction.CompactionTask this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lorg/apache/cassandra/db/compaction/CompactionTask;
            0    9     1    expectedSize  J
            6    8     3  removedSSTable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    MethodParameters:
              Name  Flags
      expectedSize  

  protected void runMayThrow();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=11, locals=41, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionTask this
         0: .line 116
            getstatic org.apache.cassandra.db.compaction.CompactionTask.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 118
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 3
         2: .line 119
            return
         3: .line 123
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            astore 1 /* strategy */
        start local 1 // org.apache.cassandra.db.compaction.CompactionStrategyManager strategy
         4: .line 125
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.isSnapshotBeforeCompaction:()Z
            ifeq 6
         5: .line 126
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            new java.lang.StringBuilder
            dup
            invokestatic java.lang.System.currentTimeMillis:()J
            invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "-compact-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.snapshotWithoutFlush:(Ljava/lang/String;)V
         6: .line 131
      StackMap locals: org.apache.cassandra.db.compaction.CompactionStrategyManager
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionTask.checkAvailableDiskSpace:()V
         7: .line 134
            getstatic org.apache.cassandra.db.compaction.CompactionTask.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            new org.apache.cassandra.db.compaction.CompactionTask$1
            dup
            aload 0 /* this */
            invokespecial org.apache.cassandra.db.compaction.CompactionTask$1.<init>:(Lorg/apache/cassandra/db/compaction/CompactionTask;)V
            invokestatic com.google.common.collect.Iterables.any:(Ljava/lang/Iterable;Lcom/google/common/base/Predicate;)Z
         8: .line 141
            ifeq 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.opId:()Ljava/util/UUID;
            astore 2 /* taskId */
        start local 2 // java.util.UUID taskId
        10: .line 148
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 3 /* ssTableLoggerMsg */
        start local 3 // java.lang.StringBuilder ssTableLoggerMsg
        11: .line 149
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
        12: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 4 /* sstr */
        start local 4 // org.apache.cassandra.io.sstable.format.SSTableReader sstr
        13: .line 151
            aload 3 /* ssTableLoggerMsg */
            ldc "%s:level=%d, "
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* sstr */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getFilename:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 4 /* sstr */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableLevel:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // org.apache.cassandra.io.sstable.format.SSTableReader sstr
        14: .line 149
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        15: .line 153
            aload 3 /* ssTableLoggerMsg */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 155
            getstatic org.apache.cassandra.db.compaction.CompactionTask.logger:Lorg/slf4j/Logger;
            ldc "Compacting ({}) {}"
            aload 2 /* taskId */
            aload 3 /* ssTableLoggerMsg */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        17: .line 157
            getstatic org.apache.cassandra.db.compaction.CompactionManager.instance:Lorg/apache/cassandra/db/compaction/CompactionManager;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.getRateLimiter:()Lcom/google/common/util/concurrent/RateLimiter;
            astore 4 /* limiter */
        start local 4 // com.google.common.util.concurrent.RateLimiter limiter
        18: .line 158
            invokestatic java.lang.System.nanoTime:()J
            lstore 5 /* start */
        start local 5 // long start
        19: .line 159
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 7 /* startTime */
        start local 7 // long startTime
        20: .line 160
            lconst_0
            lstore 9 /* totalKeysWritten */
        start local 9 // long totalKeysWritten
        21: .line 161
            lconst_0
            lstore 11 /* estimatedKeys */
        start local 11 // long estimatedKeys
        22: .line 163
            aconst_null
            astore 15
            aconst_null
            astore 16
        23: aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokevirtual org.apache.cassandra.db.compaction.CompactionTask.getCompactionController:(Ljava/util/Set;)Lorg/apache/cassandra/db/compaction/CompactionController;
            astore 17 /* controller */
        start local 17 // org.apache.cassandra.db.compaction.CompactionController controller
        24: .line 165
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            aload 17 /* controller */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.getFullyExpiredSSTables:()Ljava/util/Set;
            invokestatic com.google.common.collect.Sets.difference:(Ljava/util/Set;Ljava/util/Set;)Lcom/google/common/collect/Sets$SetView;
            astore 18 /* actuallyCompact */
        start local 18 // java.util.Set actuallyCompact
        25: .line 174
            invokestatic org.apache.cassandra.utils.FBUtilities.nowInSeconds:()I
            istore 23 /* nowInSec */
        start local 23 // int nowInSec
        26: .line 175
            aconst_null
            astore 24
            aconst_null
            astore 25
        27: aload 18 /* actuallyCompact */
            invokestatic org.apache.cassandra.utils.concurrent.Refs.ref:(Ljava/lang/Iterable;)Lorg/apache/cassandra/utils/concurrent/Refs;
            astore 26 /* refs */
        start local 26 // org.apache.cassandra.utils.concurrent.Refs refs
        28: .line 176
            aload 1 /* strategy */
            aload 18 /* actuallyCompact */
            invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.getScanners:(Ljava/util/Collection;)Lorg/apache/cassandra/db/compaction/AbstractCompactionStrategy$ScannerList;
            astore 27 /* scanners */
        start local 27 // org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList scanners
        29: .line 177
            new org.apache.cassandra.db.compaction.CompactionIterator
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.compactionType:Lorg/apache/cassandra/db/compaction/OperationType;
            aload 27 /* scanners */
            getfield org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.scanners:Ljava/util/List;
            aload 17 /* controller */
            iload 23 /* nowInSec */
            aload 2 /* taskId */
            invokespecial org.apache.cassandra.db.compaction.CompactionIterator.<init>:(Lorg/apache/cassandra/db/compaction/OperationType;Ljava/util/List;Lorg/apache/cassandra/db/compaction/CompactionController;ILjava/util/UUID;)V
            astore 28 /* ci */
        start local 28 // org.apache.cassandra.db.compaction.CompactionIterator ci
        30: .line 179
            lload 5 /* start */
            lstore 29 /* lastCheckObsoletion */
        start local 29 // long lastCheckObsoletion
        31: .line 180
            aload 27 /* scanners */
            invokevirtual org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.getTotalCompressedSize:()J
            lstore 13 /* inputSizeBytes */
        start local 13 // long inputSizeBytes
        32: .line 181
            aload 27 /* scanners */
            invokevirtual org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.getCompressionRatio:()D
            dstore 31 /* compressionRatio */
        start local 31 // double compressionRatio
        33: .line 182
            dload 31 /* compressionRatio */
            ldc -1.0
            dcmpl
            ifne 35
        34: .line 183
            dconst_1
            dstore 31 /* compressionRatio */
        35: .line 185
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long long java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionController java.util.Set top top top top int java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList org.apache.cassandra.db.compaction.CompactionIterator long double
      StackMap stack:
            lconst_0
            lstore 33 /* lastBytesScanned */
        start local 33 // long lastBytesScanned
        36: .line 187
            aload 17 /* controller */
            getfield org.apache.cassandra.db.compaction.CompactionController.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.isActive:()Z
            ifne 38
        37: .line 188
            new org.apache.cassandra.db.compaction.CompactionInterruptedException
            dup
            aload 28 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.getCompactionInfo:()Lorg/apache/cassandra/db/compaction/CompactionInfo;
            invokespecial org.apache.cassandra.db.compaction.CompactionInterruptedException.<init>:(Lorg/apache/cassandra/db/compaction/CompactionInfo;)V
            athrow
        38: .line 190
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.collector:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutorStatsCollector;
            ifnull 40
        39: .line 191
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.collector:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutorStatsCollector;
            aload 28 /* ci */
            invokeinterface org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutorStatsCollector.beginCompaction:(Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;)V
        40: .line 193
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 35
            aconst_null
            astore 36
        41: aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionTask.getDirectories:()Lorg/apache/cassandra/db/Directories;
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            aload 18 /* actuallyCompact */
            invokevirtual org.apache.cassandra.db.compaction.CompactionTask.getCompactionAwareWriter:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/Directories;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;Ljava/util/Set;)Lorg/apache/cassandra/db/compaction/writers/CompactionAwareWriter;
            astore 37 /* writer */
        start local 37 // org.apache.cassandra.db.compaction.writers.CompactionAwareWriter writer
        42: .line 195
            aload 37 /* writer */
            invokevirtual org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.estimatedKeys:()J
            lstore 11 /* estimatedKeys */
        43: .line 196
            goto 54
        44: .line 198
      StackMap locals: java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.writers.CompactionAwareWriter
      StackMap stack:
            aload 28 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.isStopRequested:()Z
            ifeq 46
        45: .line 199
            new org.apache.cassandra.db.compaction.CompactionInterruptedException
            dup
            aload 28 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.getCompactionInfo:()Lorg/apache/cassandra/db/compaction/CompactionInfo;
            invokespecial org.apache.cassandra.db.compaction.CompactionInterruptedException.<init>:(Lorg/apache/cassandra/db/compaction/CompactionInfo;)V
            athrow
        46: .line 201
      StackMap locals:
      StackMap stack:
            aload 37 /* writer */
            aload 28 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.next:()Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            invokevirtual org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.append:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Z
            ifeq 48
        47: .line 202
            lload 9 /* totalKeysWritten */
            lconst_1
            ladd
            lstore 9 /* totalKeysWritten */
        48: .line 205
      StackMap locals:
      StackMap stack:
            aload 27 /* scanners */
            invokevirtual org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.getTotalBytesScanned:()J
            lstore 38 /* bytesScanned */
        start local 38 // long bytesScanned
        49: .line 208
            aload 4 /* limiter */
            lload 38 /* bytesScanned */
            lload 33 /* lastBytesScanned */
            dload 31 /* compressionRatio */
            invokestatic org.apache.cassandra.db.compaction.CompactionManager.compactionRateLimiterAcquire:(Lcom/google/common/util/concurrent/RateLimiter;JJD)V
        50: .line 210
            lload 38 /* bytesScanned */
            lstore 33 /* lastBytesScanned */
        51: .line 212
            invokestatic java.lang.System.nanoTime:()J
            lload 29 /* lastCheckObsoletion */
            lsub
            getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
            lconst_1
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            lcmp
            ifle 54
        52: .line 214
            aload 17 /* controller */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.maybeRefreshOverlaps:()V
        53: .line 215
            invokestatic java.lang.System.nanoTime:()J
            lstore 29 /* lastCheckObsoletion */
        end local 38 // long bytesScanned
        54: .line 196
      StackMap locals:
      StackMap stack:
            aload 28 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.hasNext:()Z
            ifne 44
        55: .line 220
            aload 37 /* writer */
            invokevirtual org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.finish:()Ljava/util/Collection;
            astore 19 /* newSStables */
        start local 19 // java.util.Collection newSStables
        56: .line 221
            aload 37 /* writer */
            ifnull 68
            aload 37 /* writer */
            invokevirtual org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.close:()V
            goto 68
        end local 19 // java.util.Collection newSStables
      StackMap locals:
      StackMap stack: java.lang.Throwable
        57: astore 35
            aload 37 /* writer */
            ifnull 58
            aload 37 /* writer */
            invokevirtual org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.close:()V
        end local 37 // org.apache.cassandra.db.compaction.writers.CompactionAwareWriter writer
      StackMap locals:
      StackMap stack:
        58: aload 35
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        59: astore 36
            aload 35
            ifnonnull 60
            aload 36
            astore 35
            goto 61
      StackMap locals:
      StackMap stack:
        60: aload 35
            aload 36
            if_acmpeq 61
            aload 35
            aload 36
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        61: aload 35
            athrow
        62: .line 223
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long long java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionController java.util.Set top top top top int java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList org.apache.cassandra.db.compaction.CompactionIterator long double long
      StackMap stack: java.lang.Throwable
            astore 40
        63: .line 224
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.collector:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutorStatsCollector;
            ifnull 65
        64: .line 225
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.collector:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutorStatsCollector;
            aload 28 /* ci */
            invokeinterface org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutorStatsCollector.finishCompaction:(Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;)V
        65: .line 227
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long long java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionController java.util.Set top top top top int java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList org.apache.cassandra.db.compaction.CompactionIterator long double long top top top top top java.lang.Throwable
      StackMap stack:
            aload 28 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.getMergedRowCounts:()[J
            astore 20 /* mergedRowCounts */
        start local 20 // long[] mergedRowCounts
        66: .line 229
            aload 28 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.getTotalSourceCQLRows:()J
            lstore 21 /* totalSourceCQLRows */
        start local 21 // long totalSourceCQLRows
        67: .line 230
            aload 40
            athrow
        end local 21 // long totalSourceCQLRows
        end local 20 // long[] mergedRowCounts
        start local 19 // java.util.Collection newSStables
        68: .line 224
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long long java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionController java.util.Set java.util.Collection top top top int java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList org.apache.cassandra.db.compaction.CompactionIterator long double long
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.collector:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutorStatsCollector;
            ifnull 70
        69: .line 225
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.collector:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutorStatsCollector;
            aload 28 /* ci */
            invokeinterface org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutorStatsCollector.finishCompaction:(Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;)V
        70: .line 227
      StackMap locals:
      StackMap stack:
            aload 28 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.getMergedRowCounts:()[J
            astore 20 /* mergedRowCounts */
        start local 20 // long[] mergedRowCounts
        71: .line 229
            aload 28 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.getTotalSourceCQLRows:()J
            lstore 21 /* totalSourceCQLRows */
        end local 33 // long lastBytesScanned
        end local 31 // double compressionRatio
        end local 29 // long lastCheckObsoletion
        start local 21 // long totalSourceCQLRows
        72: .line 231
            aload 28 /* ci */
            ifnull 75
            aload 28 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.close:()V
            goto 75
        end local 21 // long totalSourceCQLRows
        end local 20 // long[] mergedRowCounts
        end local 19 // java.util.Collection newSStables
        end local 13 // long inputSizeBytes
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long top top java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionController java.util.Set top top top top int java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList org.apache.cassandra.db.compaction.CompactionIterator
      StackMap stack: java.lang.Throwable
        73: astore 24
            aload 28 /* ci */
            ifnull 74
            aload 28 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.close:()V
        end local 28 // org.apache.cassandra.db.compaction.CompactionIterator ci
      StackMap locals:
      StackMap stack:
        74: aload 24
            athrow
        start local 13 // long inputSizeBytes
        start local 19 // java.util.Collection newSStables
        start local 20 // long[] mergedRowCounts
        start local 21 // long totalSourceCQLRows
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long long java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionController java.util.Set java.util.Collection long[] long int java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList
      StackMap stack:
        75: aload 27 /* scanners */
            ifnull 80
            aload 27 /* scanners */
            invokevirtual org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.close:()V
            goto 80
        end local 21 // long totalSourceCQLRows
        end local 20 // long[] mergedRowCounts
        end local 19 // java.util.Collection newSStables
        end local 13 // long inputSizeBytes
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long top top java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionController java.util.Set top top top top int java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList
      StackMap stack: java.lang.Throwable
        76: astore 25
            aload 24
            ifnonnull 77
            aload 25
            astore 24
            goto 78
      StackMap locals:
      StackMap stack:
        77: aload 24
            aload 25
            if_acmpeq 78
            aload 24
            aload 25
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        78: aload 27 /* scanners */
            ifnull 79
            aload 27 /* scanners */
            invokevirtual org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.close:()V
        end local 27 // org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList scanners
      StackMap locals:
      StackMap stack:
        79: aload 24
            athrow
        start local 13 // long inputSizeBytes
        start local 19 // java.util.Collection newSStables
        start local 20 // long[] mergedRowCounts
        start local 21 // long totalSourceCQLRows
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long long java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionController java.util.Set java.util.Collection long[] long int java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.Refs
      StackMap stack:
        80: aload 26 /* refs */
            ifnull 88
            aload 26 /* refs */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.close:()V
            goto 88
        end local 21 // long totalSourceCQLRows
        end local 20 // long[] mergedRowCounts
        end local 19 // java.util.Collection newSStables
        end local 13 // long inputSizeBytes
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long top top java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionController java.util.Set top top top top int java.lang.Throwable java.lang.Throwable org.apache.cassandra.utils.concurrent.Refs
      StackMap stack: java.lang.Throwable
        81: astore 25
            aload 24
            ifnonnull 82
            aload 25
            astore 24
            goto 83
      StackMap locals:
      StackMap stack:
        82: aload 24
            aload 25
            if_acmpeq 83
            aload 24
            aload 25
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        83: aload 26 /* refs */
            ifnull 84
            aload 26 /* refs */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.close:()V
        end local 26 // org.apache.cassandra.utils.concurrent.Refs refs
      StackMap locals:
      StackMap stack:
        84: aload 24
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        85: astore 25
            aload 24
            ifnonnull 86
            aload 25
            astore 24
            goto 87
      StackMap locals:
      StackMap stack:
        86: aload 24
            aload 25
            if_acmpeq 87
            aload 24
            aload 25
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        87: aload 24
            athrow
        start local 13 // long inputSizeBytes
        start local 19 // java.util.Collection newSStables
        start local 20 // long[] mergedRowCounts
        start local 21 // long totalSourceCQLRows
        88: .line 233
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long long java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionController java.util.Set java.util.Collection long[] long int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.isOffline:()Z
            ifeq 91
        89: .line 235
            aload 19 /* newSStables */
            invokestatic org.apache.cassandra.utils.concurrent.Refs.selfRefs:(Ljava/lang/Iterable;)Ljava/lang/Iterable;
            invokestatic org.apache.cassandra.utils.concurrent.Refs.release:(Ljava/lang/Iterable;)V
        90: .line 236
            goto 128
        91: .line 241
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lload 5 /* start */
            lsub
            lstore 24 /* durationInNano */
        start local 24 // long durationInNano
        92: .line 242
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 24 /* durationInNano */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            lstore 26 /* dTime */
        start local 26 // long dTime
        93: .line 243
            lload 13 /* inputSizeBytes */
            lstore 28 /* startsize */
        start local 28 // long startsize
        94: .line 244
            aload 19 /* newSStables */
            invokestatic org.apache.cassandra.io.sstable.format.SSTableReader.getTotalBytes:(Ljava/lang/Iterable;)J
            lstore 30 /* endsize */
        start local 30 // long endsize
        95: .line 245
            lload 30 /* endsize */
            l2d
            lload 28 /* startsize */
            l2d
            ddiv
            dstore 32 /* ratio */
        start local 32 // double ratio
        96: .line 247
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 34 /* newSSTableNames */
        start local 34 // java.lang.StringBuilder newSSTableNames
        97: .line 248
            aload 19 /* newSStables */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 36
            goto 100
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long long java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionController java.util.Set java.util.Collection long[] long int long long long long double java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
        98: aload 36
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 35 /* reader */
        start local 35 // org.apache.cassandra.io.sstable.format.SSTableReader reader
        99: .line 249
            aload 34 /* newSSTableNames */
            aload 35 /* reader */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
            invokevirtual org.apache.cassandra.io.sstable.Descriptor.baseFilename:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 35 // org.apache.cassandra.io.sstable.format.SSTableReader reader
       100: .line 248
      StackMap locals:
      StackMap stack:
            aload 36
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 98
       101: .line 250
            lconst_0
            lstore 35 /* totalSourceRows */
        start local 35 // long totalSourceRows
       102: .line 251
            iconst_0
            istore 37 /* i */
        start local 37 // int i
       103: goto 106
       104: .line 252
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long long java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionController java.util.Set java.util.Collection long[] long int long long long long double java.lang.StringBuilder long int
      StackMap stack:
            lload 35 /* totalSourceRows */
            aload 20 /* mergedRowCounts */
            iload 37 /* i */
            laload
            iload 37 /* i */
            iconst_1
            iadd
            i2l
            lmul
            ladd
            lstore 35 /* totalSourceRows */
       105: .line 251
            iinc 37 /* i */ 1
      StackMap locals:
      StackMap stack:
       106: iload 37 /* i */
            aload 20 /* mergedRowCounts */
            arraylength
            if_icmplt 104
        end local 37 // int i
       107: .line 254
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTableName:()Ljava/lang/String;
            aload 20 /* mergedRowCounts */
            lload 28 /* startsize */
            lload 30 /* endsize */
            invokestatic org.apache.cassandra.db.compaction.CompactionTask.updateCompactionHistory:(Ljava/lang/String;Ljava/lang/String;[JJJ)Ljava/lang/String;
            astore 37 /* mergeSummary */
        start local 37 // java.lang.String mergeSummary
       108: .line 255
            getstatic org.apache.cassandra.db.compaction.CompactionTask.logger:Lorg/slf4j/Logger;
            ldc "Compacted (%s) %d sstables to [%s] to level=%d.  %s to %s (~%d%% of original) in %,dms.  Read Throughput = %s, Write Throughput = %s, Row Throughput = ~%,d/s.  %,d total partitions merged to %,d.  Partition merge counts were {%s}"
            bipush 14
            anewarray java.lang.Object
            dup
            iconst_0
       109: .line 256
            aload 2 /* taskId */
            aastore
            dup
            iconst_1
       110: .line 257
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
       111: .line 258
            aload 34 /* newSSTableNames */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
       112: .line 259
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionTask.getLevel:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
       113: .line 260
            lload 28 /* startsize */
            invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
            aastore
            dup
            iconst_5
       114: .line 261
            lload 30 /* endsize */
            invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
            aastore
            dup
            bipush 6
       115: .line 262
            dload 32 /* ratio */
            ldc 100.0
            dmul
            d2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            bipush 7
       116: .line 263
            lload 26 /* dTime */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 8
       117: .line 264
            lload 28 /* startsize */
            lload 24 /* durationInNano */
            invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemoryPerSecond:(JJ)Ljava/lang/String;
            aastore
            dup
            bipush 9
       118: .line 265
            lload 30 /* endsize */
            lload 24 /* durationInNano */
            invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemoryPerSecond:(JJ)Ljava/lang/String;
            aastore
            dup
            bipush 10
       119: .line 266
            lload 21 /* totalSourceCQLRows */
            l2i
            i2l
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            lload 24 /* durationInNano */
            invokevirtual java.util.concurrent.TimeUnit.toSeconds:(J)J
            lconst_1
            ladd
            ldiv
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 11
       120: .line 267
            lload 35 /* totalSourceRows */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 12
       121: .line 268
            lload 9 /* totalKeysWritten */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 13
       122: .line 269
            aload 37 /* mergeSummary */
            aastore
       123: .line 255
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
       124: .line 270
            getstatic org.apache.cassandra.db.compaction.CompactionTask.logger:Lorg/slf4j/Logger;
            ldc "CF Total Bytes Compacted: {}"
            lload 30 /* endsize */
            invokestatic org.apache.cassandra.db.compaction.CompactionTask.addToTotalBytesCompacted:(J)J
            invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
       125: .line 271
            getstatic org.apache.cassandra.db.compaction.CompactionTask.logger:Lorg/slf4j/Logger;
            ldc "Actual #keys: {}, Estimated #keys:{}, Err%: {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            lload 9 /* totalKeysWritten */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            lload 11 /* estimatedKeys */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            lload 9 /* totalKeysWritten */
            lload 11 /* estimatedKeys */
            lsub
            l2d
            lload 9 /* totalKeysWritten */
            l2d
            ddiv
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
       126: .line 272
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            getfield org.apache.cassandra.db.compaction.CompactionStrategyManager.compactionLogger:Lorg/apache/cassandra/db/compaction/CompactionLogger;
            lload 7 /* startTime */
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 19 /* newSStables */
            invokevirtual org.apache.cassandra.db.compaction.CompactionLogger.compaction:(JLjava/util/Collection;JLjava/util/Collection;)V
       127: .line 275
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            getfield org.apache.cassandra.db.ColumnFamilyStore.metric:Lorg/apache/cassandra/metrics/TableMetrics;
            getfield org.apache.cassandra.metrics.TableMetrics.compactionBytesWritten:Lcom/codahale/metrics/Counter;
            lload 30 /* endsize */
            invokevirtual com.codahale.metrics.Counter.inc:(J)V
        end local 37 // java.lang.String mergeSummary
        end local 35 // long totalSourceRows
        end local 34 // java.lang.StringBuilder newSSTableNames
        end local 32 // double ratio
        end local 30 // long endsize
        end local 28 // long startsize
        end local 26 // long dTime
        end local 24 // long durationInNano
        end local 23 // int nowInSec
        end local 21 // long totalSourceCQLRows
        end local 20 // long[] mergedRowCounts
        end local 19 // java.util.Collection newSStables
        end local 18 // java.util.Set actuallyCompact
       128: .line 277
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long long java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionController
      StackMap stack:
            aload 17 /* controller */
            ifnull 134
            aload 17 /* controller */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.close:()V
            goto 134
        end local 13 // long inputSizeBytes
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long top top java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionController
      StackMap stack: java.lang.Throwable
       129: astore 15
            aload 17 /* controller */
            ifnull 130
            aload 17 /* controller */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.close:()V
        end local 17 // org.apache.cassandra.db.compaction.CompactionController controller
      StackMap locals:
      StackMap stack:
       130: aload 15
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
       131: astore 16
            aload 15
            ifnonnull 132
            aload 16
            astore 15
            goto 133
      StackMap locals:
      StackMap stack:
       132: aload 15
            aload 16
            if_acmpeq 133
            aload 15
            aload 16
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
       133: aload 15
            athrow
        start local 13 // long inputSizeBytes
       134: .line 278
      StackMap locals: org.apache.cassandra.db.compaction.CompactionTask org.apache.cassandra.db.compaction.CompactionStrategyManager java.util.UUID java.lang.StringBuilder com.google.common.util.concurrent.RateLimiter long long long long long
      StackMap stack:
            return
        end local 13 // long inputSizeBytes
        end local 11 // long estimatedKeys
        end local 9 // long totalKeysWritten
        end local 7 // long startTime
        end local 5 // long start
        end local 4 // com.google.common.util.concurrent.RateLimiter limiter
        end local 3 // java.lang.StringBuilder ssTableLoggerMsg
        end local 2 // java.util.UUID taskId
        end local 1 // org.apache.cassandra.db.compaction.CompactionStrategyManager strategy
        end local 0 // org.apache.cassandra.db.compaction.CompactionTask this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0  135     0                 this  Lorg/apache/cassandra/db/compaction/CompactionTask;
            4  135     1             strategy  Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
           10  135     2               taskId  Ljava/util/UUID;
           11  135     3     ssTableLoggerMsg  Ljava/lang/StringBuilder;
           13   14     4                 sstr  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           18  135     4              limiter  Lcom/google/common/util/concurrent/RateLimiter;
           19  135     5                start  J
           20  135     7            startTime  J
           21  135     9     totalKeysWritten  J
           22  135    11        estimatedKeys  J
           32   73    13       inputSizeBytes  J
           75   76    13       inputSizeBytes  J
           80   81    13       inputSizeBytes  J
           88  129    13       inputSizeBytes  J
          134  135    13       inputSizeBytes  J
           24  130    17           controller  Lorg/apache/cassandra/db/compaction/CompactionController;
           25  128    18      actuallyCompact  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           56   57    19          newSStables  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           68   73    19          newSStables  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           75   76    19          newSStables  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           80   81    19          newSStables  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           88  128    19          newSStables  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           66   68    20      mergedRowCounts  [J
           71   73    20      mergedRowCounts  [J
           75   76    20      mergedRowCounts  [J
           80   81    20      mergedRowCounts  [J
           88  128    20      mergedRowCounts  [J
           67   68    21   totalSourceCQLRows  J
           72   73    21   totalSourceCQLRows  J
           75   76    21   totalSourceCQLRows  J
           80   81    21   totalSourceCQLRows  J
           88  128    21   totalSourceCQLRows  J
           26  128    23             nowInSec  I
           28   84    26                 refs  Lorg/apache/cassandra/utils/concurrent/Refs<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           29   79    27             scanners  Lorg/apache/cassandra/db/compaction/AbstractCompactionStrategy$ScannerList;
           30   74    28                   ci  Lorg/apache/cassandra/db/compaction/CompactionIterator;
           31   72    29  lastCheckObsoletion  J
           33   72    31     compressionRatio  D
           36   72    33     lastBytesScanned  J
           42   58    37               writer  Lorg/apache/cassandra/db/compaction/writers/CompactionAwareWriter;
           49   54    38         bytesScanned  J
           92  128    24       durationInNano  J
           93  128    26                dTime  J
           94  128    28            startsize  J
           95  128    30              endsize  J
           96  128    32                ratio  D
           97  128    34      newSSTableNames  Ljava/lang/StringBuilder;
           99  100    35               reader  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
          102  128    35      totalSourceRows  J
          103  107    37                    i  I
          108  128    37         mergeSummary  Ljava/lang/String;
      Exception table:
        from    to  target  type
          42    56      57  any
          41    59      59  any
          40    62      62  any
          30    72      73  any
          29    75      76  any
          28    80      81  any
          27    85      85  any
          24   128     129  any
          23   131     131  any
    Exceptions:
      throws java.lang.Exception

  public org.apache.cassandra.db.compaction.writers.CompactionAwareWriter getCompactionAwareWriter(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.db.Directories, org.apache.cassandra.db.lifecycle.LifecycleTransaction, java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/Directories;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;Ljava/util/Set;)Lorg/apache/cassandra/db/compaction/writers/CompactionAwareWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=5
        start local 0 // org.apache.cassandra.db.compaction.CompactionTask this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // org.apache.cassandra.db.Directories directories
        start local 3 // org.apache.cassandra.db.lifecycle.LifecycleTransaction transaction
        start local 4 // java.util.Set nonExpiredSSTables
         0: .line 286
            new org.apache.cassandra.db.compaction.writers.DefaultCompactionWriter
            dup
            aload 1 /* cfs */
            aload 2 /* directories */
            aload 3 /* transaction */
            aload 4 /* nonExpiredSSTables */
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.keepOriginals:Z
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionTask.getLevel:()I
            invokespecial org.apache.cassandra.db.compaction.writers.DefaultCompactionWriter.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/Directories;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;Ljava/util/Set;ZI)V
            areturn
        end local 4 // java.util.Set nonExpiredSSTables
        end local 3 // org.apache.cassandra.db.lifecycle.LifecycleTransaction transaction
        end local 2 // org.apache.cassandra.db.Directories directories
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionTask this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lorg/apache/cassandra/db/compaction/CompactionTask;
            0    1     1                 cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    1     2         directories  Lorg/apache/cassandra/db/Directories;
            0    1     3         transaction  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            0    1     4  nonExpiredSSTables  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/Directories;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)Lorg/apache/cassandra/db/compaction/writers/CompactionAwareWriter;
    MethodParameters:
                    Name  Flags
      cfs                 
      directories         
      transaction         
      nonExpiredSSTables  

  public static java.lang.String updateCompactionHistory(java.lang.String, java.lang.String, long[], long, long);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[JJJ)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=13, args_size=5
        start local 0 // java.lang.String keyspaceName
        start local 1 // java.lang.String columnFamilyName
        start local 2 // long[] mergedRowCounts
        start local 3 // long startSize
        start local 5 // long endSize
         0: .line 291
            new java.lang.StringBuilder
            dup
            aload 2 /* mergedRowCounts */
            arraylength
            bipush 10
            imul
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 7 /* mergeSummary */
        start local 7 // java.lang.StringBuilder mergeSummary
         1: .line 292
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 8 /* mergedRows */
        start local 8 // java.util.Map mergedRows
         2: .line 293
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         3: goto 11
         4: .line 295
      StackMap locals: java.lang.StringBuilder java.util.Map int
      StackMap stack:
            aload 2 /* mergedRowCounts */
            iload 9 /* i */
            laload
            lstore 10 /* count */
        start local 10 // long count
         5: .line 296
            lload 10 /* count */
            lconst_0
            lcmp
            ifne 7
         6: .line 297
            goto 10
         7: .line 299
      StackMap locals: long
      StackMap stack:
            iload 9 /* i */
            iconst_1
            iadd
            istore 12 /* rows */
        start local 12 // int rows
         8: .line 300
            aload 7 /* mergeSummary */
            ldc "%d:%d, "
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            iload 12 /* rows */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            lload 10 /* count */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 301
            aload 8 /* mergedRows */
            iload 12 /* rows */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            lload 10 /* count */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 12 // int rows
        end local 10 // long count
        10: .line 293
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 9 /* i */
            aload 2 /* mergedRowCounts */
            arraylength
            if_icmplt 4
        end local 9 // int i
        12: .line 303
            aload 0 /* keyspaceName */
            aload 1 /* columnFamilyName */
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 3 /* startSize */
            lload 5 /* endSize */
            aload 8 /* mergedRows */
            invokestatic org.apache.cassandra.db.SystemKeyspace.updateCompactionHistory:(Ljava/lang/String;Ljava/lang/String;JJJLjava/util/Map;)V
        13: .line 304
            aload 7 /* mergeSummary */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 8 // java.util.Map mergedRows
        end local 7 // java.lang.StringBuilder mergeSummary
        end local 5 // long endSize
        end local 3 // long startSize
        end local 2 // long[] mergedRowCounts
        end local 1 // java.lang.String columnFamilyName
        end local 0 // java.lang.String keyspaceName
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0      keyspaceName  Ljava/lang/String;
            0   14     1  columnFamilyName  Ljava/lang/String;
            0   14     2   mergedRowCounts  [J
            0   14     3         startSize  J
            0   14     5           endSize  J
            1   14     7      mergeSummary  Ljava/lang/StringBuilder;
            2   14     8        mergedRows  Ljava/util/Map<Ljava/lang/Integer;Ljava/lang/Long;>;
            3   12     9                 i  I
            5   10    10             count  J
            8   10    12              rows  I
    MethodParameters:
                  Name  Flags
      keyspaceName      
      columnFamilyName  
      mergedRowCounts   
      startSize         
      endSize           

  protected org.apache.cassandra.db.Directories getDirectories();
    descriptor: ()Lorg/apache/cassandra/db/Directories;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionTask this
         0: .line 309
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getDirectories:()Lorg/apache/cassandra/db/Directories;
            areturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionTask;

  public static long getMinRepairedAt(java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Ljava/util/Set;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.util.Set actuallyCompact
         0: .line 314
            ldc 9223372036854775807
            lstore 1 /* minRepairedAt */
        start local 1 // long minRepairedAt
         1: .line 315
            aload 0 /* actuallyCompact */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: java.util.Set long 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 /* sstable */
        start local 3 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         3: .line 316
            lload 1 /* minRepairedAt */
            aload 3 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableMetadata:()Lorg/apache/cassandra/io/sstable/metadata/StatsMetadata;
            getfield org.apache.cassandra.io.sstable.metadata.StatsMetadata.repairedAt:J
            invokestatic java.lang.Math.min:(JJ)J
            lstore 1 /* minRepairedAt */
        end local 3 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         4: .line 315
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 317
            lload 1 /* minRepairedAt */
            ldc 9223372036854775807
            lcmp
            ifne 7
         6: .line 318
            lconst_0
            lreturn
         7: .line 319
      StackMap locals: java.util.Set long
      StackMap stack:
            lload 1 /* minRepairedAt */
            lreturn
        end local 1 // long minRepairedAt
        end local 0 // java.util.Set actuallyCompact
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0  actuallyCompact  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            1    8     1    minRepairedAt  J
            3    4     3          sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    Signature: (Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)J
    MethodParameters:
                 Name  Flags
      actuallyCompact  

  protected void checkAvailableDiskSpace();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=7, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionTask this
         0: .line 329
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.isCompactionDiskSpaceCheckEnabled:()Z
            ifne 3
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.compactionType:Lorg/apache/cassandra/db/compaction/OperationType;
            getstatic org.apache.cassandra.db.compaction.OperationType.COMPACTION:Lorg/apache/cassandra/db/compaction/OperationType;
            if_acmpne 3
         1: .line 331
            getstatic org.apache.cassandra.db.compaction.CompactionTask.logger:Lorg/slf4j/Logger;
            ldc "Compaction space check is disabled"
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
         2: .line 332
            return
         3: .line 335
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            astore 1 /* strategy */
        start local 1 // org.apache.cassandra.db.compaction.CompactionStrategyManager strategy
         4: .line 339
      StackMap locals: org.apache.cassandra.db.compaction.CompactionStrategyManager
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.compactionType:Lorg/apache/cassandra/db/compaction/OperationType;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getExpectedCompactedFileSize:(Ljava/lang/Iterable;Lorg/apache/cassandra/db/compaction/OperationType;)J
            lstore 2 /* expectedWriteSize */
        start local 2 // long expectedWriteSize
         5: .line 340
            lconst_1
            lload 2 /* expectedWriteSize */
            aload 1 /* strategy */
            invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.getMaxSSTableBytes:()J
            ldiv
            invokestatic java.lang.Math.max:(JJ)J
            lstore 4 /* estimatedSSTables */
        start local 4 // long estimatedSSTables
         6: .line 342
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getDirectories:()Lorg/apache/cassandra/db/Directories;
            lload 4 /* estimatedSSTables */
            lload 2 /* expectedWriteSize */
            invokevirtual org.apache.cassandra.db.Directories.hasAvailableDiskSpace:(JJ)Z
            ifeq 8
         7: .line 343
            goto 16
         8: .line 345
      StackMap locals: long long
      StackMap stack:
            aload 0 /* this */
            lload 2 /* expectedWriteSize */
            invokevirtual org.apache.cassandra.db.compaction.CompactionTask.reduceScopeForLimitedSpace:(J)Z
            ifne 12
         9: .line 349
            ldc "Not enough space for compaction, estimated sstables = %d, expected write size = %d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            lload 4 /* estimatedSSTables */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            lload 2 /* expectedWriteSize */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 6 /* msg */
        start local 6 // java.lang.String msg
        10: .line 350
            getstatic org.apache.cassandra.db.compaction.CompactionTask.logger:Lorg/slf4j/Logger;
            aload 6 /* msg */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
        11: .line 351
            new java.lang.RuntimeException
            dup
            aload 6 /* msg */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.String msg
        12: .line 353
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.db.compaction.CompactionTask.logger:Lorg/slf4j/Logger;
            ldc "Not enough space for compaction, {}MB estimated.  Reducing scope."
        13: .line 354
            lload 2 /* expectedWriteSize */
            l2f
            ldc 1024.0
            fdiv
            ldc 1024.0
            fdiv
            invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
        14: .line 353
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 4 // long estimatedSSTables
        end local 2 // long expectedWriteSize
        15: .line 337
            goto 4
        16: .line 356
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.cassandra.db.compaction.CompactionStrategyManager strategy
        end local 0 // org.apache.cassandra.db.compaction.CompactionTask this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               this  Lorg/apache/cassandra/db/compaction/CompactionTask;
            4   17     1           strategy  Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            5   15     2  expectedWriteSize  J
            6   15     4  estimatedSSTables  J
           10   12     6                msg  Ljava/lang/String;

  protected int getLevel();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionTask this
         0: .line 360
            iconst_0
            ireturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionTask;

  protected org.apache.cassandra.db.compaction.CompactionController getCompactionController(java.util.Set<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Ljava/util/Set;)Lorg/apache/cassandra/db/compaction/CompactionController;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionTask this
        start local 1 // java.util.Set toCompact
         0: .line 365
            new org.apache.cassandra.db.compaction.CompactionController
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.cfs:Lorg/apache/cassandra/db/ColumnFamilyStore;
            aload 1 /* toCompact */
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.gcBefore:I
            invokespecial org.apache.cassandra.db.compaction.CompactionController.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Set;I)V
            areturn
        end local 1 // java.util.Set toCompact
        end local 0 // org.apache.cassandra.db.compaction.CompactionTask this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/apache/cassandra/db/compaction/CompactionTask;
            0    1     1  toCompact  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    Signature: (Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)Lorg/apache/cassandra/db/compaction/CompactionController;
    MethodParameters:
           Name  Flags
      toCompact  

  protected boolean partialCompactionsAcceptable();
    descriptor: ()Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionTask this
         0: .line 370
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionTask.isUserDefined:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/db/compaction/CompactionTask;

  public static long getMaxDataAge(java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader>);
    descriptor: (Ljava/util/Collection;)J
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.util.Collection sstables
         0: .line 375
            lconst_0
            lstore 1 /* max */
        start local 1 // long max
         1: .line 376
            aload 0 /* sstables */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: java.util.Collection long 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 /* sstable */
        start local 3 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         3: .line 378
            aload 3 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.maxDataAge:J
            lload 1 /* max */
            lcmp
            ifle 5
         4: .line 379
            aload 3 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.maxDataAge:J
            lstore 1 /* max */
        end local 3 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         5: .line 376
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 381
            lload 1 /* max */
            lreturn
        end local 1 // long max
        end local 0 // java.util.Collection sstables
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0  sstables  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            1    7     1       max  J
            3    5     3   sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    Signature: (Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;)J
    MethodParameters:
          Name  Flags
      sstables  
}
SourceFile: "CompactionTask.java"
NestMembers:
  org.apache.cassandra.db.compaction.CompactionTask$1
InnerClasses:
  public abstract SetView = com.google.common.collect.Sets$SetView of com.google.common.collect.Sets
  public ScannerList = org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList of org.apache.cassandra.db.compaction.AbstractCompactionStrategy
  public abstract Holder = org.apache.cassandra.db.compaction.CompactionInfo$Holder of org.apache.cassandra.db.compaction.CompactionInfo
  public abstract CompactionExecutorStatsCollector = org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutorStatsCollector of org.apache.cassandra.db.compaction.CompactionManager
  org.apache.cassandra.db.compaction.CompactionTask$1