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

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

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

  public static final int NO_GC;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -2147483648

  public static final int GC_ALL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2147483647

  public static final io.netty.util.concurrent.FastThreadLocal<java.lang.Boolean> isCompactionManager;
    descriptor: Lio/netty/util/concurrent/FastThreadLocal;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lio/netty/util/concurrent/FastThreadLocal<Ljava/lang/Boolean;>;

  private final org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor executor;
    descriptor: Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor validationExecutor;
    descriptor: Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor cacheCleanupExecutor;
    descriptor: Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.metrics.CompactionMetrics metrics;
    descriptor: Lorg/apache/cassandra/metrics/CompactionMetrics;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final com.google.common.collect.Multiset<org.apache.cassandra.db.ColumnFamilyStore> compactingCF;
    descriptor: Lcom/google/common/collect/Multiset;
    flags: (0x0010) ACC_FINAL
    Signature: Lcom/google/common/collect/Multiset<Lorg/apache/cassandra/db/ColumnFamilyStore;>;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()

  private final com.google.common.util.concurrent.RateLimiter compactionRateLimiter;
    descriptor: Lcom/google/common/util/concurrent/RateLimiter;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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=3, locals=0, args_size=0
         0: .line 85
            ldc Lorg/apache/cassandra/db/compaction/CompactionManager;
            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.CompactionManager.$assertionsDisabled:Z
         3: .line 88
            ldc Lorg/apache/cassandra/db/compaction/CompactionManager;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
         4: .line 96
            new org.apache.cassandra.db.compaction.CompactionManager$1
            dup
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$1.<init>:()V
            putstatic org.apache.cassandra.db.compaction.CompactionManager.isCompactionManager:Lio/netty/util/concurrent/FastThreadLocal;
         5: .line 107
            new org.apache.cassandra.db.compaction.CompactionManager
            dup
            invokespecial org.apache.cassandra.db.compaction.CompactionManager.<init>:()V
            putstatic org.apache.cassandra.db.compaction.CompactionManager.instance:Lorg/apache/cassandra/db/compaction/CompactionManager;
         6: .line 109
            getstatic org.apache.cassandra.utils.MBeanWrapper.instance:Lorg/apache/cassandra/utils/MBeanWrapper;
            getstatic org.apache.cassandra.db.compaction.CompactionManager.instance:Lorg/apache/cassandra/db/compaction/CompactionManager;
            ldc "org.apache.cassandra.db:type=CompactionManager"
            invokeinterface org.apache.cassandra.utils.MBeanWrapper.registerMBean:(Ljava/lang/Object;Ljava/lang/String;)V
         7: .line 110
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 85
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 112
            aload 0 /* this */
            new org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor
            dup
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.<init>:()V
            putfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
         2: .line 113
            aload 0 /* this */
            new org.apache.cassandra.db.compaction.CompactionManager$ValidationExecutor
            dup
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$ValidationExecutor.<init>:()V
            putfield org.apache.cassandra.db.compaction.CompactionManager.validationExecutor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
         3: .line 114
            aload 0 /* this */
            new org.apache.cassandra.db.compaction.CompactionManager$CacheCleanupExecutor
            dup
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$CacheCleanupExecutor.<init>:()V
            putfield org.apache.cassandra.db.compaction.CompactionManager.cacheCleanupExecutor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
         4: .line 116
            aload 0 /* this */
            new org.apache.cassandra.metrics.CompactionMetrics
            dup
            iconst_2
            anewarray java.util.concurrent.ThreadPoolExecutor
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.validationExecutor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            aastore
            invokespecial org.apache.cassandra.metrics.CompactionMetrics.<init>:([Ljava/util/concurrent/ThreadPoolExecutor;)V
            putfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
         5: .line 118
            aload 0 /* this */
            invokestatic com.google.common.collect.ConcurrentHashMultiset.create:()Lcom/google/common/collect/ConcurrentHashMultiset;
            putfield org.apache.cassandra.db.compaction.CompactionManager.compactingCF:Lcom/google/common/collect/Multiset;
         6: .line 120
            aload 0 /* this */
            ldc 1.7976931348623157E308
            invokestatic com.google.common.util.concurrent.RateLimiter.create:(D)Lcom/google/common/util/concurrent/RateLimiter;
            putfield org.apache.cassandra.db.compaction.CompactionManager.compactionRateLimiter:Lcom/google/common/util/concurrent/RateLimiter;
         7: .line 85
            return
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/apache/cassandra/db/compaction/CompactionManager;

  public com.google.common.util.concurrent.RateLimiter getRateLimiter();
    descriptor: ()Lcom/google/common/util/concurrent/RateLimiter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 130
            aload 0 /* this */
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getCompactionThroughputMbPerSec:()I
            i2d
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.setRate:(D)V
         1: .line 131
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.compactionRateLimiter:Lcom/google/common/util/concurrent/RateLimiter;
            areturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/compaction/CompactionManager;

  public void setRate(double);
    descriptor: (D)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // double throughPutMbPerSec
         0: .line 141
            dload 1 /* throughPutMbPerSec */
            ldc 1024.0
            dmul
            ldc 1024.0
            dmul
            dstore 3 /* throughput */
        start local 3 // double throughput
         1: .line 143
            dload 3 /* throughput */
            dconst_0
            dcmpl
            ifeq 2
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            invokevirtual org.apache.cassandra.service.StorageService.isBootstrapMode:()Z
            ifeq 3
         2: .line 144
      StackMap locals: double
      StackMap stack:
            ldc 1.7976931348623157E308
            dstore 3 /* throughput */
         3: .line 145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.compactionRateLimiter:Lcom/google/common/util/concurrent/RateLimiter;
            invokevirtual com.google.common.util.concurrent.RateLimiter.getRate:()D
            dload 3 /* throughput */
            dcmpl
            ifeq 5
         4: .line 146
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.compactionRateLimiter:Lcom/google/common/util/concurrent/RateLimiter;
            dload 3 /* throughput */
            invokevirtual com.google.common.util.concurrent.RateLimiter.setRate:(D)V
         5: .line 147
      StackMap locals:
      StackMap stack:
            return
        end local 3 // double throughput
        end local 1 // double throughPutMbPerSec
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    6     1  throughPutMbPerSec  D
            1    6     3          throughput  D
    MethodParameters:
                    Name  Flags
      throughPutMbPerSec  final

  public java.util.List<java.util.concurrent.Future<?>> submitBackground(org.apache.cassandra.db.ColumnFamilyStore);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
         0: .line 156
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.isAutoCompactionDisabled:()Z
            ifeq 3
         1: .line 158
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Autocompaction is disabled"
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;)V
         2: .line 159
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         3: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.compactingCF:Lcom/google/common/collect/Multiset;
            aload 1 /* cfs */
            invokeinterface com.google.common.collect.Multiset.count:(Ljava/lang/Object;)I
            istore 2 /* count */
        start local 2 // int count
         4: .line 169
            iload 2 /* count */
            ifle 9
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.getActiveCount:()I
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.getMaximumPoolSize:()I
            if_icmplt 9
         5: .line 171
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Background compaction is still running for {}.{} ({} remaining). Skipping"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         6: .line 172
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.name:Ljava/lang/String;
            aastore
            dup
            iconst_2
            iload 2 /* count */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         7: .line 171
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 173
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         9: .line 176
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Scheduling a background task check for {}.{} with {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        10: .line 177
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        11: .line 178
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.name:Ljava/lang/String;
            aastore
            dup
            iconst_2
        12: .line 179
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.getName:()Ljava/lang/String;
            aastore
        13: .line 176
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
        14: .line 181
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* futures */
        start local 3 // java.util.List futures
        15: .line 182
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            new org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionCandidate
            dup
            aload 0 /* this */
            aload 1 /* cfs */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionCandidate.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Lorg/apache/cassandra/db/ColumnFamilyStore;)V
            ldc "background task"
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.submitIfRunning:(Ljava/lang/Runnable;Ljava/lang/String;)Lcom/google/common/util/concurrent/ListenableFuture;
            astore 4 /* fut */
        start local 4 // java.util.concurrent.Future fut
        16: .line 183
            aload 4 /* fut */
            invokeinterface java.util.concurrent.Future.isCancelled:()Z
            ifne 18
        17: .line 184
            aload 3 /* futures */
            aload 4 /* fut */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
            goto 19
        18: .line 186
      StackMap locals: java.util.List java.util.concurrent.Future
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.compactingCF:Lcom/google/common/collect/Multiset;
            aload 1 /* cfs */
            invokeinterface com.google.common.collect.Multiset.remove:(Ljava/lang/Object;)Z
            pop
        19: .line 187
      StackMap locals:
      StackMap stack:
            aload 3 /* futures */
            areturn
        end local 4 // java.util.concurrent.Future fut
        end local 3 // java.util.List futures
        end local 2 // int count
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   20     1      cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            4   20     2    count  I
           15   20     3  futures  Ljava/util/List<Ljava/util/concurrent/Future<*>;>;
           16   20     4      fut  Ljava/util/concurrent/Future<*>;
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;)Ljava/util/List<Ljava/util/concurrent/Future<*>;>;
    MethodParameters:
      Name  Flags
      cfs   final

  public boolean isCompacting(java.lang.Iterable<org.apache.cassandra.db.ColumnFamilyStore>);
    descriptor: (Ljava/lang/Iterable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=4, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // java.lang.Iterable cfses
         0: .line 192
            aload 1 /* cfses */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.Iterable top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.ColumnFamilyStore
            astore 2 /* cfs */
        start local 2 // org.apache.cassandra.db.ColumnFamilyStore cfs
         2: .line 193
            aload 2 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.getCompacting:()Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 4
         3: .line 194
            iconst_1
            ireturn
        end local 2 // org.apache.cassandra.db.ColumnFamilyStore cfs
         4: .line 192
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 195
            iconst_0
            ireturn
        end local 1 // java.lang.Iterable cfses
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    6     1  cfses  Ljava/lang/Iterable<Lorg/apache/cassandra/db/ColumnFamilyStore;>;
            2    4     2    cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/db/ColumnFamilyStore;>;)Z
    MethodParameters:
       Name  Flags
      cfses  

  public void forceShutdown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 205
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.shutdown:()V
         1: .line 206
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.validationExecutor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.shutdown:()V
         2: .line 207
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.cacheCleanupExecutor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.shutdown:()V
         3: .line 210
            invokestatic org.apache.cassandra.metrics.CompactionMetrics.getCompactions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 6
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager top java.util.Iterator
      StackMap stack:
         4: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.compaction.CompactionInfo$Holder
            astore 1 /* compactionHolder */
        start local 1 // org.apache.cassandra.db.compaction.CompactionInfo$Holder compactionHolder
         5: .line 212
            aload 1 /* compactionHolder */
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo$Holder.stop:()V
        end local 1 // org.apache.cassandra.db.compaction.CompactionInfo$Holder compactionHolder
         6: .line 210
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 218
            iconst_3
            anewarray org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.validationExecutor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.cacheCleanupExecutor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 14
      StackMap locals:
      StackMap stack:
         8: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.concurrent.ExecutorService
            astore 1 /* exec */
        start local 1 // java.util.concurrent.ExecutorService exec
         9: .line 222
            aload 1 /* exec */
            lconst_1
            getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
            invokeinterface java.util.concurrent.ExecutorService.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
            ifne 14
        10: .line 223
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Failed to wait for compaction executors shutdown"
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
        11: .line 224
            goto 14
        12: .line 225
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.util.concurrent.ExecutorService java.util.Iterator
      StackMap stack: java.lang.InterruptedException
            astore 3 /* e */
        start local 3 // java.lang.InterruptedException e
        13: .line 227
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Interrupted while waiting for tasks to be terminated"
            aload 3 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // java.lang.InterruptedException e
        end local 1 // java.util.concurrent.ExecutorService exec
        14: .line 218
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        15: .line 230
            return
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            5    6     1  compactionHolder  Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;
            9   14     1              exec  Ljava/util/concurrent/ExecutorService;
           13   14     3                 e  Ljava/lang/InterruptedException;
      Exception table:
        from    to  target  type
           9    11      12  Class java.lang.InterruptedException

  public void finishCompactionsAndShutdown(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // long timeout
        start local 3 // java.util.concurrent.TimeUnit unit
         0: .line 234
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.shutdown:()V
         1: .line 235
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            lload 1 /* timeout */
            aload 3 /* unit */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.awaitTermination:(JLjava/util/concurrent/TimeUnit;)Z
            pop
         2: .line 236
            return
        end local 3 // java.util.concurrent.TimeUnit unit
        end local 1 // long timeout
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    3     1  timeout  J
            0    3     3     unit  Ljava/util/concurrent/TimeUnit;
    Exceptions:
      throws java.lang.InterruptedException
    MethodParameters:
         Name  Flags
      timeout  
      unit     

  private org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus parallelAllSSTableOperation(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation, int, org.apache.cassandra.db.compaction.OperationType);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/compaction/CompactionManager$OneSSTableOperation;ILorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=20, args_size=5
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation operation
        start local 3 // int jobs
        start local 4 // org.apache.cassandra.db.compaction.OperationType operationType
         0: .line 291
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Starting {} for {}.{}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* operationType */
            aastore
            dup
            iconst_1
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTableName:()Ljava/lang/String;
            aastore
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 292
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* transactions */
        start local 5 // java.util.List transactions
         2: .line 293
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* futures */
        start local 6 // java.util.List futures
         3: .line 294
            aconst_null
            astore 7
            aconst_null
            astore 8
         4: aload 1 /* cfs */
            aload 4 /* operationType */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.markAllCompacting:(Lorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            astore 9 /* compacting */
        start local 9 // org.apache.cassandra.db.lifecycle.LifecycleTransaction compacting
         5: .line 296
            aload 9 /* compacting */
            ifnonnull 15
         6: .line 297
            getstatic org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus.UNABLE_TO_CANCEL:Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
            astore 18
         7: .line 335
            aload 9 /* compacting */
            ifnull 8
            aload 9 /* compacting */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
         8: .line 341
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation int org.apache.cassandra.db.compaction.OperationType java.util.List java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction top top top top top top top top org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus
      StackMap stack:
            aload 6 /* futures */
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFutures:(Ljava/lang/Iterable;)Ljava/util/List;
            pop
         9: .line 342
            goto 11
        10: .line 343
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
        11: .line 347
      StackMap locals:
      StackMap stack:
            aconst_null
            aload 5 /* transactions */
            invokestatic org.apache.cassandra.utils.Throwables.close:(Ljava/lang/Throwable;Ljava/lang/Iterable;)Ljava/lang/Throwable;
            astore 19 /* fail */
        start local 19 // java.lang.Throwable fail
        12: .line 348
            aload 19 /* fail */
            ifnull 14
        13: .line 349
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Failed to cleanup lifecycle transactions ({} for {}.{})"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* operationType */
            aastore
            dup
            iconst_1
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTableName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 19 /* fail */
            aastore
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 19 // java.lang.Throwable fail
        14: .line 297
      StackMap locals:
      StackMap stack:
            aload 18
            areturn
        15: .line 299
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation int org.apache.cassandra.db.compaction.OperationType java.util.List java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction
      StackMap stack:
            aload 2 /* operation */
            aload 9 /* compacting */
            invokeinterface org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation.filterSSTables:(Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;)Ljava/lang/Iterable;
            invokestatic com.google.common.collect.Lists.newArrayList:(Ljava/lang/Iterable;)Ljava/util/ArrayList;
            astore 10 /* sstables */
        start local 10 // java.lang.Iterable sstables
        16: .line 300
            aload 10 /* sstables */
            invokestatic com.google.common.collect.Iterables.isEmpty:(Ljava/lang/Iterable;)Z
            ifeq 27
        17: .line 302
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "No sstables to {} for {}.{}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* operationType */
            invokevirtual org.apache.cassandra.db.compaction.OperationType.name:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.name:Ljava/lang/String;
            aastore
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
        18: .line 303
            getstatic org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus.SUCCESSFUL:Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
            astore 18
        19: .line 335
            aload 9 /* compacting */
            ifnull 20
            aload 9 /* compacting */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
        20: .line 341
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation int org.apache.cassandra.db.compaction.OperationType java.util.List java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.lang.Iterable top top top top top top top org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus
      StackMap stack:
            aload 6 /* futures */
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFutures:(Ljava/lang/Iterable;)Ljava/util/List;
            pop
        21: .line 342
            goto 23
        22: .line 343
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
        23: .line 347
      StackMap locals:
      StackMap stack:
            aconst_null
            aload 5 /* transactions */
            invokestatic org.apache.cassandra.utils.Throwables.close:(Ljava/lang/Throwable;Ljava/lang/Iterable;)Ljava/lang/Throwable;
            astore 19 /* fail */
        start local 19 // java.lang.Throwable fail
        24: .line 348
            aload 19 /* fail */
            ifnull 26
        25: .line 349
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Failed to cleanup lifecycle transactions ({} for {}.{})"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* operationType */
            aastore
            dup
            iconst_1
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTableName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 19 /* fail */
            aastore
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 19 // java.lang.Throwable fail
        26: .line 303
      StackMap locals:
      StackMap stack:
            aload 18
            areturn
        27: .line 306
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation int org.apache.cassandra.db.compaction.OperationType java.util.List java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.lang.Iterable
      StackMap stack:
            aload 10 /* sstables */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 12
            goto 47
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation int org.apache.cassandra.db.compaction.OperationType java.util.List java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.lang.Iterable top java.util.Iterator
      StackMap stack:
        28: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 11 /* sstable */
        start local 11 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        29: .line 308
            aload 9 /* compacting */
            aload 11 /* sstable */
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.split:(Ljava/util/Collection;)Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            astore 13 /* txn */
        start local 13 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        30: .line 309
            aload 5 /* transactions */
            aload 13 /* txn */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        31: .line 310
            new org.apache.cassandra.db.compaction.CompactionManager$2
            dup
            aload 0 /* this */
            aload 2 /* operation */
            aload 13 /* txn */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$2.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Lorg/apache/cassandra/db/compaction/CompactionManager$OneSSTableOperation;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;)V
            astore 14 /* callable */
        start local 14 // java.util.concurrent.Callable callable
        32: .line 319
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            aload 14 /* callable */
            ldc "paralell sstable operation"
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.submitIfRunning:(Ljava/util/concurrent/Callable;Ljava/lang/String;)Lcom/google/common/util/concurrent/ListenableFuture;
            astore 15 /* fut */
        start local 15 // java.util.concurrent.Future fut
        33: .line 320
            aload 15 /* fut */
            invokeinterface java.util.concurrent.Future.isCancelled:()Z
            ifne 35
        34: .line 321
            aload 6 /* futures */
            aload 15 /* fut */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
            goto 44
        35: .line 323
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation int org.apache.cassandra.db.compaction.OperationType java.util.List java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.lang.Iterable org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator org.apache.cassandra.db.lifecycle.LifecycleTransaction java.util.concurrent.Callable java.util.concurrent.Future
      StackMap stack:
            getstatic org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus.ABORTED:Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
            astore 18
        36: .line 335
            aload 9 /* compacting */
            ifnull 37
            aload 9 /* compacting */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
        37: .line 341
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation int org.apache.cassandra.db.compaction.OperationType java.util.List java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.lang.Iterable org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator org.apache.cassandra.db.lifecycle.LifecycleTransaction java.util.concurrent.Callable java.util.concurrent.Future top top org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus
      StackMap stack:
            aload 6 /* futures */
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFutures:(Ljava/lang/Iterable;)Ljava/util/List;
            pop
        38: .line 342
            goto 40
        39: .line 343
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
        40: .line 347
      StackMap locals:
      StackMap stack:
            aconst_null
            aload 5 /* transactions */
            invokestatic org.apache.cassandra.utils.Throwables.close:(Ljava/lang/Throwable;Ljava/lang/Iterable;)Ljava/lang/Throwable;
            astore 19 /* fail */
        start local 19 // java.lang.Throwable fail
        41: .line 348
            aload 19 /* fail */
            ifnull 43
        42: .line 349
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Failed to cleanup lifecycle transactions ({} for {}.{})"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* operationType */
            aastore
            dup
            iconst_1
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTableName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 19 /* fail */
            aastore
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 19 // java.lang.Throwable fail
        43: .line 323
      StackMap locals:
      StackMap stack:
            aload 18
            areturn
        44: .line 325
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation int org.apache.cassandra.db.compaction.OperationType java.util.List java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.lang.Iterable org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator org.apache.cassandra.db.lifecycle.LifecycleTransaction java.util.concurrent.Callable java.util.concurrent.Future
      StackMap stack:
            iload 3 /* jobs */
            ifle 47
            aload 6 /* futures */
            invokeinterface java.util.List.size:()I
            iload 3 /* jobs */
            if_icmpne 47
        45: .line 327
            aload 6 /* futures */
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFirstFuture:(Ljava/lang/Iterable;)Ljava/util/concurrent/Future;
            astore 16 /* f */
        start local 16 // java.util.concurrent.Future f
        46: .line 328
            aload 6 /* futures */
            aload 16 /* f */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
        end local 16 // java.util.concurrent.Future f
        end local 15 // java.util.concurrent.Future fut
        end local 14 // java.util.concurrent.Callable callable
        end local 13 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        end local 11 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        47: .line 306
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation int org.apache.cassandra.db.compaction.OperationType java.util.List java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.lang.Iterable top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 28
        48: .line 331
            aload 6 /* futures */
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFutures:(Ljava/lang/Iterable;)Ljava/util/List;
            pop
        49: .line 332
            getstatic org.apache.cassandra.db.compaction.CompactionManager.$assertionsDisabled:Z
            ifne 50
            aload 9 /* compacting */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 50
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        50: .line 333
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation int org.apache.cassandra.db.compaction.OperationType java.util.List java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.lang.Iterable
      StackMap stack:
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Finished {} for {}.{} successfully"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* operationType */
            aastore
            dup
            iconst_1
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTableName:()Ljava/lang/String;
            aastore
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
        51: .line 334
            getstatic org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus.SUCCESSFUL:Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
            astore 18
        52: .line 335
            aload 9 /* compacting */
            ifnull 53
            aload 9 /* compacting */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
        53: .line 341
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation int org.apache.cassandra.db.compaction.OperationType java.util.List java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction java.lang.Iterable top top top top top top top org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus
      StackMap stack:
            aload 6 /* futures */
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFutures:(Ljava/lang/Iterable;)Ljava/util/List;
            pop
        54: .line 342
            goto 56
        55: .line 343
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
        56: .line 347
      StackMap locals:
      StackMap stack:
            aconst_null
            aload 5 /* transactions */
            invokestatic org.apache.cassandra.utils.Throwables.close:(Ljava/lang/Throwable;Ljava/lang/Iterable;)Ljava/lang/Throwable;
            astore 19 /* fail */
        start local 19 // java.lang.Throwable fail
        57: .line 348
            aload 19 /* fail */
            ifnull 59
        58: .line 349
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Failed to cleanup lifecycle transactions ({} for {}.{})"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* operationType */
            aastore
            dup
            iconst_1
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTableName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 19 /* fail */
            aastore
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 19 // java.lang.Throwable fail
        59: .line 334
      StackMap locals:
      StackMap stack:
            aload 18
            areturn
        end local 10 // java.lang.Iterable sstables
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation int org.apache.cassandra.db.compaction.OperationType java.util.List java.util.List java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction
      StackMap stack: java.lang.Throwable
        60: astore 7
        61: .line 335
            aload 9 /* compacting */
            ifnull 62
            aload 9 /* compacting */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
        end local 9 // org.apache.cassandra.db.lifecycle.LifecycleTransaction compacting
      StackMap locals:
      StackMap stack:
        62: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        63: astore 8
            aload 7
            ifnonnull 64
            aload 8
            astore 7
            goto 65
      StackMap locals:
      StackMap stack:
        64: aload 7
            aload 8
            if_acmpeq 65
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        65: aload 7
            athrow
        66: .line 337
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation int org.apache.cassandra.db.compaction.OperationType java.util.List java.util.List
      StackMap stack: java.lang.Throwable
            astore 17
        67: .line 341
            aload 6 /* futures */
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFutures:(Ljava/lang/Iterable;)Ljava/util/List;
            pop
        68: .line 342
            goto 70
        69: .line 343
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation int org.apache.cassandra.db.compaction.OperationType java.util.List java.util.List top top top top top top top top top top java.lang.Throwable
      StackMap stack: java.lang.Throwable
            pop
        70: .line 347
      StackMap locals:
      StackMap stack:
            aconst_null
            aload 5 /* transactions */
            invokestatic org.apache.cassandra.utils.Throwables.close:(Ljava/lang/Throwable;Ljava/lang/Iterable;)Ljava/lang/Throwable;
            astore 19 /* fail */
        start local 19 // java.lang.Throwable fail
        71: .line 348
            aload 19 /* fail */
            ifnull 73
        72: .line 349
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Failed to cleanup lifecycle transactions ({} for {}.{})"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* operationType */
            aastore
            dup
            iconst_1
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTableName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 19 /* fail */
            aastore
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 19 // java.lang.Throwable fail
        73: .line 350
      StackMap locals:
      StackMap stack:
            aload 17
            athrow
        end local 6 // java.util.List futures
        end local 5 // java.util.List transactions
        end local 4 // org.apache.cassandra.db.compaction.OperationType operationType
        end local 3 // int jobs
        end local 2 // org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation operation
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   74     0           this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   74     1            cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   74     2      operation  Lorg/apache/cassandra/db/compaction/CompactionManager$OneSSTableOperation;
            0   74     3           jobs  I
            0   74     4  operationType  Lorg/apache/cassandra/db/compaction/OperationType;
            2   74     5   transactions  Ljava/util/List<Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;>;
            3   74     6        futures  Ljava/util/List<Ljava/util/concurrent/Future<*>;>;
            5   62     9     compacting  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
           16   60    10       sstables  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           29   47    11        sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           30   47    13            txn  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
           32   47    14       callable  Ljava/util/concurrent/Callable<Ljava/lang/Object;>;
           33   47    15            fut  Ljava/util/concurrent/Future<*>;
           46   47    16              f  Ljava/util/concurrent/Future<*>;
           12   14    19           fail  Ljava/lang/Throwable;
           24   26    19           fail  Ljava/lang/Throwable;
           41   43    19           fail  Ljava/lang/Throwable;
           57   59    19           fail  Ljava/lang/Throwable;
           71   73    19           fail  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.Throwable
          20    21      22  Class java.lang.Throwable
          37    38      39  Class java.lang.Throwable
          53    54      55  Class java.lang.Throwable
           5     7      60  any
          15    19      60  any
          27    36      60  any
          44    52      60  any
           4     8      63  any
          15    20      63  any
          27    37      63  any
          44    53      63  any
          60    63      63  any
           3     8      66  any
          15    20      66  any
          27    37      66  any
          44    53      66  any
          60    66      66  any
          67    68      69  Class java.lang.Throwable
    Exceptions:
      throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
    MethodParameters:
               Name  Flags
      cfs            final
      operation      final
      jobs           
      operationType  

  public org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus performScrub(org.apache.cassandra.db.ColumnFamilyStore, boolean, boolean, int);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;ZZI)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // boolean skipCorrupted
        start local 3 // boolean checkData
        start local 4 // int jobs
         0: .line 377
            aload 0 /* this */
            aload 1 /* cfs */
            iload 2 /* skipCorrupted */
            iload 3 /* checkData */
            iconst_0
            iload 4 /* jobs */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.performScrub:(Lorg/apache/cassandra/db/ColumnFamilyStore;ZZZI)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
            areturn
        end local 4 // int jobs
        end local 3 // boolean checkData
        end local 2 // boolean skipCorrupted
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    1     1            cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    1     2  skipCorrupted  Z
            0    1     3      checkData  Z
            0    1     4           jobs  I
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    MethodParameters:
               Name  Flags
      cfs            final
      skipCorrupted  final
      checkData      final
      jobs           

  public org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus performScrub(org.apache.cassandra.db.ColumnFamilyStore, boolean, boolean, boolean, int);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;ZZZI)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // boolean skipCorrupted
        start local 3 // boolean checkData
        start local 4 // boolean reinsertOverflowedTTL
        start local 5 // int jobs
         0: .line 384
            aload 0 /* this */
            aload 1 /* cfs */
            new org.apache.cassandra.db.compaction.CompactionManager$3
            dup
            aload 0 /* this */
            aload 1 /* cfs */
            iload 2 /* skipCorrupted */
            iload 3 /* checkData */
            iload 4 /* reinsertOverflowedTTL */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$3.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Lorg/apache/cassandra/db/ColumnFamilyStore;ZZZ)V
         1: .line 397
            iload 5 /* jobs */
            getstatic org.apache.cassandra.db.compaction.OperationType.SCRUB:Lorg/apache/cassandra/db/compaction/OperationType;
         2: .line 384
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.parallelAllSSTableOperation:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/compaction/CompactionManager$OneSSTableOperation;ILorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
            areturn
        end local 5 // int jobs
        end local 4 // boolean reinsertOverflowedTTL
        end local 3 // boolean checkData
        end local 2 // boolean skipCorrupted
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0                   this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    3     1                    cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    3     2          skipCorrupted  Z
            0    3     3              checkData  Z
            0    3     4  reinsertOverflowedTTL  Z
            0    3     5                   jobs  I
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    MethodParameters:
                       Name  Flags
      cfs                    final
      skipCorrupted          final
      checkData              final
      reinsertOverflowedTTL  final
      jobs                   

  public org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus performVerify(org.apache.cassandra.db.ColumnFamilyStore, boolean);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Z)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // boolean extendedVerify
         0: .line 402
            getstatic org.apache.cassandra.db.compaction.CompactionManager.$assertionsDisabled:Z
            ifne 1
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.isIndex:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 403
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cfs */
            new org.apache.cassandra.db.compaction.CompactionManager$4
            dup
            aload 0 /* this */
            aload 1 /* cfs */
            iload 2 /* extendedVerify */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$4.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Lorg/apache/cassandra/db/ColumnFamilyStore;Z)V
         2: .line 416
            iconst_0
            getstatic org.apache.cassandra.db.compaction.OperationType.VERIFY:Lorg/apache/cassandra/db/compaction/OperationType;
         3: .line 403
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.parallelAllSSTableOperation:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/compaction/CompactionManager$OneSSTableOperation;ILorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
            areturn
        end local 2 // boolean extendedVerify
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    4     1             cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    4     2  extendedVerify  Z
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    MethodParameters:
                Name  Flags
      cfs             final
      extendedVerify  final

  public org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus performSSTableRewrite(org.apache.cassandra.db.ColumnFamilyStore, boolean, int);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;ZI)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // boolean excludeCurrentVersion
        start local 3 // int jobs
         0: .line 421
            aload 0 /* this */
            aload 1 /* cfs */
            new org.apache.cassandra.db.compaction.CompactionManager$5
            dup
            aload 0 /* this */
            iload 2 /* excludeCurrentVersion */
            aload 1 /* cfs */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$5.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;ZLorg/apache/cassandra/db/ColumnFamilyStore;)V
         1: .line 449
            iload 3 /* jobs */
            getstatic org.apache.cassandra.db.compaction.OperationType.UPGRADE_SSTABLES:Lorg/apache/cassandra/db/compaction/OperationType;
         2: .line 421
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.parallelAllSSTableOperation:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/compaction/CompactionManager$OneSSTableOperation;ILorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
            areturn
        end local 3 // int jobs
        end local 2 // boolean excludeCurrentVersion
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    3     0                   this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    3     1                    cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    3     2  excludeCurrentVersion  Z
            0    3     3                   jobs  I
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    MethodParameters:
                       Name  Flags
      cfs                    final
      excludeCurrentVersion  final
      jobs                   

  public org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus performCleanup(org.apache.cassandra.db.ColumnFamilyStore, int);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;I)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfStore
        start local 2 // int jobs
         0: .line 454
            getstatic org.apache.cassandra.db.compaction.CompactionManager.$assertionsDisabled:Z
            ifne 1
            aload 1 /* cfStore */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.isIndex:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 455
      StackMap locals:
      StackMap stack:
            aload 1 /* cfStore */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            astore 3 /* keyspace */
        start local 3 // org.apache.cassandra.db.Keyspace keyspace
         2: .line 456
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            invokevirtual org.apache.cassandra.service.StorageService.isJoined:()Z
            ifne 5
         3: .line 458
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Cleanup cannot run before a node has joined the ring"
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
         4: .line 459
            getstatic org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus.ABORTED:Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
            areturn
         5: .line 462
      StackMap locals: org.apache.cassandra.db.Keyspace
      StackMap stack:
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            aload 3 /* keyspace */
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.StorageService.getLocalRanges:(Ljava/lang/String;)Ljava/util/Collection;
            astore 4 /* ranges */
        start local 4 // java.util.Collection ranges
         6: .line 463
            aload 1 /* cfStore */
            getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
            invokevirtual org.apache.cassandra.index.SecondaryIndexManager.hasIndexes:()Z
            istore 5 /* hasIndexes */
        start local 5 // boolean hasIndexes
         7: .line 465
            aload 0 /* this */
            aload 1 /* cfStore */
            new org.apache.cassandra.db.compaction.CompactionManager$6
            dup
            aload 0 /* this */
            aload 4 /* ranges */
            aload 1 /* cfStore */
            iload 5 /* hasIndexes */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$6.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Ljava/util/Collection;Lorg/apache/cassandra/db/ColumnFamilyStore;Z)V
         8: .line 499
            iload 2 /* jobs */
            getstatic org.apache.cassandra.db.compaction.OperationType.CLEANUP:Lorg/apache/cassandra/db/compaction/OperationType;
         9: .line 465
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.parallelAllSSTableOperation:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/compaction/CompactionManager$OneSSTableOperation;ILorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
            areturn
        end local 5 // boolean hasIndexes
        end local 4 // java.util.Collection ranges
        end local 3 // org.apache.cassandra.db.Keyspace keyspace
        end local 2 // int jobs
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfStore
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   10     1     cfStore  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   10     2        jobs  I
            2   10     3    keyspace  Lorg/apache/cassandra/db/Keyspace;
            6   10     4      ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            7   10     5  hasIndexes  Z
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    MethodParameters:
         Name  Flags
      cfStore  final
      jobs     

  public org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus performGarbageCollection(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.schema.CompactionParams$TombstoneOption, int);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;I)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfStore
        start local 2 // org.apache.cassandra.schema.CompactionParams$TombstoneOption tombstoneOption
        start local 3 // int jobs
         0: .line 504
            getstatic org.apache.cassandra.db.compaction.CompactionManager.$assertionsDisabled:Z
            ifne 1
            aload 1 /* cfStore */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.isIndex:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 506
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cfStore */
            new org.apache.cassandra.db.compaction.CompactionManager$7
            dup
            aload 0 /* this */
            aload 1 /* cfStore */
            aload 2 /* tombstoneOption */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$7.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;)V
         2: .line 535
            iload 3 /* jobs */
            getstatic org.apache.cassandra.db.compaction.OperationType.GARBAGE_COLLECT:Lorg/apache/cassandra/db/compaction/OperationType;
         3: .line 506
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.parallelAllSSTableOperation:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/compaction/CompactionManager$OneSSTableOperation;ILorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
            areturn
        end local 3 // int jobs
        end local 2 // org.apache.cassandra.schema.CompactionParams$TombstoneOption tombstoneOption
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfStore
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    4     1          cfStore  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    4     2  tombstoneOption  Lorg/apache/cassandra/schema/CompactionParams$TombstoneOption;
            0    4     3             jobs  I
    Exceptions:
      throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
    MethodParameters:
                 Name  Flags
      cfStore          final
      tombstoneOption  
      jobs             

  public org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus relocateSSTables(org.apache.cassandra.db.ColumnFamilyStore, int);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;I)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // int jobs
         0: .line 540
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getPartitioner:()Lorg/apache/cassandra/dht/IPartitioner;
            invokeinterface org.apache.cassandra.dht.IPartitioner.splitter:()Ljava/util/Optional;
            invokevirtual java.util.Optional.isPresent:()Z
            ifne 3
         1: .line 542
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Partitioner does not support splitting"
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
         2: .line 543
            getstatic org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus.ABORTED:Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
            areturn
         3: .line 545
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.StorageService.getLocalRanges:(Ljava/lang/String;)Ljava/util/Collection;
            astore 3 /* r */
        start local 3 // java.util.Collection r
         4: .line 547
            aload 3 /* r */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 7
         5: .line 549
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Relocate cannot run before a node has joined the ring"
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
         6: .line 550
            getstatic org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus.ABORTED:Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
            areturn
         7: .line 553
      StackMap locals: java.util.Collection
      StackMap stack:
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getDiskBoundaries:()Lorg/apache/cassandra/db/DiskBoundaries;
            astore 4 /* diskBoundaries */
        start local 4 // org.apache.cassandra.db.DiskBoundaries diskBoundaries
         8: .line 555
            aload 0 /* this */
            aload 1 /* cfs */
            new org.apache.cassandra.db.compaction.CompactionManager$8
            dup
            aload 0 /* this */
            aload 4 /* diskBoundaries */
            aload 1 /* cfs */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$8.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Lorg/apache/cassandra/db/DiskBoundaries;Lorg/apache/cassandra/db/ColumnFamilyStore;)V
         9: .line 608
            iload 2 /* jobs */
            getstatic org.apache.cassandra.db.compaction.OperationType.RELOCATE:Lorg/apache/cassandra/db/compaction/OperationType;
        10: .line 555
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.parallelAllSSTableOperation:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/compaction/CompactionManager$OneSSTableOperation;ILorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/compaction/CompactionManager$AllSSTableOpStatus;
            areturn
        end local 4 // org.apache.cassandra.db.DiskBoundaries diskBoundaries
        end local 3 // java.util.Collection r
        end local 2 // int jobs
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   11     1             cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   11     2            jobs  I
            4   11     3               r  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            8   11     4  diskBoundaries  Lorg/apache/cassandra/db/DiskBoundaries;
    Exceptions:
      throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
    MethodParameters:
      Name  Flags
      cfs   final
      jobs  

  public com.google.common.util.concurrent.ListenableFuture<?> submitAntiCompaction(org.apache.cassandra.db.ColumnFamilyStore, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>, org.apache.cassandra.utils.concurrent.Refs<org.apache.cassandra.io.sstable.format.SSTableReader>, long, java.util.UUID);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;Lorg/apache/cassandra/utils/concurrent/Refs;JLjava/util/UUID;)Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=11, args_size=6
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // java.util.Collection ranges
        start local 3 // org.apache.cassandra.utils.concurrent.Refs sstables
        start local 4 // long repairedAt
        start local 6 // java.util.UUID parentRepairSession
         0: .line 628
            new org.apache.cassandra.db.compaction.CompactionManager$9
            dup
            aload 0 /* this */
            aload 1 /* cfs */
            aload 3 /* sstables */
            aload 2 /* ranges */
            lload 4 /* repairedAt */
            aload 6 /* parentRepairSession */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$9.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/utils/concurrent/Refs;Ljava/util/Collection;JLjava/util/UUID;)V
            astore 7 /* runnable */
        start local 7 // java.lang.Runnable runnable
         1: .line 652
            aconst_null
            astore 8 /* ret */
        start local 8 // com.google.common.util.concurrent.ListenableFuture ret
         2: .line 655
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            aload 7 /* runnable */
            ldc "anticompaction"
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.submitIfRunning:(Ljava/lang/Runnable;Ljava/lang/String;)Lcom/google/common/util/concurrent/ListenableFuture;
            astore 8 /* ret */
         3: .line 656
            aload 8 /* ret */
            astore 10
         4: .line 660
            aload 8 /* ret */
            ifnull 5
            aload 8 /* ret */
            invokeinterface com.google.common.util.concurrent.ListenableFuture.isCancelled:()Z
            ifeq 6
         5: .line 661
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.utils.concurrent.Refs long java.util.UUID java.lang.Runnable com.google.common.util.concurrent.ListenableFuture top com.google.common.util.concurrent.ListenableFuture
      StackMap stack:
            aload 3 /* sstables */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.release:()V
         6: .line 656
      StackMap locals:
      StackMap stack:
            aload 10
            areturn
         7: .line 659
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.utils.concurrent.Refs long java.util.UUID java.lang.Runnable com.google.common.util.concurrent.ListenableFuture
      StackMap stack: java.lang.Throwable
            astore 9
         8: .line 660
            aload 8 /* ret */
            ifnull 9
            aload 8 /* ret */
            invokeinterface com.google.common.util.concurrent.ListenableFuture.isCancelled:()Z
            ifeq 10
         9: .line 661
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3 /* sstables */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.release:()V
        10: .line 662
      StackMap locals:
      StackMap stack:
            aload 9
            athrow
        end local 8 // com.google.common.util.concurrent.ListenableFuture ret
        end local 7 // java.lang.Runnable runnable
        end local 6 // java.util.UUID parentRepairSession
        end local 4 // long repairedAt
        end local 3 // org.apache.cassandra.utils.concurrent.Refs sstables
        end local 2 // java.util.Collection ranges
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   11     0                 this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   11     1                  cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   11     2               ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            0   11     3             sstables  Lorg/apache/cassandra/utils/concurrent/Refs<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0   11     4           repairedAt  J
            0   11     6  parentRepairSession  Ljava/util/UUID;
            1   11     7             runnable  Ljava/lang/Runnable;
            2   11     8                  ret  Lcom/google/common/util/concurrent/ListenableFuture<*>;
      Exception table:
        from    to  target  type
           2     4       7  any
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;Lorg/apache/cassandra/utils/concurrent/Refs<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;JLjava/util/UUID;)Lcom/google/common/util/concurrent/ListenableFuture<*>;
    MethodParameters:
                     Name  Flags
      cfs                  final
      ranges               final
      sstables             final
      repairedAt           final
      parentRepairSession  final

  public void performAnticompaction(org.apache.cassandra.db.ColumnFamilyStore, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>, org.apache.cassandra.utils.concurrent.Refs<org.apache.cassandra.io.sstable.format.SSTableReader>, org.apache.cassandra.db.lifecycle.LifecycleTransaction, long, java.util.UUID);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;Lorg/apache/cassandra/utils/concurrent/Refs;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;JLjava/util/UUID;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=20, args_size=7
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // java.util.Collection ranges
        start local 3 // org.apache.cassandra.utils.concurrent.Refs validatedForRepair
        start local 4 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        start local 5 // long repairedAt
        start local 7 // java.util.UUID parentRepairSession
         0: .line 692
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "[repair #{}] Starting anticompaction for {}.{} on {}/{} sstables"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* parentRepairSession */
            aastore
            dup
            iconst_1
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTableName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 3 /* validatedForRepair */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getLiveSSTables:()Ljava/util/Set;
            aastore
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 693
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "[repair #{}] Starting anticompaction for ranges {}"
            aload 7 /* parentRepairSession */
            aload 2 /* ranges */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 694
            new java.util.HashSet
            dup
            aload 3 /* validatedForRepair */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 8 /* sstables */
        start local 8 // java.util.Set sstables
         3: .line 695
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 9 /* mutatedRepairStatuses */
        start local 9 // java.util.Set mutatedRepairStatuses
         4: .line 696
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 10 /* nonAnticompacting */
        start local 10 // java.util.Set nonAnticompacting
         5: .line 698
            aload 8 /* sstables */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 11 /* sstableIterator */
        start local 11 // java.util.Iterator sstableIterator
         6: .line 701
            aload 2 /* ranges */
            invokestatic org.apache.cassandra.dht.Range.normalize:(Ljava/util/Collection;)Ljava/util/List;
            astore 12 /* normalizedRanges */
        start local 12 // java.util.List normalizedRanges
         7: .line 703
            goto 35
         8: .line 705
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.lifecycle.LifecycleTransaction long java.util.UUID java.util.Set java.util.Set java.util.Set java.util.Iterator java.util.List
      StackMap stack:
            aload 11 /* sstableIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 13 /* sstable */
        start local 13 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         9: .line 706
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 14 /* anticompactRanges */
        start local 14 // java.util.List anticompactRanges
        10: .line 709
            aload 13 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.isRepaired:()Z
            ifeq 12
        11: .line 710
            aload 10 /* nonAnticompacting */
            aload 13 /* sstable */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        12: .line 712
      StackMap locals: org.apache.cassandra.io.sstable.format.SSTableReader java.util.List
      StackMap stack:
            new org.apache.cassandra.dht.Bounds
            dup
            aload 13 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.first:Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
            aload 13 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.last:Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
            invokespecial org.apache.cassandra.dht.Bounds.<init>:(Lorg/apache/cassandra/dht/RingPosition;Lorg/apache/cassandra/dht/RingPosition;)V
            astore 15 /* sstableBounds */
        start local 15 // org.apache.cassandra.dht.Bounds sstableBounds
        13: .line 714
            iconst_0
            istore 16 /* shouldAnticompact */
        start local 16 // boolean shouldAnticompact
        14: .line 716
            aload 12 /* normalizedRanges */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 18
            goto 28
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.lifecycle.LifecycleTransaction long java.util.UUID java.util.Set java.util.Set java.util.Set java.util.Iterator java.util.List org.apache.cassandra.io.sstable.format.SSTableReader java.util.List org.apache.cassandra.dht.Bounds int top java.util.Iterator
      StackMap stack:
        15: aload 18
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.dht.Range
            astore 17 /* r */
        start local 17 // org.apache.cassandra.dht.Range r
        16: .line 718
            aload 17 /* r */
            aload 15 /* sstableBounds */
            getfield org.apache.cassandra.dht.Bounds.left:Lorg/apache/cassandra/dht/RingPosition;
            checkcast org.apache.cassandra.dht.Token
            invokevirtual org.apache.cassandra.dht.Range.contains:(Lorg/apache/cassandra/dht/RingPosition;)Z
            ifeq 25
            aload 17 /* r */
            aload 15 /* sstableBounds */
            getfield org.apache.cassandra.dht.Bounds.right:Lorg/apache/cassandra/dht/RingPosition;
            checkcast org.apache.cassandra.dht.Token
            invokevirtual org.apache.cassandra.dht.Range.contains:(Lorg/apache/cassandra/dht/RingPosition;)Z
            ifeq 25
        17: .line 720
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "[repair #{}] SSTable {} fully contained in range {}, mutating repairedAt instead of anticompacting"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* parentRepairSession */
            aastore
            dup
            iconst_1
            aload 13 /* sstable */
            aastore
            dup
            iconst_2
            aload 17 /* r */
            aastore
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
        18: .line 721
            aload 13 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
            invokevirtual org.apache.cassandra.io.sstable.Descriptor.getMetadataSerializer:()Lorg/apache/cassandra/io/sstable/metadata/IMetadataSerializer;
            aload 13 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
            lload 5 /* repairedAt */
            invokeinterface org.apache.cassandra.io.sstable.metadata.IMetadataSerializer.mutateRepairedAt:(Lorg/apache/cassandra/io/sstable/Descriptor;J)V
        19: .line 722
            aload 13 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.reloadSSTableMetadata:()V
        20: .line 723
            aload 10 /* nonAnticompacting */
            aload 13 /* sstable */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 22
        21: .line 724
            aload 9 /* mutatedRepairStatuses */
            aload 13 /* sstable */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        22: .line 725
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.lifecycle.LifecycleTransaction long java.util.UUID java.util.Set java.util.Set java.util.Set java.util.Iterator java.util.List org.apache.cassandra.io.sstable.format.SSTableReader java.util.List org.apache.cassandra.dht.Bounds int org.apache.cassandra.dht.Range java.util.Iterator
      StackMap stack:
            aload 11 /* sstableIterator */
            invokeinterface java.util.Iterator.remove:()V
        23: .line 726
            iconst_1
            istore 16 /* shouldAnticompact */
        24: .line 727
            goto 29
        25: .line 729
      StackMap locals:
      StackMap stack:
            aload 17 /* r */
            aload 15 /* sstableBounds */
            invokevirtual org.apache.cassandra.dht.Range.intersects:(Lorg/apache/cassandra/dht/Bounds;)Z
            ifeq 28
            aload 10 /* nonAnticompacting */
            aload 13 /* sstable */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 28
        26: .line 731
            aload 14 /* anticompactRanges */
            aload 17 /* r */
            invokevirtual org.apache.cassandra.dht.Range.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        27: .line 732
            iconst_1
            istore 16 /* shouldAnticompact */
        end local 17 // org.apache.cassandra.dht.Range r
        28: .line 716
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.lifecycle.LifecycleTransaction long java.util.UUID java.util.Set java.util.Set java.util.Set java.util.Iterator java.util.List org.apache.cassandra.io.sstable.format.SSTableReader java.util.List org.apache.cassandra.dht.Bounds int top java.util.Iterator
      StackMap stack:
            aload 18
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        29: .line 736
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.lifecycle.LifecycleTransaction long java.util.UUID java.util.Set java.util.Set java.util.Set java.util.Iterator java.util.List org.apache.cassandra.io.sstable.format.SSTableReader java.util.List org.apache.cassandra.dht.Bounds int
      StackMap stack:
            aload 14 /* anticompactRanges */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 31
        30: .line 737
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "[repair #{}] SSTable {} ({}) will be anticompacted on range {}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* parentRepairSession */
            aastore
            dup
            iconst_1
            aload 13 /* sstable */
            aastore
            dup
            iconst_2
            aload 15 /* sstableBounds */
            aastore
            dup
            iconst_3
            ldc ", "
            aload 14 /* anticompactRanges */
            invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
            aastore
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
        31: .line 739
      StackMap locals:
      StackMap stack:
            iload 16 /* shouldAnticompact */
            ifne 35
        32: .line 741
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "[repair #{}] SSTable {} ({}) not subject to anticompaction of repaired ranges {}, not touching repairedAt."
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* parentRepairSession */
            aastore
            dup
            iconst_1
            aload 13 /* sstable */
            aastore
            dup
            iconst_2
            aload 15 /* sstableBounds */
            aastore
            dup
            iconst_3
            aload 12 /* normalizedRanges */
            aastore
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
        33: .line 742
            aload 10 /* nonAnticompacting */
            aload 13 /* sstable */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        34: .line 743
            aload 11 /* sstableIterator */
            invokeinterface java.util.Iterator.remove:()V
        end local 16 // boolean shouldAnticompact
        end local 15 // org.apache.cassandra.dht.Bounds sstableBounds
        end local 14 // java.util.List anticompactRanges
        end local 13 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        35: .line 703
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.lifecycle.LifecycleTransaction long java.util.UUID java.util.Set java.util.Set java.util.Set java.util.Iterator java.util.List
      StackMap stack:
            aload 11 /* sstableIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        36: .line 746
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
            aload 9 /* mutatedRepairStatuses */
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.notifySSTableRepairedStatusChanged:(Ljava/util/Collection;)V
        37: .line 747
            aload 4 /* txn */
            aload 10 /* nonAnticompacting */
            aload 9 /* mutatedRepairStatuses */
            invokestatic com.google.common.collect.Sets.union:(Ljava/util/Set;Ljava/util/Set;)Lcom/google/common/collect/Sets$SetView;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.cancel:(Ljava/lang/Iterable;)V
        38: .line 748
            aload 3 /* validatedForRepair */
            aload 10 /* nonAnticompacting */
            aload 9 /* mutatedRepairStatuses */
            invokestatic com.google.common.collect.Sets.union:(Ljava/util/Set;Ljava/util/Set;)Lcom/google/common/collect/Sets$SetView;
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.release:(Ljava/util/Collection;)V
        39: .line 749
            getstatic org.apache.cassandra.db.compaction.CompactionManager.$assertionsDisabled:Z
            ifne 40
            aload 4 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            aload 8 /* sstables */
            invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
            ifne 40
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        40: .line 750
      StackMap locals:
      StackMap stack:
            aload 8 /* sstables */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 42
        41: .line 751
            aload 0 /* this */
            aload 1 /* cfs */
            aload 2 /* ranges */
            aload 4 /* txn */
            lload 5 /* repairedAt */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.doAntiCompaction:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;J)V
        42: .line 752
      StackMap locals:
      StackMap stack:
            aload 4 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.finish:()Ljava/lang/Object;
            pop
        end local 12 // java.util.List normalizedRanges
        43: .line 753
            goto 48
        44: .line 755
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.lifecycle.LifecycleTransaction long java.util.UUID java.util.Set java.util.Set java.util.Set java.util.Iterator
      StackMap stack: java.lang.Throwable
            astore 19
        45: .line 756
            aload 3 /* validatedForRepair */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.release:()V
        46: .line 757
            aload 4 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
        47: .line 758
            aload 19
            athrow
        48: .line 756
      StackMap locals:
      StackMap stack:
            aload 3 /* validatedForRepair */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.release:()V
        49: .line 757
            aload 4 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
        50: .line 760
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "[repair #{}] Completed anticompaction successfully"
            aload 7 /* parentRepairSession */
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
        51: .line 761
            return
        end local 11 // java.util.Iterator sstableIterator
        end local 10 // java.util.Set nonAnticompacting
        end local 9 // java.util.Set mutatedRepairStatuses
        end local 8 // java.util.Set sstables
        end local 7 // java.util.UUID parentRepairSession
        end local 5 // long repairedAt
        end local 4 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        end local 3 // org.apache.cassandra.utils.concurrent.Refs validatedForRepair
        end local 2 // java.util.Collection ranges
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   52     0                   this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   52     1                    cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   52     2                 ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            0   52     3     validatedForRepair  Lorg/apache/cassandra/utils/concurrent/Refs<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0   52     4                    txn  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            0   52     5             repairedAt  J
            0   52     7    parentRepairSession  Ljava/util/UUID;
            3   52     8               sstables  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            4   52     9  mutatedRepairStatuses  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            5   52    10      nonAnticompacting  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            6   52    11        sstableIterator  Ljava/util/Iterator<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            7   43    12       normalizedRanges  Ljava/util/List<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            9   35    13                sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           10   35    14      anticompactRanges  Ljava/util/List<Ljava/lang/String;>;
           13   35    15          sstableBounds  Lorg/apache/cassandra/dht/Bounds<Lorg/apache/cassandra/dht/Token;>;
           14   35    16      shouldAnticompact  Z
           16   28    17                      r  Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;
      Exception table:
        from    to  target  type
           6    44      44  any
    Exceptions:
      throws java.lang.InterruptedException, java.io.IOException
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;Lorg/apache/cassandra/utils/concurrent/Refs<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;JLjava/util/UUID;)V
    MethodParameters:
                     Name  Flags
      cfs                  
      ranges               
      validatedForRepair   
      txn                  
      repairedAt           
      parentRepairSession  

  public void performMaximal(org.apache.cassandra.db.ColumnFamilyStore, boolean);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfStore
        start local 2 // boolean splitOutput
         0: .line 765
            aload 0 /* this */
            aload 1 /* cfStore */
            aload 1 /* cfStore */
            invokestatic org.apache.cassandra.utils.FBUtilities.nowInSeconds:()I
            invokestatic org.apache.cassandra.db.compaction.CompactionManager.getDefaultGcBefore:(Lorg/apache/cassandra/db/ColumnFamilyStore;I)I
            iload 2 /* splitOutput */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.submitMaximal:(Lorg/apache/cassandra/db/ColumnFamilyStore;IZ)Ljava/util/List;
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFutures:(Ljava/lang/Iterable;)Ljava/util/List;
            pop
         1: .line 766
            return
        end local 2 // boolean splitOutput
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfStore
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    2     1      cfStore  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    2     2  splitOutput  Z
    MethodParameters:
             Name  Flags
      cfStore      final
      splitOutput  

  public java.util.List<java.util.concurrent.Future<?>> submitMaximal(org.apache.cassandra.db.ColumnFamilyStore, int, boolean);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;IZ)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfStore
        start local 2 // int gcBefore
        start local 3 // boolean splitOutput
         0: .line 773
            aload 1 /* cfStore */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            iload 2 /* gcBefore */
            iload 3 /* splitOutput */
            invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.getMaximalTasks:(IZ)Ljava/util/Collection;
            astore 4 /* tasks */
        start local 4 // java.util.Collection tasks
         1: .line 775
            aload 4 /* tasks */
            ifnonnull 3
         2: .line 776
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         3: .line 778
      StackMap locals: java.util.Collection
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* futures */
        start local 5 // java.util.List futures
         4: .line 780
            iconst_0
            istore 6 /* nonEmptyTasks */
        start local 6 // int nonEmptyTasks
         5: .line 781
            aload 4 /* tasks */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 13
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore int int java.util.Collection java.util.List int top java.util.Iterator
      StackMap stack:
         6: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.compaction.AbstractCompactionTask
            astore 7 /* task */
        start local 7 // org.apache.cassandra.db.compaction.AbstractCompactionTask task
         7: .line 783
            aload 7 /* task */
            getfield org.apache.cassandra.db.compaction.AbstractCompactionTask.transaction:Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            ifle 9
         8: .line 784
            iinc 6 /* nonEmptyTasks */ 1
         9: .line 786
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore int int java.util.Collection java.util.List int org.apache.cassandra.db.compaction.AbstractCompactionTask java.util.Iterator
      StackMap stack:
            new org.apache.cassandra.db.compaction.CompactionManager$10
            dup
            aload 0 /* this */
            aload 7 /* task */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$10.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Lorg/apache/cassandra/db/compaction/AbstractCompactionTask;)V
            astore 9 /* runnable */
        start local 9 // java.lang.Runnable runnable
        10: .line 794
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            aload 9 /* runnable */
            ldc "maximal task"
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.submitIfRunning:(Ljava/lang/Runnable;Ljava/lang/String;)Lcom/google/common/util/concurrent/ListenableFuture;
            astore 10 /* fut */
        start local 10 // java.util.concurrent.Future fut
        11: .line 795
            aload 10 /* fut */
            invokeinterface java.util.concurrent.Future.isCancelled:()Z
            ifne 13
        12: .line 796
            aload 5 /* futures */
            aload 10 /* fut */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // java.util.concurrent.Future fut
        end local 9 // java.lang.Runnable runnable
        end local 7 // org.apache.cassandra.db.compaction.AbstractCompactionTask task
        13: .line 781
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore int int java.util.Collection java.util.List int top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        14: .line 798
            iload 6 /* nonEmptyTasks */
            iconst_1
            if_icmple 16
        15: .line 799
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Major compaction will not result in a single sstable - repaired and unrepaired data is kept separate and compaction runs per data_file_directory."
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
        16: .line 802
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore int int java.util.Collection java.util.List int
      StackMap stack:
            aload 5 /* futures */
            areturn
        end local 6 // int nonEmptyTasks
        end local 5 // java.util.List futures
        end local 4 // java.util.Collection tasks
        end local 3 // boolean splitOutput
        end local 2 // int gcBefore
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfStore
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   17     1        cfStore  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   17     2       gcBefore  I
            0   17     3    splitOutput  Z
            1   17     4          tasks  Ljava/util/Collection<Lorg/apache/cassandra/db/compaction/AbstractCompactionTask;>;
            4   17     5        futures  Ljava/util/List<Ljava/util/concurrent/Future<*>;>;
            5   17     6  nonEmptyTasks  I
            7   13     7           task  Lorg/apache/cassandra/db/compaction/AbstractCompactionTask;
           10   13     9       runnable  Ljava/lang/Runnable;
           11   13    10            fut  Ljava/util/concurrent/Future<*>;
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;IZ)Ljava/util/List<Ljava/util/concurrent/Future<*>;>;
    MethodParameters:
             Name  Flags
      cfStore      final
      gcBefore     final
      splitOutput  

  public void forceCompactionForTokenRange(org.apache.cassandra.db.ColumnFamilyStore, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfStore
        start local 2 // java.util.Collection ranges
         0: .line 807
            aload 1 /* cfStore */
            aload 2 /* ranges */
            invokedynamic call(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;)Ljava/util/concurrent/Callable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/apache/cassandra/db/compaction/CompactionManager.lambda$0(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;)Ljava/util/Collection; (6)
                  ()Ljava/util/Collection;
            astore 3 /* taskCreator */
        start local 3 // java.util.concurrent.Callable taskCreator
         1: .line 817
            aload 1 /* cfStore */
            aload 3 /* taskCreator */
            iconst_0
            iconst_0
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.runWithCompactionsDisabled:(Ljava/util/concurrent/Callable;ZZ)Ljava/lang/Object;
            checkcast java.util.Collection
            astore 4 /* tasks */
        start local 4 // java.util.Collection tasks
         2: .line 819
            aload 4 /* tasks */
            ifnonnull 4
         3: .line 820
            return
         4: .line 822
      StackMap locals: java.util.concurrent.Callable java.util.Collection
      StackMap stack:
            new org.apache.cassandra.db.compaction.CompactionManager$11
            dup
            aload 0 /* this */
            aload 4 /* tasks */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$11.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Ljava/util/Collection;)V
            astore 5 /* runnable */
        start local 5 // java.lang.Runnable runnable
         5: .line 839
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            aload 5 /* runnable */
            ldc "force compaction for token range"
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.submitIfRunning:(Ljava/lang/Runnable;Ljava/lang/String;)Lcom/google/common/util/concurrent/ListenableFuture;
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFuture:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
            pop
         6: .line 840
            return
        end local 5 // java.lang.Runnable runnable
        end local 4 // java.util.Collection tasks
        end local 3 // java.util.concurrent.Callable taskCreator
        end local 2 // java.util.Collection ranges
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfStore
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    7     1      cfStore  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    7     2       ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            1    7     3  taskCreator  Ljava/util/concurrent/Callable<Ljava/util/Collection<Lorg/apache/cassandra/db/compaction/AbstractCompactionTask;>;>;
            2    7     4        tasks  Ljava/util/Collection<Lorg/apache/cassandra/db/compaction/AbstractCompactionTask;>;
            5    7     5     runnable  Ljava/lang/Runnable;
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;)V
    MethodParameters:
         Name  Flags
      cfStore  
      ranges   

  private static java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader> sstablesInBounds(org.apache.cassandra.db.ColumnFamilyStore, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 1 // java.util.Collection tokenRangeCollection
         0: .line 844
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* sstables */
        start local 2 // java.util.Set sstables
         1: .line 845
            aload 0 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.getView:()Lorg/apache/cassandra/db/lifecycle/View;
            getstatic org.apache.cassandra.db.lifecycle.SSTableSet.LIVE:Lorg/apache/cassandra/db/lifecycle/SSTableSet;
            invokevirtual org.apache.cassandra.db.lifecycle.View.select:(Lorg/apache/cassandra/db/lifecycle/SSTableSet;)Ljava/lang/Iterable;
            astore 3 /* liveTables */
        start local 3 // java.lang.Iterable liveTables
         2: .line 846
            aload 3 /* liveTables */
            invokestatic org.apache.cassandra.db.lifecycle.SSTableIntervalTree.build:(Ljava/lang/Iterable;)Lorg/apache/cassandra/db/lifecycle/SSTableIntervalTree;
            astore 4 /* tree */
        start local 4 // org.apache.cassandra.db.lifecycle.SSTableIntervalTree tree
         3: .line 848
            aload 1 /* tokenRangeCollection */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore java.util.Collection java.util.Set java.lang.Iterable org.apache.cassandra.db.lifecycle.SSTableIntervalTree top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.dht.Range
            astore 5 /* tokenRange */
        start local 5 // org.apache.cassandra.dht.Range tokenRange
         5: .line 850
            aload 5 /* tokenRange */
            getfield org.apache.cassandra.dht.Range.left:Lorg/apache/cassandra/dht/RingPosition;
            checkcast org.apache.cassandra.dht.Token
            invokevirtual org.apache.cassandra.dht.Token.minKeyBound:()Lorg/apache/cassandra/dht/Token$KeyBound;
            aload 5 /* tokenRange */
            getfield org.apache.cassandra.dht.Range.right:Lorg/apache/cassandra/dht/RingPosition;
            checkcast org.apache.cassandra.dht.Token
            invokevirtual org.apache.cassandra.dht.Token.maxKeyBound:()Lorg/apache/cassandra/dht/Token$KeyBound;
            aload 4 /* tree */
            invokestatic org.apache.cassandra.db.lifecycle.View.sstablesInBounds:(Lorg/apache/cassandra/db/PartitionPosition;Lorg/apache/cassandra/db/PartitionPosition;Lorg/apache/cassandra/db/lifecycle/SSTableIntervalTree;)Ljava/util/List;
            astore 7 /* ssTableReaders */
        start local 7 // java.lang.Iterable ssTableReaders
         6: .line 851
            aload 2 /* sstables */
            aload 7 /* ssTableReaders */
            invokestatic com.google.common.collect.Iterables.addAll:(Ljava/util/Collection;Ljava/lang/Iterable;)Z
            pop
        end local 7 // java.lang.Iterable ssTableReaders
        end local 5 // org.apache.cassandra.dht.Range tokenRange
         7: .line 848
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 853
            aload 2 /* sstables */
            areturn
        end local 4 // org.apache.cassandra.db.lifecycle.SSTableIntervalTree tree
        end local 3 // java.lang.Iterable liveTables
        end local 2 // java.util.Set sstables
        end local 1 // java.util.Collection tokenRangeCollection
        end local 0 // org.apache.cassandra.db.ColumnFamilyStore cfs
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    9     0                   cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    9     1  tokenRangeCollection  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            1    9     2              sstables  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            2    9     3            liveTables  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            3    9     4                  tree  Lorg/apache/cassandra/db/lifecycle/SSTableIntervalTree;
            5    7     5            tokenRange  Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;
            6    7     7        ssTableReaders  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;)Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    MethodParameters:
                      Name  Flags
      cfs                   
      tokenRangeCollection  

  public void forceUserDefinedCompaction(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // java.lang.String dataFiles
         0: .line 858
            aload 1 /* dataFiles */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* filenames */
        start local 2 // java.lang.String[] filenames
         1: .line 859
            invokestatic com.google.common.collect.ArrayListMultimap.create:()Lcom/google/common/collect/ArrayListMultimap;
            astore 3 /* descriptors */
        start local 3 // com.google.common.collect.Multimap descriptors
         2: .line 861
            aload 2 /* filenames */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 11
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String java.lang.String[] com.google.common.collect.Multimap top int int java.lang.String[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* filename */
        start local 4 // java.lang.String filename
         4: .line 864
            aload 4 /* filename */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic org.apache.cassandra.io.sstable.Descriptor.fromFilename:(Ljava/lang/String;)Lorg/apache/cassandra/io/sstable/Descriptor;
            astore 8 /* desc */
        start local 8 // org.apache.cassandra.io.sstable.Descriptor desc
         5: .line 865
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 8 /* desc */
            invokevirtual org.apache.cassandra.config.Schema.getCFMetaData:(Lorg/apache/cassandra/io/sstable/Descriptor;)Lorg/apache/cassandra/config/CFMetaData;
            ifnonnull 8
         6: .line 867
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Schema does not exist for file {}. Skipping."
            aload 4 /* filename */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 868
            goto 10
         8: .line 871
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String java.lang.String[] com.google.common.collect.Multimap java.lang.String int int java.lang.String[] org.apache.cassandra.io.sstable.Descriptor
      StackMap stack:
            aload 8 /* desc */
            getfield org.apache.cassandra.io.sstable.Descriptor.ksname:Ljava/lang/String;
            invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
            aload 8 /* desc */
            getfield org.apache.cassandra.io.sstable.Descriptor.cfname:Ljava/lang/String;
            invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/lang/String;)Lorg/apache/cassandra/db/ColumnFamilyStore;
            astore 9 /* cfs */
        start local 9 // org.apache.cassandra.db.ColumnFamilyStore cfs
         9: .line 872
            aload 3 /* descriptors */
            aload 9 /* cfs */
            aload 9 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getDirectories:()Lorg/apache/cassandra/db/Directories;
            new java.io.File
            dup
            aload 4 /* filename */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.db.Directories.find:(Ljava/lang/String;)Lorg/apache/cassandra/io/sstable/Descriptor;
            invokeinterface com.google.common.collect.Multimap.put:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
        end local 9 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 8 // org.apache.cassandra.io.sstable.Descriptor desc
        end local 4 // java.lang.String filename
        10: .line 861
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String java.lang.String[] com.google.common.collect.Multimap top int int java.lang.String[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        11: iload 5
            iload 6
            if_icmplt 3
        12: .line 875
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* futures */
        start local 4 // java.util.List futures
        13: .line 876
            invokestatic org.apache.cassandra.utils.FBUtilities.nowInSeconds:()I
            istore 5 /* nowInSec */
        start local 5 // int nowInSec
        14: .line 877
            aload 3 /* descriptors */
            invokeinterface com.google.common.collect.Multimap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 17
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String java.lang.String[] com.google.common.collect.Multimap java.util.List int top java.util.Iterator
      StackMap stack:
        15: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.ColumnFamilyStore
            astore 6 /* cfs */
        start local 6 // org.apache.cassandra.db.ColumnFamilyStore cfs
        16: .line 878
            aload 4 /* futures */
            aload 0 /* this */
            aload 6 /* cfs */
            aload 3 /* descriptors */
            aload 6 /* cfs */
            invokeinterface com.google.common.collect.Multimap.get:(Ljava/lang/Object;)Ljava/util/Collection;
            aload 6 /* cfs */
            iload 5 /* nowInSec */
            invokestatic org.apache.cassandra.db.compaction.CompactionManager.getDefaultGcBefore:(Lorg/apache/cassandra/db/ColumnFamilyStore;I)I
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.submitUserDefined:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;I)Ljava/util/concurrent/Future;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.apache.cassandra.db.ColumnFamilyStore cfs
        17: .line 877
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        18: .line 879
            aload 4 /* futures */
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFutures:(Ljava/lang/Iterable;)Ljava/util/List;
            pop
        19: .line 880
            return
        end local 5 // int nowInSec
        end local 4 // java.util.List futures
        end local 3 // com.google.common.collect.Multimap descriptors
        end local 2 // java.lang.String[] filenames
        end local 1 // java.lang.String dataFiles
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0         this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   20     1    dataFiles  Ljava/lang/String;
            1   20     2    filenames  [Ljava/lang/String;
            2   20     3  descriptors  Lcom/google/common/collect/Multimap<Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/io/sstable/Descriptor;>;
            4   10     4     filename  Ljava/lang/String;
            5   10     8         desc  Lorg/apache/cassandra/io/sstable/Descriptor;
            9   10     9          cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
           13   20     4      futures  Ljava/util/List<Ljava/util/concurrent/Future<*>;>;
           14   20     5     nowInSec  I
           16   17     6          cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
    MethodParameters:
           Name  Flags
      dataFiles  

  public void forceUserDefinedCleanup(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=15, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // java.lang.String dataFiles
         0: .line 884
            aload 1 /* dataFiles */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* filenames */
        start local 2 // java.lang.String[] filenames
         1: .line 885
            invokestatic com.google.common.collect.Maps.newHashMap:()Ljava/util/HashMap;
            astore 3 /* descriptors */
        start local 3 // java.util.HashMap descriptors
         2: .line 887
            aload 2 /* filenames */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 13
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String java.lang.String[] java.util.HashMap top int int java.lang.String[]
      StackMap stack:
         3: aload 7
            iload 5
            aaload
            astore 4 /* filename */
        start local 4 // java.lang.String filename
         4: .line 890
            aload 4 /* filename */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokestatic org.apache.cassandra.io.sstable.Descriptor.fromFilename:(Ljava/lang/String;)Lorg/apache/cassandra/io/sstable/Descriptor;
            astore 8 /* desc */
        start local 8 // org.apache.cassandra.io.sstable.Descriptor desc
         5: .line 891
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 8 /* desc */
            invokevirtual org.apache.cassandra.config.Schema.getCFMetaData:(Lorg/apache/cassandra/io/sstable/Descriptor;)Lorg/apache/cassandra/config/CFMetaData;
            ifnonnull 8
         6: .line 893
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Schema does not exist for file {}. Skipping."
            aload 4 /* filename */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 894
            goto 12
         8: .line 897
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String java.lang.String[] java.util.HashMap java.lang.String int int java.lang.String[] org.apache.cassandra.io.sstable.Descriptor
      StackMap stack:
            aload 8 /* desc */
            getfield org.apache.cassandra.io.sstable.Descriptor.ksname:Ljava/lang/String;
            invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
            aload 8 /* desc */
            getfield org.apache.cassandra.io.sstable.Descriptor.cfname:Ljava/lang/String;
            invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStore:(Ljava/lang/String;)Lorg/apache/cassandra/db/ColumnFamilyStore;
            astore 9 /* cfs */
        start local 9 // org.apache.cassandra.db.ColumnFamilyStore cfs
         9: .line 898
            aload 9 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getDirectories:()Lorg/apache/cassandra/db/Directories;
            new java.io.File
            dup
            aload 4 /* filename */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.db.Directories.find:(Ljava/lang/String;)Lorg/apache/cassandra/io/sstable/Descriptor;
            astore 8 /* desc */
        10: .line 899
            aload 8 /* desc */
            ifnull 12
        11: .line 900
            aload 3 /* descriptors */
            aload 9 /* cfs */
            aload 8 /* desc */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 8 // org.apache.cassandra.io.sstable.Descriptor desc
        end local 4 // java.lang.String filename
        12: .line 887
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String java.lang.String[] java.util.HashMap top int int java.lang.String[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        13: iload 5
            iload 6
            if_icmplt 3
        14: .line 903
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            invokevirtual org.apache.cassandra.service.StorageService.isJoined:()Z
            ifne 17
        15: .line 905
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Cleanup cannot run before a node has joined the ring"
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
        16: .line 906
            return
        17: .line 909
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String java.lang.String[] java.util.HashMap
      StackMap stack:
            aload 3 /* descriptors */
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 39
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String java.lang.String[] java.util.HashMap top java.util.Iterator
      StackMap stack:
        18: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
        19: .line 911
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.ColumnFamilyStore
            astore 6 /* cfs */
        start local 6 // org.apache.cassandra.db.ColumnFamilyStore cfs
        20: .line 912
            aload 6 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            astore 7 /* keyspace */
        start local 7 // org.apache.cassandra.db.Keyspace keyspace
        21: .line 913
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            aload 7 /* keyspace */
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.StorageService.getLocalRanges:(Ljava/lang/String;)Ljava/util/Collection;
            astore 8 /* ranges */
        start local 8 // java.util.Collection ranges
        22: .line 914
            aload 6 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
            invokevirtual org.apache.cassandra.index.SecondaryIndexManager.hasIndexes:()Z
            istore 9 /* hasIndexes */
        start local 9 // boolean hasIndexes
        23: .line 915
            aload 0 /* this */
            aload 6 /* cfs */
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.Descriptor
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.lookupSSTable:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/io/sstable/Descriptor;)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            astore 10 /* sstable */
        start local 10 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        24: .line 917
            aload 10 /* sstable */
            ifnonnull 27
        25: .line 919
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Will not clean {}, it is not an active sstable"
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
        26: .line 920
            goto 39
        27: .line 923
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String java.lang.String[] java.util.HashMap java.util.Map$Entry java.util.Iterator org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.Keyspace java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader
      StackMap stack:
            aload 6 /* cfs */
            aload 8 /* ranges */
            invokestatic org.apache.cassandra.utils.FBUtilities.nowInSeconds:()I
            invokestatic org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy.get:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;I)Lorg/apache/cassandra/db/compaction/CompactionManager$CleanupStrategy;
            astore 11 /* cleanupStrategy */
        start local 11 // org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy cleanupStrategy
        28: .line 924
            aconst_null
            astore 12
            aconst_null
            astore 13
        29: aload 6 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getTracker:()Lorg/apache/cassandra/db/lifecycle/Tracker;
            aload 10 /* sstable */
            getstatic org.apache.cassandra.db.compaction.OperationType.CLEANUP:Lorg/apache/cassandra/db/compaction/OperationType;
            invokevirtual org.apache.cassandra.db.lifecycle.Tracker.tryModify:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/db/compaction/OperationType;)Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            astore 14 /* txn */
        start local 14 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        30: .line 926
            aload 0 /* this */
            aload 6 /* cfs */
            aload 14 /* txn */
            aload 11 /* cleanupStrategy */
            aload 8 /* ranges */
            iload 9 /* hasIndexes */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.doCleanupOne:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;Lorg/apache/cassandra/db/compaction/CompactionManager$CleanupStrategy;Ljava/util/Collection;Z)V
        31: .line 927
            aload 14 /* txn */
            ifnull 39
            aload 14 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
            goto 39
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String java.lang.String[] java.util.HashMap java.util.Map$Entry java.util.Iterator org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.Keyspace java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction
      StackMap stack: java.lang.Throwable
        32: astore 12
            aload 14 /* txn */
            ifnull 33
            aload 14 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
        end local 14 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
      StackMap locals:
      StackMap stack:
        33: aload 12
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: astore 13
            aload 12
            ifnonnull 35
            aload 13
            astore 12
            goto 36
      StackMap locals:
      StackMap stack:
        35: aload 12
            aload 13
            if_acmpeq 36
            aload 12
            aload 13
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        36: aload 12
            athrow
        37: .line 928
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String java.lang.String[] java.util.HashMap java.util.Map$Entry java.util.Iterator org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.Keyspace java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy
      StackMap stack: java.io.IOException
            astore 12 /* e */
        start local 12 // java.io.IOException e
        38: .line 930
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "forceUserDefinedCleanup failed: {}"
            aload 12 /* e */
            invokevirtual java.io.IOException.getLocalizedMessage:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;)V
        end local 12 // java.io.IOException e
        end local 11 // org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy cleanupStrategy
        end local 10 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        end local 9 // boolean hasIndexes
        end local 8 // java.util.Collection ranges
        end local 7 // org.apache.cassandra.db.Keyspace keyspace
        end local 6 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 4 // java.util.Map$Entry entry
        39: .line 909
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String java.lang.String[] java.util.HashMap top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        40: .line 934
            return
        end local 3 // java.util.HashMap descriptors
        end local 2 // java.lang.String[] filenames
        end local 1 // java.lang.String dataFiles
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   41     0             this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   41     1        dataFiles  Ljava/lang/String;
            1   41     2        filenames  [Ljava/lang/String;
            2   41     3      descriptors  Ljava/util/HashMap<Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/io/sstable/Descriptor;>;
            4   12     4         filename  Ljava/lang/String;
            5   12     8             desc  Lorg/apache/cassandra/io/sstable/Descriptor;
            9   12     9              cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
           19   39     4            entry  Ljava/util/Map$Entry<Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/io/sstable/Descriptor;>;
           20   39     6              cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
           21   39     7         keyspace  Lorg/apache/cassandra/db/Keyspace;
           22   39     8           ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
           23   39     9       hasIndexes  Z
           24   39    10          sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           28   39    11  cleanupStrategy  Lorg/apache/cassandra/db/compaction/CompactionManager$CleanupStrategy;
           30   33    14              txn  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
           38   39    12                e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          30    31      32  any
          29    34      34  any
          28    37      37  Class java.io.IOException
    MethodParameters:
           Name  Flags
      dataFiles  

  public java.util.concurrent.Future<?> submitUserDefined(org.apache.cassandra.db.ColumnFamilyStore, java.util.Collection<org.apache.cassandra.io.sstable.Descriptor>, int);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;I)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // java.util.Collection dataFiles
        start local 3 // int gcBefore
         0: .line 939
            new org.apache.cassandra.db.compaction.CompactionManager$12
            dup
            aload 0 /* this */
            aload 2 /* dataFiles */
            aload 1 /* cfs */
            iload 3 /* gcBefore */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$12.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Ljava/util/Collection;Lorg/apache/cassandra/db/ColumnFamilyStore;I)V
            astore 4 /* runnable */
        start local 4 // java.lang.Runnable runnable
         1: .line 983
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            aload 4 /* runnable */
            ldc "user defined task"
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.submitIfRunning:(Ljava/lang/Runnable;Ljava/lang/String;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 4 // java.lang.Runnable runnable
        end local 3 // int gcBefore
        end local 2 // java.util.Collection dataFiles
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    2     1        cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    2     2  dataFiles  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/Descriptor;>;
            0    2     3   gcBefore  I
            1    2     4   runnable  Ljava/lang/Runnable;
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/Descriptor;>;I)Ljava/util/concurrent/Future<*>;
    MethodParameters:
           Name  Flags
      cfs        final
      dataFiles  final
      gcBefore   final

  private org.apache.cassandra.io.sstable.format.SSTableReader lookupSSTable(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.io.sstable.Descriptor);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/io/sstable/Descriptor;)Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // org.apache.cassandra.io.sstable.Descriptor descriptor
         0: .line 990
            aload 1 /* cfs */
            getstatic org.apache.cassandra.db.lifecycle.SSTableSet.CANONICAL:Lorg/apache/cassandra/db/lifecycle/SSTableSet;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getSSTables:(Lorg/apache/cassandra/db/lifecycle/SSTableSet;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.io.sstable.Descriptor top java.util.Iterator
      StackMap stack:
         1: 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
         2: .line 992
            aload 3 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
            aload 2 /* descriptor */
            invokevirtual org.apache.cassandra.io.sstable.Descriptor.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 993
            aload 3 /* sstable */
            areturn
        end local 3 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         4: .line 990
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 995
            aconst_null
            areturn
        end local 2 // org.apache.cassandra.io.sstable.Descriptor descriptor
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    6     1         cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    6     2  descriptor  Lorg/apache/cassandra/io/sstable/Descriptor;
            2    4     3     sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    MethodParameters:
            Name  Flags
      cfs         final
      descriptor  

  public java.util.concurrent.Future<?> submitValidation(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.repair.Validator);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/repair/Validator;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfStore
        start local 2 // org.apache.cassandra.repair.Validator validator
         0: .line 1003
            new org.apache.cassandra.db.compaction.CompactionManager$13
            dup
            aload 0 /* this */
            aload 1 /* cfStore */
            aload 2 /* validator */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$13.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/repair/Validator;)V
            astore 3 /* callable */
        start local 3 // java.util.concurrent.Callable callable
         1: .line 1021
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.validationExecutor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            aload 3 /* callable */
            ldc "validation"
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.submitIfRunning:(Ljava/util/concurrent/Callable;Ljava/lang/String;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 3 // java.util.concurrent.Callable callable
        end local 2 // org.apache.cassandra.repair.Validator validator
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfStore
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    2     1    cfStore  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    2     2  validator  Lorg/apache/cassandra/repair/Validator;
            1    2     3   callable  Ljava/util/concurrent/Callable<Ljava/lang/Object;>;
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/repair/Validator;)Ljava/util/concurrent/Future<*>;
    MethodParameters:
           Name  Flags
      cfStore    final
      validator  final

  public void disableAutoCompaction();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=5, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 1027
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.getNonSystemKeyspaces:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 6
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* ksname */
        start local 1 // java.lang.String ksname
         2: .line 1029
            aload 1 /* ksname */
            invokestatic org.apache.cassandra.db.Keyspace.open:(Ljava/lang/String;)Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStores:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String java.util.Iterator top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.ColumnFamilyStore
            astore 3 /* cfs */
        start local 3 // org.apache.cassandra.db.ColumnFamilyStore cfs
         4: .line 1030
            aload 3 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.disableAutoCompaction:()V
        end local 3 // org.apache.cassandra.db.ColumnFamilyStore cfs
         5: .line 1029
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 1 // java.lang.String ksname
         6: .line 1027
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 1032
            return
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            2    6     1  ksname  Ljava/lang/String;
            4    5     3     cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;

  private void scrubOne(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.db.lifecycle.LifecycleTransaction, boolean, boolean, boolean);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;ZZZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=6
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // org.apache.cassandra.db.lifecycle.LifecycleTransaction modifier
        start local 3 // boolean skipCorrupted
        start local 4 // boolean checkData
        start local 5 // boolean reinsertOverflowedTTL
         0: .line 1036
            aconst_null
            astore 6 /* scrubInfo */
        start local 6 // org.apache.cassandra.db.compaction.CompactionInfo$Holder scrubInfo
         1: .line 1038
            aconst_null
            astore 7
            aconst_null
            astore 8
         2: new org.apache.cassandra.db.compaction.Scrubber
            dup
            aload 1 /* cfs */
            aload 2 /* modifier */
            iload 3 /* skipCorrupted */
            iload 4 /* checkData */
            iload 5 /* reinsertOverflowedTTL */
            invokespecial org.apache.cassandra.db.compaction.Scrubber.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;ZZZ)V
            astore 9 /* scrubber */
        start local 9 // org.apache.cassandra.db.compaction.Scrubber scrubber
         3: .line 1040
            aload 9 /* scrubber */
            invokevirtual org.apache.cassandra.db.compaction.Scrubber.getScrubInfo:()Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;
            astore 6 /* scrubInfo */
         4: .line 1041
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            aload 6 /* scrubInfo */
            invokevirtual org.apache.cassandra.metrics.CompactionMetrics.beginCompaction:(Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;)V
         5: .line 1042
            aload 9 /* scrubber */
            invokevirtual org.apache.cassandra.db.compaction.Scrubber.scrub:()V
         6: .line 1043
            aload 9 /* scrubber */
            ifnull 16
            aload 9 /* scrubber */
            invokevirtual org.apache.cassandra.db.compaction.Scrubber.close:()V
            goto 16
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction int int int org.apache.cassandra.db.compaction.CompactionInfo$Holder java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.Scrubber
      StackMap stack: java.lang.Throwable
         7: astore 7
            aload 9 /* scrubber */
            ifnull 8
            aload 9 /* scrubber */
            invokevirtual org.apache.cassandra.db.compaction.Scrubber.close:()V
        end local 9 // org.apache.cassandra.db.compaction.Scrubber scrubber
      StackMap locals:
      StackMap stack:
         8: aload 7
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 8
            aload 7
            ifnonnull 10
            aload 8
            astore 7
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 7
            aload 8
            if_acmpeq 11
            aload 7
            aload 8
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 7
            athrow
        12: .line 1045
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction int int int org.apache.cassandra.db.compaction.CompactionInfo$Holder
      StackMap stack: java.lang.Throwable
            astore 10
        13: .line 1046
            aload 6 /* scrubInfo */
            ifnull 15
        14: .line 1047
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            aload 6 /* scrubInfo */
            invokevirtual org.apache.cassandra.metrics.CompactionMetrics.finishCompaction:(Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;)V
        15: .line 1048
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction int int int org.apache.cassandra.db.compaction.CompactionInfo$Holder top top top java.lang.Throwable
      StackMap stack:
            aload 10
            athrow
        16: .line 1046
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction int int int org.apache.cassandra.db.compaction.CompactionInfo$Holder
      StackMap stack:
            aload 6 /* scrubInfo */
            ifnull 18
        17: .line 1047
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            aload 6 /* scrubInfo */
            invokevirtual org.apache.cassandra.metrics.CompactionMetrics.finishCompaction:(Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;)V
        18: .line 1049
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.apache.cassandra.db.compaction.CompactionInfo$Holder scrubInfo
        end local 5 // boolean reinsertOverflowedTTL
        end local 4 // boolean checkData
        end local 3 // boolean skipCorrupted
        end local 2 // org.apache.cassandra.db.lifecycle.LifecycleTransaction modifier
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   19     0                   this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   19     1                    cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   19     2               modifier  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            0   19     3          skipCorrupted  Z
            0   19     4              checkData  Z
            0   19     5  reinsertOverflowedTTL  Z
            1   19     6              scrubInfo  Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;
            3    8     9               scrubber  Lorg/apache/cassandra/db/compaction/Scrubber;
      Exception table:
        from    to  target  type
           3     6       7  any
           2     9       9  any
           1    12      12  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                       Name  Flags
      cfs                    
      modifier               
      skipCorrupted          
      checkData              
      reinsertOverflowedTTL  

  private void verifyOne(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.io.sstable.format.SSTableReader, boolean);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/io/sstable/format/SSTableReader;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        start local 3 // boolean extendedVerify
         0: .line 1053
            aconst_null
            astore 4 /* verifyInfo */
        start local 4 // org.apache.cassandra.db.compaction.CompactionInfo$Holder verifyInfo
         1: .line 1055
            aconst_null
            astore 5
            aconst_null
            astore 6
         2: new org.apache.cassandra.db.compaction.Verifier
            dup
            aload 1 /* cfs */
            aload 2 /* sstable */
            iconst_0
            invokespecial org.apache.cassandra.db.compaction.Verifier.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/io/sstable/format/SSTableReader;Z)V
            astore 7 /* verifier */
        start local 7 // org.apache.cassandra.db.compaction.Verifier verifier
         3: .line 1057
            aload 7 /* verifier */
            invokevirtual org.apache.cassandra.db.compaction.Verifier.getVerifyInfo:()Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;
            astore 4 /* verifyInfo */
         4: .line 1058
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            aload 4 /* verifyInfo */
            invokevirtual org.apache.cassandra.metrics.CompactionMetrics.beginCompaction:(Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;)V
         5: .line 1059
            aload 7 /* verifier */
            iload 3 /* extendedVerify */
            invokevirtual org.apache.cassandra.db.compaction.Verifier.verify:(Z)V
         6: .line 1060
            aload 7 /* verifier */
            ifnull 16
            aload 7 /* verifier */
            invokevirtual org.apache.cassandra.db.compaction.Verifier.close:()V
            goto 16
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.io.sstable.format.SSTableReader int org.apache.cassandra.db.compaction.CompactionInfo$Holder java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.Verifier
      StackMap stack: java.lang.Throwable
         7: astore 5
            aload 7 /* verifier */
            ifnull 8
            aload 7 /* verifier */
            invokevirtual org.apache.cassandra.db.compaction.Verifier.close:()V
        end local 7 // org.apache.cassandra.db.compaction.Verifier verifier
      StackMap locals:
      StackMap stack:
         8: aload 5
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 6
            aload 5
            ifnonnull 10
            aload 6
            astore 5
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 5
            aload 6
            if_acmpeq 11
            aload 5
            aload 6
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        11: aload 5
            athrow
        12: .line 1062
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.io.sstable.format.SSTableReader int org.apache.cassandra.db.compaction.CompactionInfo$Holder
      StackMap stack: java.lang.Throwable
            astore 8
        13: .line 1063
            aload 4 /* verifyInfo */
            ifnull 15
        14: .line 1064
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            aload 4 /* verifyInfo */
            invokevirtual org.apache.cassandra.metrics.CompactionMetrics.finishCompaction:(Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;)V
        15: .line 1065
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.io.sstable.format.SSTableReader int org.apache.cassandra.db.compaction.CompactionInfo$Holder top top top java.lang.Throwable
      StackMap stack:
            aload 8
            athrow
        16: .line 1063
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.io.sstable.format.SSTableReader int org.apache.cassandra.db.compaction.CompactionInfo$Holder
      StackMap stack:
            aload 4 /* verifyInfo */
            ifnull 18
        17: .line 1064
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            aload 4 /* verifyInfo */
            invokevirtual org.apache.cassandra.metrics.CompactionMetrics.finishCompaction:(Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;)V
        18: .line 1066
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.apache.cassandra.db.compaction.CompactionInfo$Holder verifyInfo
        end local 3 // boolean extendedVerify
        end local 2 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   19     1             cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   19     2         sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            0   19     3  extendedVerify  Z
            1   19     4      verifyInfo  Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;
            3    8     7        verifier  Lorg/apache/cassandra/db/compaction/Verifier;
      Exception table:
        from    to  target  type
           3     6       7  any
           2     9       9  any
           1    12      12  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      cfs             
      sstable         
      extendedVerify  

  public static boolean needsCleanup(org.apache.cassandra.io.sstable.format.SSTableReader, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>);
    descriptor: (Lorg/apache/cassandra/io/sstable/format/SSTableReader;Ljava/util/Collection;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        start local 1 // java.util.Collection ownedRanges
         0: .line 1075
            aload 1 /* ownedRanges */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 2
         1: .line 1077
            iconst_1
            ireturn
         2: .line 1081
      StackMap locals:
      StackMap stack:
            aload 1 /* ownedRanges */
            invokestatic org.apache.cassandra.dht.Range.normalize:(Ljava/util/Collection;)Ljava/util/List;
            astore 2 /* sortedRanges */
        start local 2 // java.util.List sortedRanges
         3: .line 1085
            aload 2 /* sortedRanges */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.dht.Range
            astore 3 /* firstRange */
        start local 3 // org.apache.cassandra.dht.Range firstRange
         4: .line 1086
            aload 0 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.first:Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
            aload 3 /* firstRange */
            getfield org.apache.cassandra.dht.Range.left:Lorg/apache/cassandra/dht/RingPosition;
            checkcast org.apache.cassandra.dht.Token
            invokevirtual org.apache.cassandra.dht.Token.compareTo:(Ljava/lang/Object;)I
            ifgt 6
         5: .line 1087
            iconst_1
            ireturn
         6: .line 1091
      StackMap locals: java.util.List org.apache.cassandra.dht.Range
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 20
         8: .line 1093
      StackMap locals: int
      StackMap stack:
            aload 2 /* sortedRanges */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.dht.Range
            astore 5 /* range */
        start local 5 // org.apache.cassandra.dht.Range range
         9: .line 1094
            aload 5 /* range */
            getfield org.apache.cassandra.dht.Range.right:Lorg/apache/cassandra/dht/RingPosition;
            checkcast org.apache.cassandra.dht.Token
            invokevirtual org.apache.cassandra.dht.Token.isMinimum:()Z
            ifeq 11
        10: .line 1098
            iconst_0
            ireturn
        11: .line 1101
      StackMap locals: org.apache.cassandra.dht.Range
      StackMap stack:
            aload 0 /* sstable */
            aload 5 /* range */
            getfield org.apache.cassandra.dht.Range.right:Lorg/apache/cassandra/dht/RingPosition;
            checkcast org.apache.cassandra.dht.Token
            invokevirtual org.apache.cassandra.dht.Token.maxKeyBound:()Lorg/apache/cassandra/dht/Token$KeyBound;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.firstKeyBeyond:(Lorg/apache/cassandra/db/PartitionPosition;)Lorg/apache/cassandra/db/DecoratedKey;
            astore 6 /* firstBeyondRange */
        start local 6 // org.apache.cassandra.db.DecoratedKey firstBeyondRange
        12: .line 1102
            aload 6 /* firstBeyondRange */
            ifnonnull 14
        13: .line 1105
            iconst_0
            ireturn
        14: .line 1108
      StackMap locals: org.apache.cassandra.db.DecoratedKey
      StackMap stack:
            iload 4 /* i */
            aload 2 /* sortedRanges */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmpne 16
        15: .line 1111
            iconst_1
            ireturn
        16: .line 1114
      StackMap locals:
      StackMap stack:
            aload 2 /* sortedRanges */
            iload 4 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.dht.Range
            astore 7 /* nextRange */
        start local 7 // org.apache.cassandra.dht.Range nextRange
        17: .line 1115
            aload 6 /* firstBeyondRange */
            invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
            aload 7 /* nextRange */
            getfield org.apache.cassandra.dht.Range.left:Lorg/apache/cassandra/dht/RingPosition;
            checkcast org.apache.cassandra.dht.Token
            invokevirtual org.apache.cassandra.dht.Token.compareTo:(Ljava/lang/Object;)I
            ifgt 19
        18: .line 1118
            iconst_1
            ireturn
        end local 7 // org.apache.cassandra.dht.Range nextRange
        end local 6 // org.apache.cassandra.db.DecoratedKey firstBeyondRange
        end local 5 // org.apache.cassandra.dht.Range range
        19: .line 1091
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* i */
            aload 2 /* sortedRanges */
            invokeinterface java.util.List.size:()I
            if_icmplt 8
        end local 4 // int i
        21: .line 1122
            iconst_0
            ireturn
        end local 3 // org.apache.cassandra.dht.Range firstRange
        end local 2 // java.util.List sortedRanges
        end local 1 // java.util.Collection ownedRanges
        end local 0 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0           sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            0   22     1       ownedRanges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            3   22     2      sortedRanges  Ljava/util/List<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            4   22     3        firstRange  Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;
            7   21     4                 i  I
            9   19     5             range  Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;
           12   19     6  firstBeyondRange  Lorg/apache/cassandra/db/DecoratedKey;
           17   19     7         nextRange  Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;
    Signature: (Lorg/apache/cassandra/io/sstable/format/SSTableReader;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;)Z
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()
    MethodParameters:
             Name  Flags
      sstable      
      ownedRanges  

  private void doCleanupOne(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.db.lifecycle.LifecycleTransaction, org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>, );
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;Lorg/apache/cassandra/db/compaction/CompactionManager$CleanupStrategy;Ljava/util/Collection;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=34, args_size=6
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        start local 3 // org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy cleanupStrategy
        start local 4 // java.util.Collection ranges
        start local 5 // boolean hasIndexes
         0: .line 1133
            getstatic org.apache.cassandra.db.compaction.CompactionManager.$assertionsDisabled:Z
            ifne 1
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.isIndex:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 1135
      StackMap locals:
      StackMap stack:
            aload 2 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.onlyOne:()Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            astore 6 /* sstable */
        start local 6 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         2: .line 1138
            iload 5 /* hasIndexes */
            ifne 7
            new org.apache.cassandra.dht.Bounds
            dup
            aload 6 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.first:Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
            aload 6 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.last:Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
            invokespecial org.apache.cassandra.dht.Bounds.<init>:(Lorg/apache/cassandra/dht/RingPosition;Lorg/apache/cassandra/dht/RingPosition;)V
            aload 4 /* ranges */
            invokevirtual org.apache.cassandra.dht.Bounds.intersects:(Ljava/lang/Iterable;)Z
            ifne 7
         3: .line 1140
            aload 2 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.obsoleteOriginals:()V
         4: .line 1141
            aload 2 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.finish:()Ljava/lang/Object;
            pop
         5: .line 1142
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "SSTable {} ([{}, {}]) does not intersect the owned ranges ({}), dropping it"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 6 /* sstable */
            aastore
            dup
            iconst_1
            aload 6 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.first:Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
            aastore
            dup
            iconst_2
            aload 6 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.last:Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
            aastore
            dup
            iconst_3
            aload 4 /* ranges */
            aastore
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 1143
            return
         7: .line 1146
      StackMap locals: org.apache.cassandra.io.sstable.format.SSTableReader
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lstore 7 /* start */
        start local 7 // long start
         8: .line 1148
            lconst_0
            lstore 9 /* totalkeysWritten */
        start local 9 // long totalkeysWritten
         9: .line 1150
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.params:Lorg/apache/cassandra/schema/TableParams;
            getfield org.apache.cassandra.schema.TableParams.minIndexInterval:I
            i2l
        10: .line 1151
            aload 2 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokestatic org.apache.cassandra.io.sstable.format.SSTableReader.getApproximateKeyCount:(Ljava/lang/Iterable;)J
        11: .line 1150
            invokestatic java.lang.Math.max:(JJ)J
            lstore 11 /* expectedBloomFilterSize */
        start local 11 // long expectedBloomFilterSize
        12: .line 1152
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isTraceEnabled:()Z
            ifeq 14
        13: .line 1153
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Expected bloom filter size : {}"
            lload 11 /* expectedBloomFilterSize */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
        14: .line 1155
      StackMap locals: long long long
      StackMap stack:
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Cleaning up {}"
            aload 6 /* sstable */
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 1157
            aload 6 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.descriptor:Lorg/apache/cassandra/io/sstable/Descriptor;
            getfield org.apache.cassandra.io.sstable.Descriptor.directory:Ljava/io/File;
            astore 13 /* compactionFileLocation */
        start local 13 // java.io.File compactionFileLocation
        16: .line 1158
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.getRateLimiter:()Lcom/google/common/util/concurrent/RateLimiter;
            astore 14 /* limiter */
        start local 14 // com.google.common.util.concurrent.RateLimiter limiter
        17: .line 1159
            aload 6 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getCompressionRatio:()D
            dstore 15 /* compressionRatio */
        start local 15 // double compressionRatio
        18: .line 1160
            dload 15 /* compressionRatio */
            ldc -1.0
            dcmpl
            ifne 20
        19: .line 1161
            dconst_1
            dstore 15 /* compressionRatio */
        20: .line 1165
      StackMap locals: java.io.File com.google.common.util.concurrent.RateLimiter double
      StackMap stack:
            invokestatic org.apache.cassandra.utils.FBUtilities.nowInSeconds:()I
            istore 18 /* nowInSec */
        start local 18 // int nowInSec
        21: .line 1166
            aconst_null
            astore 19
            aconst_null
            astore 20
        22: aload 1 /* cfs */
            aload 2 /* txn */
            iconst_0
            aload 6 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.maxDataAge:J
            invokestatic org.apache.cassandra.io.sstable.SSTableRewriter.construct:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;ZJ)Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            astore 21 /* writer */
        start local 21 // org.apache.cassandra.io.sstable.SSTableRewriter writer
        23: .line 1167
            aload 3 /* cleanupStrategy */
            aload 6 /* sstable */
            aconst_null
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy.getScanner:(Lorg/apache/cassandra/io/sstable/format/SSTableReader;Lcom/google/common/util/concurrent/RateLimiter;)Lorg/apache/cassandra/io/sstable/ISSTableScanner;
            astore 22 /* scanner */
        start local 22 // org.apache.cassandra.io.sstable.ISSTableScanner scanner
        24: .line 1168
            new org.apache.cassandra.db.compaction.CompactionController
            dup
            aload 1 /* cfs */
            aload 2 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            aload 1 /* cfs */
            iload 18 /* nowInSec */
            invokestatic org.apache.cassandra.db.compaction.CompactionManager.getDefaultGcBefore:(Lorg/apache/cassandra/db/ColumnFamilyStore;I)I
            invokespecial org.apache.cassandra.db.compaction.CompactionController.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Set;I)V
            astore 23 /* controller */
        start local 23 // org.apache.cassandra.db.compaction.CompactionController controller
        25: .line 1169
            aload 6 /* sstable */
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            invokestatic org.apache.cassandra.utils.concurrent.Refs.ref:(Ljava/lang/Iterable;)Lorg/apache/cassandra/utils/concurrent/Refs;
            astore 24 /* refs */
        start local 24 // org.apache.cassandra.utils.concurrent.Refs refs
        26: .line 1170
            new org.apache.cassandra.db.compaction.CompactionIterator
            dup
            getstatic org.apache.cassandra.db.compaction.OperationType.CLEANUP:Lorg/apache/cassandra/db/compaction/OperationType;
            aload 22 /* scanner */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            aload 23 /* controller */
            iload 18 /* nowInSec */
            invokestatic org.apache.cassandra.utils.UUIDGen.getTimeUUID:()Ljava/util/UUID;
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            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;Lorg/apache/cassandra/metrics/CompactionMetrics;)V
            astore 25 /* ci */
        start local 25 // org.apache.cassandra.db.compaction.CompactionIterator ci
        27: .line 1172
            aload 21 /* writer */
            aload 1 /* cfs */
            aload 13 /* compactionFileLocation */
            lload 11 /* expectedBloomFilterSize */
            aload 6 /* 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
            aload 6 /* sstable */
            aload 2 /* txn */
            invokestatic org.apache.cassandra.db.compaction.CompactionManager.createWriter:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/io/File;JJLorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.switchWriter:(Lorg/apache/cassandra/io/sstable/format/SSTableWriter;)V
        28: .line 1173
            lconst_0
            lstore 26 /* lastBytesScanned */
        start local 26 // long lastBytesScanned
        29: .line 1176
            goto 55
        30: .line 1178
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader long long long java.io.File com.google.common.util.concurrent.RateLimiter double top int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.ISSTableScanner org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.compaction.CompactionIterator long
      StackMap stack:
            aload 25 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.isStopRequested:()Z
            ifeq 32
        31: .line 1179
            new org.apache.cassandra.db.compaction.CompactionInterruptedException
            dup
            aload 25 /* 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
        32: .line 1181
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 28
            aconst_null
            astore 29
        33: aload 25 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.next:()Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            astore 30 /* partition */
        start local 30 // org.apache.cassandra.db.rows.UnfilteredRowIterator partition
        34: .line 1182
            aload 3 /* cleanupStrategy */
            aload 30 /* partition */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy.cleanup:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            astore 31 /* notCleaned */
        start local 31 // org.apache.cassandra.db.rows.UnfilteredRowIterator notCleaned
        35: .line 1184
            aload 31 /* notCleaned */
            ifnonnull 39
        36: .line 1195
            aload 31 /* notCleaned */
            ifnull 37
            aload 31 /* notCleaned */
            invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.close:()V
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader long long long java.io.File com.google.common.util.concurrent.RateLimiter double top int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.ISSTableScanner org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.compaction.CompactionIterator long java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.rows.UnfilteredRowIterator org.apache.cassandra.db.rows.UnfilteredRowIterator
      StackMap stack:
        37: aload 30 /* partition */
            ifnull 55
            aload 30 /* partition */
            invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.close:()V
        38: .line 1185
            goto 55
        39: .line 1187
      StackMap locals:
      StackMap stack:
            aload 21 /* writer */
            aload 31 /* notCleaned */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.append:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/RowIndexEntry;
            ifnull 41
        40: .line 1188
            lload 9 /* totalkeysWritten */
            lconst_1
            ladd
            lstore 9 /* totalkeysWritten */
        41: .line 1190
      StackMap locals:
      StackMap stack:
            aload 22 /* scanner */
            invokeinterface org.apache.cassandra.io.sstable.ISSTableScanner.getBytesScanned:()J
            lstore 32 /* bytesScanned */
        start local 32 // long bytesScanned
        42: .line 1192
            aload 14 /* limiter */
            lload 32 /* bytesScanned */
            lload 26 /* lastBytesScanned */
            dload 15 /* compressionRatio */
            invokestatic org.apache.cassandra.db.compaction.CompactionManager.compactionRateLimiterAcquire:(Lcom/google/common/util/concurrent/RateLimiter;JJD)V
        43: .line 1194
            lload 32 /* bytesScanned */
            lstore 26 /* lastBytesScanned */
        end local 32 // long bytesScanned
        44: .line 1195
            aload 31 /* notCleaned */
            ifnull 47
            aload 31 /* notCleaned */
            invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.close:()V
            goto 47
      StackMap locals:
      StackMap stack: java.lang.Throwable
        45: astore 28
            aload 31 /* notCleaned */
            ifnull 46
            aload 31 /* notCleaned */
            invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.close:()V
        end local 31 // org.apache.cassandra.db.rows.UnfilteredRowIterator notCleaned
      StackMap locals:
      StackMap stack:
        46: aload 28
            athrow
      StackMap locals:
      StackMap stack:
        47: aload 30 /* partition */
            ifnull 55
            aload 30 /* partition */
            invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.close:()V
            goto 55
      StackMap locals:
      StackMap stack: java.lang.Throwable
        48: astore 29
            aload 28
            ifnonnull 49
            aload 29
            astore 28
            goto 50
      StackMap locals:
      StackMap stack:
        49: aload 28
            aload 29
            if_acmpeq 50
            aload 28
            aload 29
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        50: aload 30 /* partition */
            ifnull 51
            aload 30 /* partition */
            invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.close:()V
        end local 30 // org.apache.cassandra.db.rows.UnfilteredRowIterator partition
      StackMap locals:
      StackMap stack:
        51: aload 28
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        52: astore 29
            aload 28
            ifnonnull 53
            aload 29
            astore 28
            goto 54
      StackMap locals:
      StackMap stack:
        53: aload 28
            aload 29
            if_acmpeq 54
            aload 28
            aload 29
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        54: aload 28
            athrow
        55: .line 1176
      StackMap locals:
      StackMap stack:
            aload 25 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.hasNext:()Z
            ifne 30
        56: .line 1199
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
            invokevirtual org.apache.cassandra.index.SecondaryIndexManager.flushAllIndexesBlocking:()V
        57: .line 1201
            aload 21 /* writer */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.finish:()Ljava/util/List;
            astore 17 /* finished */
        end local 26 // long lastBytesScanned
        start local 17 // java.util.List finished
        58: .line 1202
            aload 25 /* ci */
            ifnull 61
            aload 25 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.close:()V
            goto 61
        end local 17 // java.util.List finished
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader long long long java.io.File com.google.common.util.concurrent.RateLimiter double top int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.ISSTableScanner org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.db.compaction.CompactionIterator
      StackMap stack: java.lang.Throwable
        59: astore 19
            aload 25 /* ci */
            ifnull 60
            aload 25 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.close:()V
        end local 25 // org.apache.cassandra.db.compaction.CompactionIterator ci
      StackMap locals:
      StackMap stack:
        60: aload 19
            athrow
        start local 17 // java.util.List finished
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader long long long java.io.File com.google.common.util.concurrent.RateLimiter double java.util.List int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.ISSTableScanner org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.utils.concurrent.Refs
      StackMap stack:
        61: aload 24 /* refs */
            ifnull 66
            aload 24 /* refs */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.close:()V
            goto 66
        end local 17 // java.util.List finished
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader long long long java.io.File com.google.common.util.concurrent.RateLimiter double top int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.ISSTableScanner org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.utils.concurrent.Refs
      StackMap stack: java.lang.Throwable
        62: astore 20
            aload 19
            ifnonnull 63
            aload 20
            astore 19
            goto 64
      StackMap locals:
      StackMap stack:
        63: aload 19
            aload 20
            if_acmpeq 64
            aload 19
            aload 20
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        64: aload 24 /* refs */
            ifnull 65
            aload 24 /* refs */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.close:()V
        end local 24 // org.apache.cassandra.utils.concurrent.Refs refs
      StackMap locals:
      StackMap stack:
        65: aload 19
            athrow
        start local 17 // java.util.List finished
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader long long long java.io.File com.google.common.util.concurrent.RateLimiter double java.util.List int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.ISSTableScanner org.apache.cassandra.db.compaction.CompactionController
      StackMap stack:
        66: aload 23 /* controller */
            ifnull 71
            aload 23 /* controller */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.close:()V
            goto 71
        end local 17 // java.util.List finished
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader long long long java.io.File com.google.common.util.concurrent.RateLimiter double top int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.ISSTableScanner org.apache.cassandra.db.compaction.CompactionController
      StackMap stack: java.lang.Throwable
        67: astore 20
            aload 19
            ifnonnull 68
            aload 20
            astore 19
            goto 69
      StackMap locals:
      StackMap stack:
        68: aload 19
            aload 20
            if_acmpeq 69
            aload 19
            aload 20
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        69: aload 23 /* controller */
            ifnull 70
            aload 23 /* controller */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.close:()V
        end local 23 // org.apache.cassandra.db.compaction.CompactionController controller
      StackMap locals:
      StackMap stack:
        70: aload 19
            athrow
        start local 17 // java.util.List finished
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader long long long java.io.File com.google.common.util.concurrent.RateLimiter double java.util.List int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.ISSTableScanner
      StackMap stack:
        71: aload 22 /* scanner */
            ifnull 76
            aload 22 /* scanner */
            invokeinterface org.apache.cassandra.io.sstable.ISSTableScanner.close:()V
            goto 76
        end local 17 // java.util.List finished
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader long long long java.io.File com.google.common.util.concurrent.RateLimiter double top int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.ISSTableScanner
      StackMap stack: java.lang.Throwable
        72: astore 20
            aload 19
            ifnonnull 73
            aload 20
            astore 19
            goto 74
      StackMap locals:
      StackMap stack:
        73: aload 19
            aload 20
            if_acmpeq 74
            aload 19
            aload 20
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        74: aload 22 /* scanner */
            ifnull 75
            aload 22 /* scanner */
            invokeinterface org.apache.cassandra.io.sstable.ISSTableScanner.close:()V
        end local 22 // org.apache.cassandra.io.sstable.ISSTableScanner scanner
      StackMap locals:
      StackMap stack:
        75: aload 19
            athrow
        start local 17 // java.util.List finished
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader long long long java.io.File com.google.common.util.concurrent.RateLimiter double java.util.List int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter
      StackMap stack:
        76: aload 21 /* writer */
            ifnull 84
            aload 21 /* writer */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.close:()V
            goto 84
        end local 17 // java.util.List finished
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader long long long java.io.File com.google.common.util.concurrent.RateLimiter double top int java.lang.Throwable java.lang.Throwable org.apache.cassandra.io.sstable.SSTableRewriter
      StackMap stack: java.lang.Throwable
        77: astore 20
            aload 19
            ifnonnull 78
            aload 20
            astore 19
            goto 79
      StackMap locals:
      StackMap stack:
        78: aload 19
            aload 20
            if_acmpeq 79
            aload 19
            aload 20
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        79: aload 21 /* writer */
            ifnull 80
            aload 21 /* writer */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.close:()V
        end local 21 // org.apache.cassandra.io.sstable.SSTableRewriter writer
      StackMap locals:
      StackMap stack:
        80: aload 19
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        81: astore 20
            aload 19
            ifnonnull 82
            aload 20
            astore 19
            goto 83
      StackMap locals:
      StackMap stack:
        82: aload 19
            aload 20
            if_acmpeq 83
            aload 19
            aload 20
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        83: aload 19
            athrow
        start local 17 // java.util.List finished
        84: .line 1204
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader long long long java.io.File com.google.common.util.concurrent.RateLimiter double java.util.List int
      StackMap stack:
            aload 17 /* finished */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 97
        85: .line 1206
            ldc "Cleaned up to %s.  %s to %s (~%d%% of original) for %,d keys.  Time: %,dms."
            astore 19 /* format */
        start local 19 // java.lang.String format
        86: .line 1207
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic java.lang.System.nanoTime:()J
            lload 7 /* start */
            lsub
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            lstore 20 /* dTime */
        start local 20 // long dTime
        87: .line 1208
            aload 6 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.onDiskLength:()J
            lstore 22 /* startsize */
        start local 22 // long startsize
        88: .line 1209
            lconst_0
            lstore 24 /* endsize */
        start local 24 // long endsize
        89: .line 1210
            aload 17 /* finished */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 27
            goto 92
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader long long long java.io.File com.google.common.util.concurrent.RateLimiter double java.util.List int java.lang.String long long long top java.util.Iterator
      StackMap stack:
        90: aload 27
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 26 /* newSstable */
        start local 26 // org.apache.cassandra.io.sstable.format.SSTableReader newSstable
        91: .line 1211
            lload 24 /* endsize */
            aload 26 /* newSstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.onDiskLength:()J
            ladd
            lstore 24 /* endsize */
        end local 26 // org.apache.cassandra.io.sstable.format.SSTableReader newSstable
        92: .line 1210
      StackMap locals:
      StackMap stack:
            aload 27
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 90
        93: .line 1212
            lload 24 /* endsize */
            l2d
            lload 22 /* startsize */
            l2d
            ddiv
            dstore 26 /* ratio */
        start local 26 // double ratio
        94: .line 1213
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            aload 19 /* format */
            bipush 6
            anewarray java.lang.Object
            dup
            iconst_0
            aload 17 /* finished */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getFilename:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            lload 22 /* startsize */
            invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
            aastore
            dup
            iconst_2
        95: .line 1214
            lload 24 /* endsize */
            invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
            aastore
            dup
            iconst_3
            dload 26 /* ratio */
            ldc 100.0
            dmul
            d2i
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_4
            lload 9 /* totalkeysWritten */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_5
            lload 20 /* dTime */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
        96: .line 1213
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
        end local 26 // double ratio
        end local 24 // long endsize
        end local 22 // long startsize
        end local 20 // long dTime
        end local 19 // java.lang.String format
        97: .line 1217
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.db.lifecycle.LifecycleTransaction org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy java.util.Collection int org.apache.cassandra.io.sstable.format.SSTableReader long long long java.io.File com.google.common.util.concurrent.RateLimiter double java.util.List int
      StackMap stack:
            return
        end local 18 // int nowInSec
        end local 17 // java.util.List finished
        end local 15 // double compressionRatio
        end local 14 // com.google.common.util.concurrent.RateLimiter limiter
        end local 13 // java.io.File compactionFileLocation
        end local 11 // long expectedBloomFilterSize
        end local 9 // long totalkeysWritten
        end local 7 // long start
        end local 6 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        end local 5 // boolean hasIndexes
        end local 4 // java.util.Collection ranges
        end local 3 // org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy cleanupStrategy
        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.CompactionManager this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   98     0                     this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   98     1                      cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   98     2                      txn  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            0   98     3          cleanupStrategy  Lorg/apache/cassandra/db/compaction/CompactionManager$CleanupStrategy;
            0   98     4                   ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            0   98     5               hasIndexes  Z
            2   98     6                  sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            8   98     7                    start  J
            9   98     9         totalkeysWritten  J
           12   98    11  expectedBloomFilterSize  J
           16   98    13   compactionFileLocation  Ljava/io/File;
           17   98    14                  limiter  Lcom/google/common/util/concurrent/RateLimiter;
           18   98    15         compressionRatio  D
           58   59    17                 finished  Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           61   62    17                 finished  Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           66   67    17                 finished  Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           71   72    17                 finished  Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           76   77    17                 finished  Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           84   98    17                 finished  Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           21   98    18                 nowInSec  I
           23   80    21                   writer  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
           24   75    22                  scanner  Lorg/apache/cassandra/io/sstable/ISSTableScanner;
           25   70    23               controller  Lorg/apache/cassandra/db/compaction/CompactionController;
           26   65    24                     refs  Lorg/apache/cassandra/utils/concurrent/Refs<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           27   60    25                       ci  Lorg/apache/cassandra/db/compaction/CompactionIterator;
           29   58    26         lastBytesScanned  J
           34   51    30                partition  Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
           35   46    31               notCleaned  Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
           42   44    32             bytesScanned  J
           86   97    19                   format  Ljava/lang/String;
           87   97    20                    dTime  J
           88   97    22                startsize  J
           89   97    24                  endsize  J
           91   92    26               newSstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           94   97    26                    ratio  D
      Exception table:
        from    to  target  type
          35    36      45  any
          39    44      45  any
          34    37      48  any
          39    47      48  any
          33    38      52  any
          39    52      52  any
          27    58      59  any
          26    61      62  any
          25    66      67  any
          24    71      72  any
          23    76      77  any
          22    81      81  any
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;Lorg/apache/cassandra/db/compaction/CompactionManager$CleanupStrategy;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;Z)V
    MethodParameters:
                 Name  Flags
      cfs              final
      txn              
      cleanupStrategy  
      ranges           
      hasIndexes       

  static void compactionRateLimiterAcquire(com.google.common.util.concurrent.RateLimiter, long, long, double);
    descriptor: (Lcom/google/common/util/concurrent/RateLimiter;JJD)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // com.google.common.util.concurrent.RateLimiter limiter
        start local 1 // long bytesScanned
        start local 3 // long lastBytesScanned
        start local 5 // double compressionRatio
         0: .line 1221
            lload 1 /* bytesScanned */
            lload 3 /* lastBytesScanned */
            lsub
            l2d
            dload 5 /* compressionRatio */
            dmul
            d2l
            lconst_1
            ladd
            lstore 7 /* lengthRead */
        start local 7 // long lengthRead
         1: .line 1222
            goto 4
         2: .line 1224
      StackMap locals: long
      StackMap stack:
            aload 0 /* limiter */
            ldc 2147483647
            invokevirtual com.google.common.util.concurrent.RateLimiter.acquire:(I)D
            pop2
         3: .line 1225
            lload 7 /* lengthRead */
            ldc 2147483647
            lsub
            lstore 7 /* lengthRead */
         4: .line 1222
      StackMap locals:
      StackMap stack:
            lload 7 /* lengthRead */
            ldc 2147483647
            lcmp
            ifge 2
         5: .line 1227
            lload 7 /* lengthRead */
            lconst_0
            lcmp
            ifle 7
         6: .line 1229
            aload 0 /* limiter */
            lload 7 /* lengthRead */
            l2i
            invokevirtual com.google.common.util.concurrent.RateLimiter.acquire:(I)D
            pop2
         7: .line 1231
      StackMap locals:
      StackMap stack:
            return
        end local 7 // long lengthRead
        end local 5 // double compressionRatio
        end local 3 // long lastBytesScanned
        end local 1 // long bytesScanned
        end local 0 // com.google.common.util.concurrent.RateLimiter limiter
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0           limiter  Lcom/google/common/util/concurrent/RateLimiter;
            0    8     1      bytesScanned  J
            0    8     3  lastBytesScanned  J
            0    8     5  compressionRatio  D
            1    8     7        lengthRead  J
    MethodParameters:
                  Name  Flags
      limiter           
      bytesScanned      
      lastBytesScanned  
      compressionRatio  

  public static org.apache.cassandra.io.sstable.format.SSTableWriter createWriter(org.apache.cassandra.db.ColumnFamilyStore, java.io.File, long, long, org.apache.cassandra.io.sstable.format.SSTableReader, org.apache.cassandra.db.lifecycle.LifecycleTransaction);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/io/File;JJLorg/apache/cassandra/io/sstable/format/SSTableReader;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=9, args_size=6
        start local 0 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 1 // java.io.File compactionFileLocation
        start local 2 // long expectedBloomFilterSize
        start local 4 // long repairedAt
        start local 6 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        start local 7 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
         0: .line 1319
            aload 1 /* compactionFileLocation */
            invokestatic org.apache.cassandra.io.util.FileUtils.createDirectory:(Ljava/io/File;)V
         1: .line 1320
            aload 6 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.header:Lorg/apache/cassandra/db/SerializationHeader;
            astore 8 /* header */
        start local 8 // org.apache.cassandra.db.SerializationHeader header
         2: .line 1321
            aload 8 /* header */
            ifnonnull 4
         3: .line 1322
            aload 6 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.metadata:Lorg/apache/cassandra/config/CFMetaData;
            aload 6 /* sstable */
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            invokestatic org.apache.cassandra.db.SerializationHeader.make:(Lorg/apache/cassandra/config/CFMetaData;Ljava/util/Collection;)Lorg/apache/cassandra/db/SerializationHeader;
            astore 8 /* header */
         4: .line 1324
      StackMap locals: org.apache.cassandra.db.SerializationHeader
      StackMap stack:
            aload 0 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
         5: .line 1325
            aload 0 /* cfs */
            aload 1 /* compactionFileLocation */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getSSTablePath:(Ljava/io/File;)Ljava/lang/String;
            invokestatic org.apache.cassandra.io.sstable.Descriptor.fromFilename:(Ljava/lang/String;)Lorg/apache/cassandra/io/sstable/Descriptor;
         6: .line 1326
            lload 2 /* expectedBloomFilterSize */
         7: .line 1327
            lload 4 /* repairedAt */
         8: .line 1328
            aload 6 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableLevel:()I
         9: .line 1329
            aload 8 /* header */
        10: .line 1330
            aload 0 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
            invokevirtual org.apache.cassandra.index.SecondaryIndexManager.listIndexes:()Ljava/util/Collection;
        11: .line 1331
            aload 7 /* txn */
        12: .line 1324
            invokestatic org.apache.cassandra.io.sstable.format.SSTableWriter.create:(Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/Descriptor;JJILorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            areturn
        end local 8 // org.apache.cassandra.db.SerializationHeader header
        end local 7 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
        end local 6 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        end local 4 // long repairedAt
        end local 2 // long expectedBloomFilterSize
        end local 1 // java.io.File compactionFileLocation
        end local 0 // org.apache.cassandra.db.ColumnFamilyStore cfs
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   13     0                      cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   13     1   compactionFileLocation  Ljava/io/File;
            0   13     2  expectedBloomFilterSize  J
            0   13     4               repairedAt  J
            0   13     6                  sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
            0   13     7                      txn  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            2   13     8                   header  Lorg/apache/cassandra/db/SerializationHeader;
    MethodParameters:
                         Name  Flags
      cfs                      
      compactionFileLocation   
      expectedBloomFilterSize  
      repairedAt               
      sstable                  
      txn                      

  public static org.apache.cassandra.io.sstable.format.SSTableWriter createWriterForAntiCompaction(org.apache.cassandra.db.ColumnFamilyStore, java.io.File, int, long, java.util.Collection<org.apache.cassandra.io.sstable.format.SSTableReader>, org.apache.cassandra.db.lifecycle.ILifecycleTransaction);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/io/File;IJLjava/util/Collection;Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=10, args_size=6
        start local 0 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 1 // java.io.File compactionFileLocation
        start local 2 // int expectedBloomFilterSize
        start local 3 // long repairedAt
        start local 5 // java.util.Collection sstables
        start local 6 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction txn
         0: .line 1341
            aload 1 /* compactionFileLocation */
            invokestatic org.apache.cassandra.io.util.FileUtils.createDirectory:(Ljava/io/File;)V
         1: .line 1342
            ldc 2147483647
            istore 7 /* minLevel */
        start local 7 // int minLevel
         2: .line 1346
            aload 5 /* sstables */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 9
            goto 9
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore java.io.File int long java.util.Collection org.apache.cassandra.db.lifecycle.ILifecycleTransaction int top java.util.Iterator
      StackMap stack:
         3: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 8 /* sstable */
        start local 8 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         4: .line 1348
            iload 7 /* minLevel */
            ldc 2147483647
            if_icmpne 6
         5: .line 1349
            aload 8 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableLevel:()I
            istore 7 /* minLevel */
         6: .line 1351
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore java.io.File int long java.util.Collection org.apache.cassandra.db.lifecycle.ILifecycleTransaction int org.apache.cassandra.io.sstable.format.SSTableReader java.util.Iterator
      StackMap stack:
            iload 7 /* minLevel */
            aload 8 /* sstable */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.getSSTableLevel:()I
            if_icmpeq 9
         7: .line 1353
            iconst_0
            istore 7 /* minLevel */
         8: .line 1354
            goto 10
        end local 8 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         9: .line 1346
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore java.io.File int long java.util.Collection org.apache.cassandra.db.lifecycle.ILifecycleTransaction int top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        10: .line 1357
      StackMap locals: org.apache.cassandra.db.ColumnFamilyStore java.io.File int long java.util.Collection org.apache.cassandra.db.lifecycle.ILifecycleTransaction int
      StackMap stack:
            aload 0 /* cfs */
            aload 1 /* compactionFileLocation */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getSSTablePath:(Ljava/io/File;)Ljava/lang/String;
            invokestatic org.apache.cassandra.io.sstable.Descriptor.fromFilename:(Ljava/lang/String;)Lorg/apache/cassandra/io/sstable/Descriptor;
        11: .line 1358
            iload 2 /* expectedBloomFilterSize */
            i2l
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
        12: .line 1359
            lload 3 /* repairedAt */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
        13: .line 1360
            aload 0 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
        14: .line 1361
            new org.apache.cassandra.io.sstable.metadata.MetadataCollector
            dup
            aload 5 /* sstables */
            aload 0 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.comparator:Lorg/apache/cassandra/db/ClusteringComparator;
            iload 7 /* minLevel */
            invokespecial org.apache.cassandra.io.sstable.metadata.MetadataCollector.<init>:(Ljava/lang/Iterable;Lorg/apache/cassandra/db/ClusteringComparator;I)V
        15: .line 1362
            aload 0 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            aload 5 /* sstables */
            invokestatic org.apache.cassandra.db.SerializationHeader.make:(Lorg/apache/cassandra/config/CFMetaData;Ljava/util/Collection;)Lorg/apache/cassandra/db/SerializationHeader;
        16: .line 1363
            aload 0 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.indexManager:Lorg/apache/cassandra/index/SecondaryIndexManager;
            invokevirtual org.apache.cassandra.index.SecondaryIndexManager.listIndexes:()Ljava/util/Collection;
        17: .line 1364
            aload 6 /* txn */
        18: .line 1357
            invokestatic org.apache.cassandra.io.sstable.format.SSTableWriter.create:(Lorg/apache/cassandra/io/sstable/Descriptor;Ljava/lang/Long;Ljava/lang/Long;Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/io/sstable/metadata/MetadataCollector;Lorg/apache/cassandra/db/SerializationHeader;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleNewTracker;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            areturn
        end local 7 // int minLevel
        end local 6 // org.apache.cassandra.db.lifecycle.ILifecycleTransaction txn
        end local 5 // java.util.Collection sstables
        end local 3 // long repairedAt
        end local 2 // int expectedBloomFilterSize
        end local 1 // java.io.File compactionFileLocation
        end local 0 // org.apache.cassandra.db.ColumnFamilyStore cfs
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   19     0                      cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   19     1   compactionFileLocation  Ljava/io/File;
            0   19     2  expectedBloomFilterSize  I
            0   19     3               repairedAt  J
            0   19     5                 sstables  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0   19     6                      txn  Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;
            2   19     7                 minLevel  I
            4    9     8                  sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/io/File;IJLjava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
    MethodParameters:
                         Name  Flags
      cfs                      
      compactionFileLocation   
      expectedBloomFilterSize  
      repairedAt               
      sstables                 
      txn                      

  private void doValidationCompaction(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.repair.Validator);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/repair/Validator;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=23, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // org.apache.cassandra.repair.Validator validator
         0: .line 1380
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.isValid:()Z
            ifne 2
         1: .line 1381
            return
         2: .line 1383
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* sstables */
        start local 3 // org.apache.cassandra.utils.concurrent.Refs sstables
         3: .line 1388
            invokestatic org.apache.cassandra.utils.FBUtilities.nowInSeconds:()I
            istore 5 /* nowInSec */
        start local 5 // int nowInSec
         4: .line 1389
            aload 2 /* validator */
            getfield org.apache.cassandra.repair.Validator.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.parentSessionId:Ljava/util/UUID;
            astore 6 /* parentRepairSessionId */
        start local 6 // java.util.UUID parentRepairSessionId
         5: .line 1391
            aload 1 /* cfs */
            aload 6 /* parentRepairSessionId */
            invokevirtual java.util.UUID.toString:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.snapshotExists:(Ljava/lang/String;)Z
            istore 8 /* isGlobalSnapshotValidation */
        start local 8 // boolean isGlobalSnapshotValidation
         6: .line 1392
            iload 8 /* isGlobalSnapshotValidation */
            ifeq 9
         7: .line 1393
            aload 6 /* parentRepairSessionId */
            invokevirtual java.util.UUID.toString:()Ljava/lang/String;
            astore 7 /* snapshotName */
        start local 7 // java.lang.String snapshotName
         8: goto 10
        end local 7 // java.lang.String snapshotName
         9: .line 1395
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator org.apache.cassandra.utils.concurrent.Refs top int java.util.UUID top int
      StackMap stack:
            aload 2 /* validator */
            getfield org.apache.cassandra.repair.Validator.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.sessionId:Ljava/util/UUID;
            invokevirtual java.util.UUID.toString:()Ljava/lang/String;
            astore 7 /* snapshotName */
        start local 7 // java.lang.String snapshotName
        10: .line 1396
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator org.apache.cassandra.utils.concurrent.Refs top int java.util.UUID java.lang.String int
      StackMap stack:
            aload 1 /* cfs */
            aload 7 /* snapshotName */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.snapshotExists:(Ljava/lang/String;)Z
            istore 9 /* isSnapshotValidation */
        start local 9 // boolean isSnapshotValidation
        11: .line 1398
            iload 9 /* isSnapshotValidation */
            ifeq 15
        12: .line 1403
            aload 1 /* cfs */
            aload 7 /* snapshotName */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getSnapshotSSTableReader:(Ljava/lang/String;)Lorg/apache/cassandra/utils/concurrent/Refs;
            astore 3 /* sstables */
        13: .line 1410
            aload 1 /* cfs */
            aload 1 /* cfs */
            aload 7 /* snapshotName */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getSnapshotCreationTime:(Ljava/lang/String;)J
            ldc 1000
            ldiv
            l2i
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.gcBefore:(I)I
            istore 4 /* gcBefore */
        start local 4 // int gcBefore
        14: .line 1411
            goto 25
        end local 4 // int gcBefore
        15: .line 1415
      StackMap locals: int
      StackMap stack:
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.name:Ljava/lang/String;
            aastore
            invokevirtual org.apache.cassandra.service.StorageService.forceKeyspaceFlush:(Ljava/lang/String;[Ljava/lang/String;)V
        16: .line 1416
            aload 0 /* this */
            aload 1 /* cfs */
            aload 2 /* validator */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.getSSTablesToValidate:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/repair/Validator;)Lorg/apache/cassandra/utils/concurrent/Refs;
            astore 3 /* sstables */
        17: .line 1417
            aload 3 /* sstables */
            ifnonnull 21
        18: .line 1466
            aload 3 /* sstables */
            ifnull 20
        19: .line 1467
            aload 3 /* sstables */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.release:()V
        20: .line 1418
      StackMap locals:
      StackMap stack:
            return
        21: .line 1419
      StackMap locals:
      StackMap stack:
            aload 2 /* validator */
            getfield org.apache.cassandra.repair.Validator.gcBefore:I
            ifle 24
        22: .line 1420
            aload 2 /* validator */
            getfield org.apache.cassandra.repair.Validator.gcBefore:I
            istore 4 /* gcBefore */
        start local 4 // int gcBefore
        23: goto 25
        end local 4 // int gcBefore
        24: .line 1422
      StackMap locals:
      StackMap stack:
            aload 1 /* cfs */
            iload 5 /* nowInSec */
            invokestatic org.apache.cassandra.db.compaction.CompactionManager.getDefaultGcBefore:(Lorg/apache/cassandra/db/ColumnFamilyStore;I)I
            istore 4 /* gcBefore */
        start local 4 // int gcBefore
        25: .line 1427
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator org.apache.cassandra.utils.concurrent.Refs int int java.util.UUID java.lang.String int int
      StackMap stack:
            aload 3 /* sstables */
            aload 2 /* validator */
            getfield org.apache.cassandra.repair.Validator.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.ranges:Ljava/util/Collection;
            aload 1 /* cfs */
            invokestatic org.apache.cassandra.db.compaction.CompactionManager.createMerkleTrees:(Ljava/lang/Iterable;Ljava/util/Collection;Lorg/apache/cassandra/db/ColumnFamilyStore;)Lorg/apache/cassandra/utils/MerkleTrees;
            astore 10 /* tree */
        start local 10 // org.apache.cassandra.utils.MerkleTrees tree
        26: .line 1428
            invokestatic java.lang.System.nanoTime:()J
            lstore 11 /* start */
        start local 11 // long start
        27: .line 1429
            aconst_null
            astore 13
            aconst_null
            astore 14
        28: aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            aload 3 /* sstables */
            aload 2 /* validator */
            getfield org.apache.cassandra.repair.Validator.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.ranges:Ljava/util/Collection;
            invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.getScanners:(Ljava/util/Collection;Ljava/util/Collection;)Lorg/apache/cassandra/db/compaction/AbstractCompactionStrategy$ScannerList;
            astore 15 /* scanners */
        start local 15 // org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList scanners
        29: .line 1430
            new org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionController
            dup
            aload 1 /* cfs */
            iload 4 /* gcBefore */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionController.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;I)V
            astore 16 /* controller */
        start local 16 // org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionController controller
        30: .line 1431
            new org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionIterator
            dup
            aload 15 /* scanners */
            getfield org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.scanners:Ljava/util/List;
            aload 16 /* controller */
            iload 5 /* nowInSec */
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionIterator.<init>:(Ljava/util/List;Lorg/apache/cassandra/db/compaction/CompactionManager$ValidationCompactionController;ILorg/apache/cassandra/metrics/CompactionMetrics;)V
            astore 17 /* ci */
        start local 17 // org.apache.cassandra.db.compaction.CompactionIterator ci
        31: .line 1434
            aload 2 /* validator */
            aload 1 /* cfs */
            aload 10 /* tree */
            invokevirtual org.apache.cassandra.repair.Validator.prepare:(Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/utils/MerkleTrees;)V
        32: .line 1435
            goto 44
        33: .line 1437
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator org.apache.cassandra.utils.concurrent.Refs int int java.util.UUID java.lang.String int int org.apache.cassandra.utils.MerkleTrees long java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionController org.apache.cassandra.db.compaction.CompactionIterator
      StackMap stack:
            aload 17 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.isStopRequested:()Z
            ifeq 35
        34: .line 1438
            new org.apache.cassandra.db.compaction.CompactionInterruptedException
            dup
            aload 17 /* 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
        35: .line 1439
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 18
            aconst_null
            astore 19
        36: aload 17 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.next:()Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            astore 20 /* partition */
        start local 20 // org.apache.cassandra.db.rows.UnfilteredRowIterator partition
        37: .line 1441
            aload 2 /* validator */
            aload 20 /* partition */
            invokevirtual org.apache.cassandra.repair.Validator.add:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)V
        38: .line 1442
            aload 20 /* partition */
            ifnull 44
            aload 20 /* partition */
            invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.close:()V
            goto 44
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator org.apache.cassandra.utils.concurrent.Refs int int java.util.UUID java.lang.String int int org.apache.cassandra.utils.MerkleTrees long java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionController org.apache.cassandra.db.compaction.CompactionIterator java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.rows.UnfilteredRowIterator
      StackMap stack: java.lang.Throwable
        39: astore 18
            aload 20 /* partition */
            ifnull 40
            aload 20 /* partition */
            invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.close:()V
        end local 20 // org.apache.cassandra.db.rows.UnfilteredRowIterator partition
      StackMap locals:
      StackMap stack:
        40: aload 18
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        41: astore 19
            aload 18
            ifnonnull 42
            aload 19
            astore 18
            goto 43
      StackMap locals:
      StackMap stack:
        42: aload 18
            aload 19
            if_acmpeq 43
            aload 18
            aload 19
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        43: aload 18
            athrow
        44: .line 1435
      StackMap locals:
      StackMap stack:
            aload 17 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.hasNext:()Z
            ifne 33
        45: .line 1444
            aload 2 /* validator */
            invokevirtual org.apache.cassandra.repair.Validator.complete:()V
        46: .line 1445
            aload 17 /* ci */
            ifnull 49
            aload 17 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.close:()V
            goto 49
      StackMap locals:
      StackMap stack: java.lang.Throwable
        47: astore 13
            aload 17 /* ci */
            ifnull 48
            aload 17 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.close:()V
        end local 17 // org.apache.cassandra.db.compaction.CompactionIterator ci
      StackMap locals:
      StackMap stack:
        48: aload 13
            athrow
      StackMap locals:
      StackMap stack:
        49: aload 16 /* controller */
            ifnull 54
            aload 16 /* controller */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionController.close:()V
            goto 54
      StackMap locals:
      StackMap stack: java.lang.Throwable
        50: astore 14
            aload 13
            ifnonnull 51
            aload 14
            astore 13
            goto 52
      StackMap locals:
      StackMap stack:
        51: aload 13
            aload 14
            if_acmpeq 52
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        52: aload 16 /* controller */
            ifnull 53
            aload 16 /* controller */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionController.close:()V
        end local 16 // org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionController controller
      StackMap locals:
      StackMap stack:
        53: aload 13
            athrow
      StackMap locals:
      StackMap stack:
        54: aload 15 /* scanners */
            ifnull 66
            aload 15 /* scanners */
            invokevirtual org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.close:()V
            goto 66
      StackMap locals:
      StackMap stack: java.lang.Throwable
        55: astore 14
            aload 13
            ifnonnull 56
            aload 14
            astore 13
            goto 57
      StackMap locals:
      StackMap stack:
        56: aload 13
            aload 14
            if_acmpeq 57
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        57: aload 15 /* scanners */
            ifnull 58
            aload 15 /* scanners */
            invokevirtual org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.close:()V
        end local 15 // org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList scanners
      StackMap locals:
      StackMap stack:
        58: aload 13
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        59: astore 14
            aload 13
            ifnonnull 60
            aload 14
            astore 13
            goto 61
      StackMap locals:
      StackMap stack:
        60: aload 13
            aload 14
            if_acmpeq 61
            aload 13
            aload 14
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        61: aload 13
            athrow
        62: .line 1447
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator org.apache.cassandra.utils.concurrent.Refs int int java.util.UUID java.lang.String int int org.apache.cassandra.utils.MerkleTrees long
      StackMap stack: java.lang.Throwable
            astore 21
        63: .line 1448
            iload 9 /* isSnapshotValidation */
            ifeq 65
            iload 8 /* isGlobalSnapshotValidation */
            ifne 65
        64: .line 1452
            aload 1 /* cfs */
            aload 7 /* snapshotName */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.clearSnapshot:(Ljava/lang/String;)V
        65: .line 1454
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator org.apache.cassandra.utils.concurrent.Refs int int java.util.UUID java.lang.String int int org.apache.cassandra.utils.MerkleTrees long top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 21
            athrow
        66: .line 1448
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator org.apache.cassandra.utils.concurrent.Refs int int java.util.UUID java.lang.String int int org.apache.cassandra.utils.MerkleTrees long
      StackMap stack:
            iload 9 /* isSnapshotValidation */
            ifeq 68
            iload 8 /* isGlobalSnapshotValidation */
            ifne 68
        67: .line 1452
            aload 1 /* cfs */
            aload 7 /* snapshotName */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.clearSnapshot:(Ljava/lang/String;)V
        68: .line 1456
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 79
        69: .line 1458
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic java.lang.System.nanoTime:()J
            lload 11 /* start */
            lsub
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            lstore 13 /* duration */
        start local 13 // long duration
        70: .line 1459
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Validation finished in {} msec, for {}"
        71: .line 1460
            lload 13 /* duration */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
        72: .line 1461
            aload 2 /* validator */
            getfield org.apache.cassandra.repair.Validator.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
        73: .line 1459
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 13 // long duration
        end local 11 // long start
        end local 10 // org.apache.cassandra.utils.MerkleTrees tree
        end local 9 // boolean isSnapshotValidation
        end local 8 // boolean isGlobalSnapshotValidation
        end local 7 // java.lang.String snapshotName
        end local 6 // java.util.UUID parentRepairSessionId
        end local 5 // int nowInSec
        end local 4 // int gcBefore
        74: .line 1463
            goto 79
        75: .line 1465
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator org.apache.cassandra.utils.concurrent.Refs
      StackMap stack: java.lang.Throwable
            astore 22
        76: .line 1466
            aload 3 /* sstables */
            ifnull 78
        77: .line 1467
            aload 3 /* sstables */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.release:()V
        78: .line 1468
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator org.apache.cassandra.utils.concurrent.Refs top top top top top top top top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 22
            athrow
        79: .line 1466
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator org.apache.cassandra.utils.concurrent.Refs
      StackMap stack:
            aload 3 /* sstables */
            ifnull 81
        80: .line 1467
            aload 3 /* sstables */
            invokevirtual org.apache.cassandra.utils.concurrent.Refs.release:()V
        81: .line 1469
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.cassandra.utils.concurrent.Refs sstables
        end local 2 // org.apache.cassandra.repair.Validator validator
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   82     0                        this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   82     1                         cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   82     2                   validator  Lorg/apache/cassandra/repair/Validator;
            3   82     3                    sstables  Lorg/apache/cassandra/utils/concurrent/Refs<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           14   15     4                    gcBefore  I
           23   24     4                    gcBefore  I
           25   74     4                    gcBefore  I
            4   74     5                    nowInSec  I
            5   74     6       parentRepairSessionId  Ljava/util/UUID;
            8    9     7                snapshotName  Ljava/lang/String;
           10   74     7                snapshotName  Ljava/lang/String;
            6   74     8  isGlobalSnapshotValidation  Z
           11   74     9        isSnapshotValidation  Z
           26   74    10                        tree  Lorg/apache/cassandra/utils/MerkleTrees;
           27   74    11                       start  J
           29   58    15                    scanners  Lorg/apache/cassandra/db/compaction/AbstractCompactionStrategy$ScannerList;
           30   53    16                  controller  Lorg/apache/cassandra/db/compaction/CompactionManager$ValidationCompactionController;
           31   48    17                          ci  Lorg/apache/cassandra/db/compaction/CompactionIterator;
           37   40    20                   partition  Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
           70   74    13                    duration  J
      Exception table:
        from    to  target  type
          37    38      39  any
          36    41      41  any
          31    46      47  any
          30    49      50  any
          29    54      55  any
          28    59      59  any
          27    62      62  any
           3    18      75  any
          21    75      75  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      cfs        
      validator  

  private static org.apache.cassandra.utils.MerkleTrees createMerkleTrees(java.lang.Iterable<org.apache.cassandra.io.sstable.format.SSTableReader>, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>, org.apache.cassandra.db.ColumnFamilyStore);
    descriptor: (Ljava/lang/Iterable;Ljava/util/Collection;Lorg/apache/cassandra/db/ColumnFamilyStore;)Lorg/apache/cassandra/utils/MerkleTrees;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=15, args_size=3
        start local 0 // java.lang.Iterable sstables
        start local 1 // java.util.Collection ranges
        start local 2 // org.apache.cassandra.db.ColumnFamilyStore cfs
         0: .line 1473
            new org.apache.cassandra.utils.MerkleTrees
            dup
            aload 2 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getPartitioner:()Lorg/apache/cassandra/dht/IPartitioner;
            invokespecial org.apache.cassandra.utils.MerkleTrees.<init>:(Lorg/apache/cassandra/dht/IPartitioner;)V
            astore 3 /* tree */
        start local 3 // org.apache.cassandra.utils.MerkleTrees tree
         1: .line 1474
            lconst_0
            lstore 4 /* allPartitions */
        start local 4 // long allPartitions
         2: .line 1475
            aload 1 /* ranges */
            invokeinterface java.util.Collection.size:()I
            invokestatic com.google.common.collect.Maps.newHashMapWithExpectedSize:(I)Ljava/util/HashMap;
            astore 6 /* rangePartitionCounts */
        start local 6 // java.util.Map rangePartitionCounts
         3: .line 1476
            aload 1 /* ranges */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 12
      StackMap locals: java.lang.Iterable java.util.Collection org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.MerkleTrees long java.util.Map top java.util.Iterator
      StackMap stack:
         4: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.dht.Range
            astore 7 /* range */
        start local 7 // org.apache.cassandra.dht.Range range
         5: .line 1478
            lconst_0
            lstore 9 /* numPartitions */
        start local 9 // long numPartitions
         6: .line 1479
            aload 0 /* sstables */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 12
            goto 9
      StackMap locals: java.lang.Iterable java.util.Collection org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.MerkleTrees long java.util.Map org.apache.cassandra.dht.Range java.util.Iterator long top java.util.Iterator
      StackMap stack:
         7: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 11 /* sstable */
        start local 11 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         8: .line 1480
            lload 9 /* numPartitions */
            aload 11 /* sstable */
            aload 7 /* range */
            invokestatic java.util.Collections.singleton:(Ljava/lang/Object;)Ljava/util/Set;
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.estimatedKeysForRanges:(Ljava/util/Collection;)J
            ladd
            lstore 9 /* numPartitions */
        end local 11 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         9: .line 1479
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 1481
            aload 6 /* rangePartitionCounts */
            aload 7 /* range */
            lload 9 /* numPartitions */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 1482
            lload 4 /* allPartitions */
            lload 9 /* numPartitions */
            ladd
            lstore 4 /* allPartitions */
        end local 9 // long numPartitions
        end local 7 // org.apache.cassandra.dht.Range range
        12: .line 1476
      StackMap locals: java.lang.Iterable java.util.Collection org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.MerkleTrees long java.util.Map top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        13: .line 1485
            aload 1 /* ranges */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8
            goto 30
      StackMap locals:
      StackMap stack:
        14: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.dht.Range
            astore 7 /* range */
        start local 7 // org.apache.cassandra.dht.Range range
        15: .line 1487
            aload 6 /* rangePartitionCounts */
            aload 7 /* range */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lstore 9 /* numPartitions */
        start local 9 // long numPartitions
        16: .line 1488
            lload 4 /* allPartitions */
            lconst_0
            lcmp
            ifle 17
            lload 9 /* numPartitions */
            l2d
            lload 4 /* allPartitions */
            l2d
            ddiv
            goto 18
      StackMap locals: java.lang.Iterable java.util.Collection org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.MerkleTrees long java.util.Map org.apache.cassandra.dht.Range java.util.Iterator long
      StackMap stack:
        17: dconst_0
      StackMap locals:
      StackMap stack: double
        18: dstore 11 /* rangeOwningRatio */
        start local 11 // double rangeOwningRatio
        19: .line 1491
            dload 11 /* rangeOwningRatio */
            dconst_0
            dcmpl
            ifle 24
        20: .line 1492
            dconst_0
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getRepairSessionMaxTreeDepth:()I
            i2d
        21: .line 1493
            dconst_1
            dload 11 /* rangeOwningRatio */
            ddiv
            invokestatic java.lang.Math.log:(D)D
            ldc 2.0
            invokestatic java.lang.Math.log:(D)D
            ddiv
            dsub
        22: .line 1492
            invokestatic java.lang.Math.max:(DD)D
            invokestatic java.lang.Math.floor:(D)D
            d2i
        23: .line 1493
            goto 25
        24: .line 1494
      StackMap locals: double
      StackMap stack:
            iconst_0
        25: .line 1491
      StackMap locals:
      StackMap stack: int
            istore 13 /* maxDepth */
        start local 13 // int maxDepth
        26: .line 1497
            lload 9 /* numPartitions */
            lconst_0
            lcmp
            ifle 27
            lload 9 /* numPartitions */
            l2d
            invokestatic java.lang.Math.log:(D)D
            ldc 2.0
            invokestatic java.lang.Math.log:(D)D
            ddiv
            invokestatic java.lang.Math.ceil:(D)D
            iload 13 /* maxDepth */
            i2d
            invokestatic java.lang.Math.min:(DD)D
            d2i
            goto 28
      StackMap locals: int
      StackMap stack:
        27: iconst_0
      StackMap locals:
      StackMap stack: int
        28: istore 14 /* depth */
        start local 14 // int depth
        29: .line 1498
            aload 3 /* tree */
            ldc 2.0
            iload 14 /* depth */
            i2d
            invokestatic java.lang.Math.pow:(DD)D
            d2i
            aload 7 /* range */
            invokevirtual org.apache.cassandra.utils.MerkleTrees.addMerkleTree:(ILorg/apache/cassandra/dht/Range;)Lorg/apache/cassandra/utils/MerkleTree;
            pop
        end local 14 // int depth
        end local 13 // int maxDepth
        end local 11 // double rangeOwningRatio
        end local 9 // long numPartitions
        end local 7 // org.apache.cassandra.dht.Range range
        30: .line 1485
      StackMap locals: java.lang.Iterable java.util.Collection org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.MerkleTrees long java.util.Map top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        31: .line 1500
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 33
        32: .line 1503
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Created {} merkle trees with merkle trees size {}, {} partitions, {} bytes"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* tree */
            invokevirtual org.apache.cassandra.utils.MerkleTrees.ranges:()Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 3 /* tree */
            invokevirtual org.apache.cassandra.utils.MerkleTrees.size:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            lload 4 /* allPartitions */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            getstatic org.apache.cassandra.utils.MerkleTrees.serializer:Lorg/apache/cassandra/utils/MerkleTrees$MerkleTreesSerializer;
            aload 3 /* tree */
            iconst_0
            invokevirtual org.apache.cassandra.utils.MerkleTrees$MerkleTreesSerializer.serializedSize:(Lorg/apache/cassandra/utils/MerkleTrees;I)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        33: .line 1506
      StackMap locals: java.lang.Iterable java.util.Collection org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.utils.MerkleTrees long java.util.Map
      StackMap stack:
            aload 3 /* tree */
            areturn
        end local 6 // java.util.Map rangePartitionCounts
        end local 4 // long allPartitions
        end local 3 // org.apache.cassandra.utils.MerkleTrees tree
        end local 2 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 1 // java.util.Collection ranges
        end local 0 // java.lang.Iterable sstables
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   34     0              sstables  Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            0   34     1                ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            0   34     2                   cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            1   34     3                  tree  Lorg/apache/cassandra/utils/MerkleTrees;
            2   34     4         allPartitions  J
            3   34     6  rangePartitionCounts  Ljava/util/Map<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;Ljava/lang/Long;>;
            5   12     7                 range  Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;
            6   12     9         numPartitions  J
            8    9    11               sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           15   30     7                 range  Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;
           16   30     9         numPartitions  J
           19   30    11      rangeOwningRatio  D
           26   30    13              maxDepth  I
           29   30    14                 depth  I
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;Lorg/apache/cassandra/db/ColumnFamilyStore;)Lorg/apache/cassandra/utils/MerkleTrees;
    MethodParameters:
          Name  Flags
      sstables  
      ranges    
      cfs       

  private synchronized org.apache.cassandra.utils.concurrent.Refs<org.apache.cassandra.io.sstable.format.SSTableReader> getSSTablesToValidate(org.apache.cassandra.db.ColumnFamilyStore, org.apache.cassandra.repair.Validator);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/repair/Validator;)Lorg/apache/cassandra/utils/concurrent/Refs;
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // org.apache.cassandra.repair.Validator validator
         0: .line 1513
            getstatic org.apache.cassandra.service.ActiveRepairService.instance:Lorg/apache/cassandra/service/ActiveRepairService;
            aload 2 /* validator */
            getfield org.apache.cassandra.repair.Validator.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.parentSessionId:Ljava/util/UUID;
            invokevirtual org.apache.cassandra.service.ActiveRepairService.getParentRepairSession:(Ljava/util/UUID;)Lorg/apache/cassandra/service/ActiveRepairService$ParentRepairSession;
            astore 4 /* prs */
        start local 4 // org.apache.cassandra.service.ActiveRepairService$ParentRepairSession prs
         1: .line 1514
            aload 4 /* prs */
            ifnonnull 3
         2: .line 1515
            aconst_null
            areturn
         3: .line 1516
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator top org.apache.cassandra.service.ActiveRepairService$ParentRepairSession
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* sstablesToValidate */
        start local 5 // java.util.Set sstablesToValidate
         4: .line 1517
            aload 4 /* prs */
            getfield org.apache.cassandra.service.ActiveRepairService$ParentRepairSession.isGlobal:Z
            ifeq 6
         5: .line 1518
            aload 4 /* prs */
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.cfId:Ljava/util/UUID;
            aload 2 /* validator */
            getfield org.apache.cassandra.repair.Validator.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.parentSessionId:Ljava/util/UUID;
            invokevirtual org.apache.cassandra.service.ActiveRepairService$ParentRepairSession.markSSTablesRepairing:(Ljava/util/UUID;Ljava/util/UUID;)V
         6: .line 1521
      StackMap locals: java.util.Set
      StackMap stack:
            aconst_null
            astore 6
            aconst_null
            astore 7
         7: aload 1 /* cfs */
            getstatic org.apache.cassandra.db.lifecycle.SSTableSet.CANONICAL:Lorg/apache/cassandra/db/lifecycle/SSTableSet;
            aload 4 /* prs */
            invokedynamic apply(Lorg/apache/cassandra/service/ActiveRepairService$ParentRepairSession;)Lcom/google/common/base/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/apache/cassandra/db/compaction/CompactionManager.lambda$1(Lorg/apache/cassandra/service/ActiveRepairService$ParentRepairSession;Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Z (6)
                  (Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Z
            invokestatic org.apache.cassandra.db.lifecycle.View.select:(Lorg/apache/cassandra/db/lifecycle/SSTableSet;Lcom/google/common/base/Predicate;)Lcom/google/common/base/Function;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.selectAndReference:(Lcom/google/common/base/Function;)Lorg/apache/cassandra/db/ColumnFamilyStore$RefViewFragment;
            astore 8 /* sstableCandidates */
        start local 8 // org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment sstableCandidates
         8: .line 1523
            aload 8 /* sstableCandidates */
            getfield org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment.sstables:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 12
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator top org.apache.cassandra.service.ActiveRepairService$ParentRepairSession java.util.Set java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment top java.util.Iterator
      StackMap stack:
         9: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 9 /* sstable */
        start local 9 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        10: .line 1525
            new org.apache.cassandra.dht.Bounds
            dup
            aload 9 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.first:Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
            aload 9 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.last:Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
            invokespecial org.apache.cassandra.dht.Bounds.<init>:(Lorg/apache/cassandra/dht/RingPosition;Lorg/apache/cassandra/dht/RingPosition;)V
            aload 2 /* validator */
            getfield org.apache.cassandra.repair.Validator.desc:Lorg/apache/cassandra/repair/RepairJobDesc;
            getfield org.apache.cassandra.repair.RepairJobDesc.ranges:Ljava/util/Collection;
            invokevirtual org.apache.cassandra.dht.Bounds.intersects:(Ljava/lang/Iterable;)Z
            ifeq 12
        11: .line 1527
            aload 5 /* sstablesToValidate */
            aload 9 /* sstable */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
        12: .line 1523
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 1531
            aload 5 /* sstablesToValidate */
            invokestatic org.apache.cassandra.utils.concurrent.Refs.tryRef:(Ljava/lang/Iterable;)Lorg/apache/cassandra/utils/concurrent/Refs;
            astore 3 /* sstables */
        start local 3 // org.apache.cassandra.utils.concurrent.Refs sstables
        14: .line 1532
            aload 3 /* sstables */
            ifnonnull 17
        15: .line 1534
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Could not reference sstables"
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
        16: .line 1535
            new java.lang.RuntimeException
            dup
            ldc "Could not reference sstables"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 1537
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.service.ActiveRepairService$ParentRepairSession java.util.Set java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment
      StackMap stack:
            aload 8 /* sstableCandidates */
            ifnull 23
            aload 8 /* sstableCandidates */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment.close:()V
            goto 23
        end local 3 // org.apache.cassandra.utils.concurrent.Refs sstables
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator top org.apache.cassandra.service.ActiveRepairService$ParentRepairSession java.util.Set java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment
      StackMap stack: java.lang.Throwable
        18: astore 6
            aload 8 /* sstableCandidates */
            ifnull 19
            aload 8 /* sstableCandidates */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment.close:()V
        end local 8 // org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment sstableCandidates
      StackMap locals:
      StackMap stack:
        19: aload 6
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: astore 7
            aload 6
            ifnonnull 21
            aload 7
            astore 6
            goto 22
      StackMap locals:
      StackMap stack:
        21: aload 6
            aload 7
            if_acmpeq 22
            aload 6
            aload 7
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        22: aload 6
            athrow
        start local 3 // org.apache.cassandra.utils.concurrent.Refs sstables
        23: .line 1539
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore org.apache.cassandra.repair.Validator org.apache.cassandra.utils.concurrent.Refs org.apache.cassandra.service.ActiveRepairService$ParentRepairSession java.util.Set
      StackMap stack:
            aload 3 /* sstables */
            areturn
        end local 5 // java.util.Set sstablesToValidate
        end local 4 // org.apache.cassandra.service.ActiveRepairService$ParentRepairSession prs
        end local 3 // org.apache.cassandra.utils.concurrent.Refs sstables
        end local 2 // org.apache.cassandra.repair.Validator validator
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   24     0                this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   24     1                 cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   24     2           validator  Lorg/apache/cassandra/repair/Validator;
           14   18     3            sstables  Lorg/apache/cassandra/utils/concurrent/Refs<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           23   24     3            sstables  Lorg/apache/cassandra/utils/concurrent/Refs<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            1   24     4                 prs  Lorg/apache/cassandra/service/ActiveRepairService$ParentRepairSession;
            4   24     5  sstablesToValidate  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            8   19     8   sstableCandidates  Lorg/apache/cassandra/db/ColumnFamilyStore$RefViewFragment;
           10   12     9             sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
      Exception table:
        from    to  target  type
           8    17      18  any
           7    20      20  any
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Lorg/apache/cassandra/repair/Validator;)Lorg/apache/cassandra/utils/concurrent/Refs<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    MethodParameters:
           Name  Flags
      cfs        
      validator  

  private void doAntiCompaction(org.apache.cassandra.db.ColumnFamilyStore, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>, org.apache.cassandra.db.lifecycle.LifecycleTransaction, );
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=15, args_size=5
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // java.util.Collection ranges
        start local 3 // org.apache.cassandra.db.lifecycle.LifecycleTransaction repaired
        start local 4 // long repairedAt
         0: .line 1553
            aload 3 /* repaired */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            istore 6 /* numAnticompact */
        start local 6 // int numAnticompact
         1: .line 1554
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Performing anticompaction on {} sstables"
            iload 6 /* numAnticompact */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 1557
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            aload 3 /* repaired */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.groupSSTablesForAntiCompaction:(Ljava/util/Collection;)Ljava/util/Collection;
            astore 7 /* groupedSSTables */
        start local 7 // java.util.Collection groupedSSTables
         3: .line 1559
            iconst_0
            istore 8 /* antiCompactedSSTableCount */
        start local 8 // int antiCompactedSSTableCount
         4: .line 1560
            aload 7 /* groupedSSTables */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 10
            goto 16
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.db.lifecycle.LifecycleTransaction long int java.util.Collection int top java.util.Iterator
      StackMap stack:
         5: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Collection
            astore 9 /* sstableGroup */
        start local 9 // java.util.Collection sstableGroup
         6: .line 1562
            aconst_null
            astore 11
            aconst_null
            astore 12
         7: aload 3 /* repaired */
            aload 9 /* sstableGroup */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.split:(Ljava/util/Collection;)Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            astore 13 /* txn */
        start local 13 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
         8: .line 1564
            aload 0 /* this */
            aload 1 /* cfs */
            aload 2 /* ranges */
            aload 13 /* txn */
            lload 4 /* repairedAt */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.antiCompactGroup:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;J)I
            istore 14 /* antiCompacted */
        start local 14 // int antiCompacted
         9: .line 1565
            iload 8 /* antiCompactedSSTableCount */
            iload 14 /* antiCompacted */
            iadd
            istore 8 /* antiCompactedSSTableCount */
        end local 14 // int antiCompacted
        10: .line 1566
            aload 13 /* txn */
            ifnull 16
            aload 13 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
            goto 16
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.db.lifecycle.LifecycleTransaction long int java.util.Collection int java.util.Collection java.util.Iterator java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.lifecycle.LifecycleTransaction
      StackMap stack: java.lang.Throwable
        11: astore 11
            aload 13 /* txn */
            ifnull 12
            aload 13 /* txn */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.close:()V
        end local 13 // org.apache.cassandra.db.lifecycle.LifecycleTransaction txn
      StackMap locals:
      StackMap stack:
        12: aload 11
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: astore 12
            aload 11
            ifnonnull 14
            aload 12
            astore 11
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 11
            aload 12
            if_acmpeq 15
            aload 11
            aload 12
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        15: aload 11
            athrow
        end local 9 // java.util.Collection sstableGroup
        16: .line 1560
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.db.lifecycle.LifecycleTransaction long int java.util.Collection int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        17: .line 1569
            ldc "Anticompaction completed successfully, anticompacted from {} to {} sstable(s)."
            astore 9 /* format */
        start local 9 // java.lang.String format
        18: .line 1570
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            aload 9 /* format */
            iload 6 /* numAnticompact */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 8 /* antiCompactedSSTableCount */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        19: .line 1571
            return
        end local 9 // java.lang.String format
        end local 8 // int antiCompactedSSTableCount
        end local 7 // java.util.Collection groupedSSTables
        end local 6 // int numAnticompact
        end local 4 // long repairedAt
        end local 3 // org.apache.cassandra.db.lifecycle.LifecycleTransaction repaired
        end local 2 // java.util.Collection ranges
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   20     0                       this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   20     1                        cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   20     2                     ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            0   20     3                   repaired  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            0   20     4                 repairedAt  J
            1   20     6             numAnticompact  I
            3   20     7            groupedSSTables  Ljava/util/Collection<Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;>;
            4   20     8  antiCompactedSSTableCount  I
            6   16     9               sstableGroup  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            8   12    13                        txn  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            9   10    14              antiCompacted  I
           18   20     9                     format  Ljava/lang/String;
      Exception table:
        from    to  target  type
           8    10      11  any
           7    13      13  any
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;J)V
    MethodParameters:
            Name  Flags
      cfs         
      ranges      
      repaired    
      repairedAt  

  int antiCompactGroup(org.apache.cassandra.db.ColumnFamilyStore, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>, org.apache.cassandra.db.lifecycle.LifecycleTransaction, );
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;J)I
    flags: (0x0000) 
    Code:
      stack=9, locals=29, args_size=5
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 2 // java.util.Collection ranges
        start local 3 // org.apache.cassandra.db.lifecycle.LifecycleTransaction anticompactionGroup
        start local 4 // long repairedAt
         0: .line 1578
            ldc -1
            lstore 6 /* groupMaxDataAge */
        start local 6 // long groupMaxDataAge
         1: .line 1580
            aload 3 /* anticompactionGroup */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8 /* i */
        start local 8 // java.util.Iterator i
         2: goto 6
         3: .line 1582
      StackMap locals: long java.util.Iterator
      StackMap stack:
            aload 8 /* i */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.io.sstable.format.SSTableReader
            astore 9 /* sstable */
        start local 9 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         4: .line 1583
            lload 6 /* groupMaxDataAge */
            aload 9 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.maxDataAge:J
            lcmp
            ifge 6
         5: .line 1584
            aload 9 /* sstable */
            getfield org.apache.cassandra.io.sstable.format.SSTableReader.maxDataAge:J
            lstore 6 /* groupMaxDataAge */
        end local 9 // org.apache.cassandra.io.sstable.format.SSTableReader sstable
         6: .line 1580
      StackMap locals:
      StackMap stack:
            aload 8 /* i */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 8 // java.util.Iterator i
         7: .line 1587
            aload 3 /* anticompactionGroup */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            ifne 10
         8: .line 1589
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "No valid anticompactions for this group, All sstables were compacted and are no longer available"
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
         9: .line 1590
            iconst_0
            ireturn
        10: .line 1593
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Anticompacting {}"
            aload 3 /* anticompactionGroup */
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 1594
            aload 3 /* anticompactionGroup */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            astore 8 /* sstableAsSet */
        start local 8 // java.util.Set sstableAsSet
        12: .line 1596
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getDirectories:()Lorg/apache/cassandra/db/Directories;
            aload 1 /* cfs */
            aload 8 /* sstableAsSet */
            getstatic org.apache.cassandra.db.compaction.OperationType.ANTICOMPACTION:Lorg/apache/cassandra/db/compaction/OperationType;
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getExpectedCompactedFileSize:(Ljava/lang/Iterable;Lorg/apache/cassandra/db/compaction/OperationType;)J
            invokevirtual org.apache.cassandra.db.Directories.getWriteableLocationAsFile:(J)Ljava/io/File;
            astore 9 /* destination */
        start local 9 // java.io.File destination
        13: .line 1597
            lconst_0
            lstore 10 /* repairedKeyCount */
        start local 10 // long repairedKeyCount
        14: .line 1598
            lconst_0
            lstore 12 /* unrepairedKeyCount */
        start local 12 // long unrepairedKeyCount
        15: .line 1599
            invokestatic org.apache.cassandra.utils.FBUtilities.nowInSeconds:()I
            istore 14 /* nowInSec */
        start local 14 // int nowInSec
        16: .line 1635
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            astore 15 /* strategy */
        start local 15 // org.apache.cassandra.db.compaction.CompactionStrategyManager strategy
        17: .line 1636
            aconst_null
            astore 16
            aconst_null
            astore 17
        18: new org.apache.cassandra.db.compaction.CompactionManager$1SharedTxn
            dup
            aload 0 /* this */
            aload 3 /* anticompactionGroup */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$1SharedTxn.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;)V
            astore 18 /* sharedTxn */
        start local 18 // org.apache.cassandra.db.compaction.CompactionManager$1SharedTxn sharedTxn
        19: .line 1637
            aload 18 /* sharedTxn */
            iconst_0
            lload 6 /* groupMaxDataAge */
            invokestatic org.apache.cassandra.io.sstable.SSTableRewriter.constructWithoutEarlyOpening:(Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;ZJ)Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            astore 19 /* repairedSSTableWriter */
        start local 19 // org.apache.cassandra.io.sstable.SSTableRewriter repairedSSTableWriter
        20: .line 1638
            aload 18 /* sharedTxn */
            iconst_0
            lload 6 /* groupMaxDataAge */
            invokestatic org.apache.cassandra.io.sstable.SSTableRewriter.constructWithoutEarlyOpening:(Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;ZJ)Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            astore 20 /* unRepairedSSTableWriter */
        start local 20 // org.apache.cassandra.io.sstable.SSTableRewriter unRepairedSSTableWriter
        21: .line 1639
            aload 15 /* strategy */
            aload 3 /* anticompactionGroup */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.originals:()Ljava/util/Set;
            invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.getScanners:(Ljava/util/Collection;)Lorg/apache/cassandra/db/compaction/AbstractCompactionStrategy$ScannerList;
            astore 21 /* scanners */
        start local 21 // org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList scanners
        22: .line 1640
            new org.apache.cassandra.db.compaction.CompactionController
            dup
            aload 1 /* cfs */
            aload 8 /* sstableAsSet */
            aload 1 /* cfs */
            iload 14 /* nowInSec */
            invokestatic org.apache.cassandra.db.compaction.CompactionManager.getDefaultGcBefore:(Lorg/apache/cassandra/db/ColumnFamilyStore;I)I
            invokespecial org.apache.cassandra.db.compaction.CompactionController.<init>:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Set;I)V
            astore 22 /* controller */
        start local 22 // org.apache.cassandra.db.compaction.CompactionController controller
        23: .line 1641
            new org.apache.cassandra.db.compaction.CompactionIterator
            dup
            getstatic org.apache.cassandra.db.compaction.OperationType.ANTICOMPACTION:Lorg/apache/cassandra/db/compaction/OperationType;
            aload 21 /* scanners */
            getfield org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.scanners:Ljava/util/List;
            aload 22 /* controller */
            iload 14 /* nowInSec */
            invokestatic org.apache.cassandra.utils.UUIDGen.getTimeUUID:()Ljava/util/UUID;
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            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;Lorg/apache/cassandra/metrics/CompactionMetrics;)V
            astore 23 /* ci */
        start local 23 // org.apache.cassandra.db.compaction.CompactionIterator ci
        24: .line 1643
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            getfield org.apache.cassandra.config.CFMetaData.params:Lorg/apache/cassandra/schema/TableParams;
            getfield org.apache.cassandra.schema.TableParams.minIndexInterval:I
            aload 8 /* sstableAsSet */
            invokestatic org.apache.cassandra.io.sstable.format.SSTableReader.getApproximateKeyCount:(Ljava/lang/Iterable;)J
            l2i
            invokestatic java.lang.Math.max:(II)I
            istore 24 /* expectedBloomFilterSize */
        start local 24 // int expectedBloomFilterSize
        25: .line 1645
            aload 19 /* repairedSSTableWriter */
            aload 1 /* cfs */
            aload 9 /* destination */
            iload 24 /* expectedBloomFilterSize */
            lload 4 /* repairedAt */
            aload 8 /* sstableAsSet */
            aload 18 /* sharedTxn */
            invokestatic org.apache.cassandra.db.compaction.CompactionManager.createWriterForAntiCompaction:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/io/File;IJLjava/util/Collection;Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.switchWriter:(Lorg/apache/cassandra/io/sstable/format/SSTableWriter;)V
        26: .line 1646
            aload 20 /* unRepairedSSTableWriter */
            aload 1 /* cfs */
            aload 9 /* destination */
            iload 24 /* expectedBloomFilterSize */
            lconst_0
            aload 8 /* sstableAsSet */
            aload 18 /* sharedTxn */
            invokestatic org.apache.cassandra.db.compaction.CompactionManager.createWriterForAntiCompaction:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/io/File;IJLjava/util/Collection;Lorg/apache/cassandra/db/lifecycle/ILifecycleTransaction;)Lorg/apache/cassandra/io/sstable/format/SSTableWriter;
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.switchWriter:(Lorg/apache/cassandra/io/sstable/format/SSTableWriter;)V
        27: .line 1647
            new org.apache.cassandra.dht.Range$OrderedRangeContainmentChecker
            dup
            aload 2 /* ranges */
            invokespecial org.apache.cassandra.dht.Range$OrderedRangeContainmentChecker.<init>:(Ljava/util/Collection;)V
            astore 25 /* containmentChecker */
        start local 25 // org.apache.cassandra.dht.Range$OrderedRangeContainmentChecker containmentChecker
        28: .line 1648
            goto 43
        29: .line 1650
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.db.lifecycle.LifecycleTransaction long long java.util.Set java.io.File long long int org.apache.cassandra.db.compaction.CompactionStrategyManager java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionManager$1SharedTxn org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.db.compaction.CompactionIterator int org.apache.cassandra.dht.Range$OrderedRangeContainmentChecker
      StackMap stack:
            aconst_null
            astore 26
            aconst_null
            astore 27
        30: aload 23 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.next:()Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
            astore 28 /* partition */
        start local 28 // org.apache.cassandra.db.rows.UnfilteredRowIterator partition
        31: .line 1653
            aload 25 /* containmentChecker */
            aload 28 /* partition */
            invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.partitionKey:()Lorg/apache/cassandra/db/DecoratedKey;
            invokevirtual org.apache.cassandra.db.DecoratedKey.getToken:()Lorg/apache/cassandra/dht/Token;
            invokevirtual org.apache.cassandra.dht.Range$OrderedRangeContainmentChecker.contains:(Lorg/apache/cassandra/dht/Token;)Z
            ifeq 35
        32: .line 1655
            aload 19 /* repairedSSTableWriter */
            aload 28 /* partition */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.append:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/RowIndexEntry;
            pop
        33: .line 1656
            lload 10 /* repairedKeyCount */
            lconst_1
            ladd
            lstore 10 /* repairedKeyCount */
        34: .line 1657
            goto 37
        35: .line 1661
      StackMap locals: java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.rows.UnfilteredRowIterator
      StackMap stack:
            aload 20 /* unRepairedSSTableWriter */
            aload 28 /* partition */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.append:(Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;)Lorg/apache/cassandra/db/RowIndexEntry;
            pop
        36: .line 1662
            lload 12 /* unrepairedKeyCount */
            lconst_1
            ladd
            lstore 12 /* unrepairedKeyCount */
        37: .line 1664
      StackMap locals:
      StackMap stack:
            aload 28 /* partition */
            ifnull 43
            aload 28 /* partition */
            invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.close:()V
            goto 43
      StackMap locals:
      StackMap stack: java.lang.Throwable
        38: astore 26
            aload 28 /* partition */
            ifnull 39
            aload 28 /* partition */
            invokeinterface org.apache.cassandra.db.rows.UnfilteredRowIterator.close:()V
        end local 28 // org.apache.cassandra.db.rows.UnfilteredRowIterator partition
      StackMap locals:
      StackMap stack:
        39: aload 26
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        40: astore 27
            aload 26
            ifnonnull 41
            aload 27
            astore 26
            goto 42
      StackMap locals:
      StackMap stack:
        41: aload 26
            aload 27
            if_acmpeq 42
            aload 26
            aload 27
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        42: aload 26
            athrow
        43: .line 1648
      StackMap locals:
      StackMap stack:
            aload 23 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.hasNext:()Z
            ifne 29
        44: .line 1667
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 26 /* anticompactedSSTables */
        start local 26 // java.util.List anticompactedSSTables
        45: .line 1669
            aload 19 /* repairedSSTableWriter */
            lload 4 /* repairedAt */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.setRepairedAt:(J)Lorg/apache/cassandra/io/sstable/SSTableRewriter;
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.prepareToCommit:()V
        46: .line 1670
            aload 20 /* unRepairedSSTableWriter */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.prepareToCommit:()V
        47: .line 1671
            aload 3 /* anticompactionGroup */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.checkpoint:()V
        48: .line 1672
            aload 3 /* anticompactionGroup */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.obsoleteOriginals:()V
        49: .line 1673
            aload 3 /* anticompactionGroup */
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.prepareToCommit:()V
        50: .line 1674
            aload 26 /* anticompactedSSTables */
            aload 19 /* repairedSSTableWriter */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.finished:()Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        51: .line 1675
            aload 26 /* anticompactedSSTables */
            aload 20 /* unRepairedSSTableWriter */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.finished:()Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        52: .line 1676
            aload 19 /* repairedSSTableWriter */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.commit:()V
        53: .line 1677
            aload 20 /* unRepairedSSTableWriter */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.commit:()V
        54: .line 1678
            aload 3 /* anticompactionGroup */
            aconst_null
            invokevirtual org.apache.cassandra.db.lifecycle.LifecycleTransaction.commit:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            invokestatic org.apache.cassandra.utils.Throwables.maybeFail:(Ljava/lang/Throwable;)V
        55: .line 1680
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Repaired {} keys out of {} for {}/{} in {}"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            lload 10 /* repairedKeyCount */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
        56: .line 1681
            lload 10 /* repairedKeyCount */
            lload 12 /* unrepairedKeyCount */
            ladd
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
        57: .line 1682
            aload 1 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.keyspace:Lorg/apache/cassandra/db/Keyspace;
            invokevirtual org.apache.cassandra.db.Keyspace.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_3
        58: .line 1683
            aload 1 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getColumnFamilyName:()Ljava/lang/String;
            aastore
            dup
            iconst_4
        59: .line 1684
            aload 3 /* anticompactionGroup */
            aastore
        60: .line 1680
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
        61: .line 1685
            aload 26 /* anticompactedSSTables */
            invokeinterface java.util.List.size:()I
        62: .line 1686
            aload 23 /* ci */
            ifnull 63
            aload 23 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.close:()V
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.db.lifecycle.LifecycleTransaction long long java.util.Set java.io.File long long int org.apache.cassandra.db.compaction.CompactionStrategyManager java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionManager$1SharedTxn org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.db.compaction.CompactionIterator int org.apache.cassandra.dht.Range$OrderedRangeContainmentChecker java.util.List
      StackMap stack: int
        63: aload 22 /* controller */
            ifnull 64
            aload 22 /* controller */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.close:()V
      StackMap locals:
      StackMap stack: int
        64: aload 21 /* scanners */
            ifnull 65
            aload 21 /* scanners */
            invokevirtual org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.close:()V
      StackMap locals:
      StackMap stack: int
        65: aload 20 /* unRepairedSSTableWriter */
            ifnull 66
            aload 20 /* unRepairedSSTableWriter */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.close:()V
      StackMap locals:
      StackMap stack: int
        66: aload 19 /* repairedSSTableWriter */
            ifnull 67
            aload 19 /* repairedSSTableWriter */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.close:()V
      StackMap locals:
      StackMap stack: int
        67: aload 18 /* sharedTxn */
            ifnull 68
            aload 18 /* sharedTxn */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$1SharedTxn.close:()V
        68: .line 1685
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 26 // java.util.List anticompactedSSTables
        end local 25 // org.apache.cassandra.dht.Range$OrderedRangeContainmentChecker containmentChecker
        end local 24 // int expectedBloomFilterSize
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.db.lifecycle.LifecycleTransaction long long java.util.Set java.io.File long long int org.apache.cassandra.db.compaction.CompactionStrategyManager java.lang.Throwable java.lang.Throwable org.apache.cassandra.db.compaction.CompactionManager$1SharedTxn org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.io.sstable.SSTableRewriter org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList org.apache.cassandra.db.compaction.CompactionController org.apache.cassandra.db.compaction.CompactionIterator
      StackMap stack: java.lang.Throwable
        69: astore 16
        70: .line 1686
            aload 23 /* ci */
            ifnull 71
            aload 23 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionIterator.close:()V
        end local 23 // org.apache.cassandra.db.compaction.CompactionIterator ci
      StackMap locals:
      StackMap stack:
        71: aload 16
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        72: astore 17
            aload 16
            ifnonnull 73
            aload 17
            astore 16
            goto 74
      StackMap locals:
      StackMap stack:
        73: aload 16
            aload 17
            if_acmpeq 74
            aload 16
            aload 17
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        74: aload 22 /* controller */
            ifnull 75
            aload 22 /* controller */
            invokevirtual org.apache.cassandra.db.compaction.CompactionController.close:()V
        end local 22 // org.apache.cassandra.db.compaction.CompactionController controller
      StackMap locals:
      StackMap stack:
        75: aload 16
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        76: astore 17
            aload 16
            ifnonnull 77
            aload 17
            astore 16
            goto 78
      StackMap locals:
      StackMap stack:
        77: aload 16
            aload 17
            if_acmpeq 78
            aload 16
            aload 17
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        78: aload 21 /* scanners */
            ifnull 79
            aload 21 /* scanners */
            invokevirtual org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList.close:()V
        end local 21 // org.apache.cassandra.db.compaction.AbstractCompactionStrategy$ScannerList scanners
      StackMap locals:
      StackMap stack:
        79: aload 16
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        80: astore 17
            aload 16
            ifnonnull 81
            aload 17
            astore 16
            goto 82
      StackMap locals:
      StackMap stack:
        81: aload 16
            aload 17
            if_acmpeq 82
            aload 16
            aload 17
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        82: aload 20 /* unRepairedSSTableWriter */
            ifnull 83
            aload 20 /* unRepairedSSTableWriter */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.close:()V
        end local 20 // org.apache.cassandra.io.sstable.SSTableRewriter unRepairedSSTableWriter
      StackMap locals:
      StackMap stack:
        83: aload 16
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        84: astore 17
            aload 16
            ifnonnull 85
            aload 17
            astore 16
            goto 86
      StackMap locals:
      StackMap stack:
        85: aload 16
            aload 17
            if_acmpeq 86
            aload 16
            aload 17
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        86: aload 19 /* repairedSSTableWriter */
            ifnull 87
            aload 19 /* repairedSSTableWriter */
            invokevirtual org.apache.cassandra.io.sstable.SSTableRewriter.close:()V
        end local 19 // org.apache.cassandra.io.sstable.SSTableRewriter repairedSSTableWriter
      StackMap locals:
      StackMap stack:
        87: aload 16
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        88: astore 17
            aload 16
            ifnonnull 89
            aload 17
            astore 16
            goto 90
      StackMap locals:
      StackMap stack:
        89: aload 16
            aload 17
            if_acmpeq 90
            aload 16
            aload 17
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        90: aload 18 /* sharedTxn */
            ifnull 91
            aload 18 /* sharedTxn */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$1SharedTxn.close:()V
        end local 18 // org.apache.cassandra.db.compaction.CompactionManager$1SharedTxn sharedTxn
      StackMap locals:
      StackMap stack:
        91: aload 16
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        92: astore 17
            aload 16
            ifnonnull 93
            aload 17
            astore 16
            goto 94
      StackMap locals:
      StackMap stack:
        93: aload 16
            aload 17
            if_acmpeq 94
            aload 16
            aload 17
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        94: aload 16
            athrow
        95: .line 1687
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager org.apache.cassandra.db.ColumnFamilyStore java.util.Collection org.apache.cassandra.db.lifecycle.LifecycleTransaction long long java.util.Set java.io.File long long int org.apache.cassandra.db.compaction.CompactionStrategyManager
      StackMap stack: java.lang.Throwable
            astore 16 /* e */
        start local 16 // java.lang.Throwable e
        96: .line 1689
            aload 16 /* e */
            invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
        97: .line 1690
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Error anticompacting "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* anticompactionGroup */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 16 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 16 // java.lang.Throwable e
        98: .line 1692
            iconst_0
            ireturn
        end local 15 // org.apache.cassandra.db.compaction.CompactionStrategyManager strategy
        end local 14 // int nowInSec
        end local 12 // long unrepairedKeyCount
        end local 10 // long repairedKeyCount
        end local 9 // java.io.File destination
        end local 8 // java.util.Set sstableAsSet
        end local 6 // long groupMaxDataAge
        end local 4 // long repairedAt
        end local 3 // org.apache.cassandra.db.lifecycle.LifecycleTransaction anticompactionGroup
        end local 2 // java.util.Collection ranges
        end local 1 // org.apache.cassandra.db.ColumnFamilyStore cfs
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   99     0                     this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   99     1                      cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0   99     2                   ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            0   99     3      anticompactionGroup  Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;
            0   99     4               repairedAt  J
            1   99     6          groupMaxDataAge  J
            2    7     8                        i  Ljava/util/Iterator<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
            4    6     9                  sstable  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
           12   99     8             sstableAsSet  Ljava/util/Set<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           13   99     9              destination  Ljava/io/File;
           14   99    10         repairedKeyCount  J
           15   99    12       unrepairedKeyCount  J
           16   99    14                 nowInSec  I
           17   99    15                 strategy  Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
           19   91    18                sharedTxn  Lorg/apache/cassandra/db/compaction/CompactionManager$1SharedTxn;
           20   87    19    repairedSSTableWriter  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
           21   83    20  unRepairedSSTableWriter  Lorg/apache/cassandra/io/sstable/SSTableRewriter;
           22   79    21                 scanners  Lorg/apache/cassandra/db/compaction/AbstractCompactionStrategy$ScannerList;
           23   75    22               controller  Lorg/apache/cassandra/db/compaction/CompactionController;
           24   71    23                       ci  Lorg/apache/cassandra/db/compaction/CompactionIterator;
           25   69    24  expectedBloomFilterSize  I
           28   69    25       containmentChecker  Lorg/apache/cassandra/dht/Range$OrderedRangeContainmentChecker;
           31   39    28                partition  Lorg/apache/cassandra/db/rows/UnfilteredRowIterator;
           45   69    26    anticompactedSSTables  Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
           96   98    16                        e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          31    37      38  any
          30    40      40  any
          24    62      69  any
          23    63      72  any
          69    72      72  any
          22    64      76  any
          69    76      76  any
          21    65      80  any
          69    80      80  any
          20    66      84  any
          69    84      84  any
          19    67      88  any
          69    88      88  any
          18    68      92  any
          69    92      92  any
          17    68      95  Class java.lang.Throwable
          69    95      95  Class java.lang.Throwable
    Signature: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;Lorg/apache/cassandra/db/lifecycle/LifecycleTransaction;J)I
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()
    RuntimeInvisibleTypeAnnotations: 
      METHOD_RETURN
        com.google.common.annotations.VisibleForTesting()
    MethodParameters:
                     Name  Flags
      cfs                  
      ranges               
      anticompactionGroup  
      repairedAt           

  public java.util.concurrent.Future<?> submitIndexBuild(org.apache.cassandra.index.SecondaryIndexBuilder);
    descriptor: (Lorg/apache/cassandra/index/SecondaryIndexBuilder;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.index.SecondaryIndexBuilder builder
         0: .line 1700
            new org.apache.cassandra.db.compaction.CompactionManager$14
            dup
            aload 0 /* this */
            aload 1 /* builder */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$14.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Lorg/apache/cassandra/index/SecondaryIndexBuilder;)V
            astore 2 /* runnable */
        start local 2 // java.lang.Runnable runnable
         1: .line 1716
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            aload 2 /* runnable */
            ldc "index build"
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.submitIfRunning:(Ljava/lang/Runnable;Ljava/lang/String;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 2 // java.lang.Runnable runnable
        end local 1 // org.apache.cassandra.index.SecondaryIndexBuilder builder
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    2     1   builder  Lorg/apache/cassandra/index/SecondaryIndexBuilder;
            1    2     2  runnable  Ljava/lang/Runnable;
    Signature: (Lorg/apache/cassandra/index/SecondaryIndexBuilder;)Ljava/util/concurrent/Future<*>;
    MethodParameters:
         Name  Flags
      builder  final

  public java.util.concurrent.Future<?> submitCacheWrite(org.apache.cassandra.cache.AutoSavingCache$Writer);
    descriptor: (Lorg/apache/cassandra/cache/AutoSavingCache$Writer;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.cache.AutoSavingCache$Writer writer
         0: .line 1721
            new org.apache.cassandra.db.compaction.CompactionManager$15
            dup
            aload 0 /* this */
            aload 1 /* writer */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$15.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Lorg/apache/cassandra/cache/AutoSavingCache$Writer;)V
            astore 2 /* runnable */
        start local 2 // java.lang.Runnable runnable
         1: .line 1749
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            aload 2 /* runnable */
            ldc "cache write"
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.submitIfRunning:(Ljava/lang/Runnable;Ljava/lang/String;)Lcom/google/common/util/concurrent/ListenableFuture;
            areturn
        end local 2 // java.lang.Runnable runnable
        end local 1 // org.apache.cassandra.cache.AutoSavingCache$Writer writer
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    2     1    writer  Lorg/apache/cassandra/cache/AutoSavingCache$Writer;
            1    2     2  runnable  Ljava/lang/Runnable;
    Signature: (Lorg/apache/cassandra/cache/AutoSavingCache$Writer;)Ljava/util/concurrent/Future<*>;
    MethodParameters:
        Name  Flags
      writer  final

  public java.util.List<org.apache.cassandra.io.sstable.format.SSTableReader> runIndexSummaryRedistribution(org.apache.cassandra.io.sstable.IndexSummaryRedistribution);
    descriptor: (Lorg/apache/cassandra/io/sstable/IndexSummaryRedistribution;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.io.sstable.IndexSummaryRedistribution redistribution
         0: .line 1754
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            aload 1 /* redistribution */
            invokevirtual org.apache.cassandra.metrics.CompactionMetrics.beginCompaction:(Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;)V
         1: .line 1758
            aload 1 /* redistribution */
            invokevirtual org.apache.cassandra.io.sstable.IndexSummaryRedistribution.redistributeSummaries:()Ljava/util/List;
            astore 3
         2: .line 1762
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            aload 1 /* redistribution */
            invokevirtual org.apache.cassandra.metrics.CompactionMetrics.finishCompaction:(Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;)V
         3: .line 1758
            aload 3
            areturn
         4: .line 1761
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 2
         5: .line 1762
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            aload 1 /* redistribution */
            invokevirtual org.apache.cassandra.metrics.CompactionMetrics.finishCompaction:(Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;)V
         6: .line 1763
            aload 2
            athrow
        end local 1 // org.apache.cassandra.io.sstable.IndexSummaryRedistribution redistribution
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    7     1  redistribution  Lorg/apache/cassandra/io/sstable/IndexSummaryRedistribution;
      Exception table:
        from    to  target  type
           1     2       4  any
    Exceptions:
      throws java.io.IOException
    Signature: (Lorg/apache/cassandra/io/sstable/IndexSummaryRedistribution;)Ljava/util/List<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    MethodParameters:
                Name  Flags
      redistribution  

  public static int getDefaultGcBefore(org.apache.cassandra.db.ColumnFamilyStore, int);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.ColumnFamilyStore cfs
        start local 1 // int nowInSec
         0: .line 1770
            aload 0 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.isIndex:()Z
            ifeq 1
            iload 1 /* nowInSec */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* cfs */
            iload 1 /* nowInSec */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.gcBefore:(I)I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // int nowInSec
        end local 0 // org.apache.cassandra.db.ColumnFamilyStore cfs
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0       cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
            0    3     1  nowInSec  I
    MethodParameters:
          Name  Flags
      cfs       
      nowInSec  

  public java.util.concurrent.Future<?> submitViewBuilder(org.apache.cassandra.db.view.ViewBuilder);
    descriptor: (Lorg/apache/cassandra/db/view/ViewBuilder;)Ljava/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // org.apache.cassandra.db.view.ViewBuilder builder
         0: .line 1814
            new org.apache.cassandra.db.compaction.CompactionManager$16
            dup
            aload 0 /* this */
            aload 1 /* builder */
            invokespecial org.apache.cassandra.db.compaction.CompactionManager$16.<init>:(Lorg/apache/cassandra/db/compaction/CompactionManager;Lorg/apache/cassandra/db/view/ViewBuilder;)V
            astore 2 /* runnable */
        start local 2 // java.lang.Runnable runnable
         1: .line 1829
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.isShutdown:()Z
            ifeq 4
         2: .line 1831
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "Compaction executor has shut down, not submitting index build"
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
         3: .line 1832
            aconst_null
            areturn
         4: .line 1835
      StackMap locals: java.lang.Runnable
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            aload 2 /* runnable */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
            areturn
        end local 2 // java.lang.Runnable runnable
        end local 1 // org.apache.cassandra.db.view.ViewBuilder builder
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    5     1   builder  Lorg/apache/cassandra/db/view/ViewBuilder;
            1    5     2  runnable  Ljava/lang/Runnable;
    Signature: (Lorg/apache/cassandra/db/view/ViewBuilder;)Ljava/util/concurrent/Future<*>;
    MethodParameters:
         Name  Flags
      builder  final

  public int getActiveCompactions();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 1839
            invokestatic org.apache.cassandra.metrics.CompactionMetrics.getCompactions:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ireturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionManager;

  public java.util.List<java.util.Map<java.lang.String, java.lang.String>> getCompactions();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 1962
            invokestatic org.apache.cassandra.metrics.CompactionMetrics.getCompactions:()Ljava/util/List;
            astore 1 /* compactionHolders */
        start local 1 // java.util.List compactionHolders
         1: .line 1963
            new java.util.ArrayList
            dup
            aload 1 /* compactionHolders */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* out */
        start local 2 // java.util.List out
         2: .line 1964
            aload 1 /* compactionHolders */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.compaction.CompactionInfo$Holder
            astore 3 /* ci */
        start local 3 // org.apache.cassandra.db.compaction.CompactionInfo$Holder ci
         4: .line 1965
            aload 2 /* out */
            aload 3 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo$Holder.getCompactionInfo:()Lorg/apache/cassandra/db/compaction/CompactionInfo;
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo.asMap:()Ljava/util/Map;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.apache.cassandra.db.compaction.CompactionInfo$Holder ci
         5: .line 1964
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 1966
            aload 2 /* out */
            areturn
        end local 2 // java.util.List out
        end local 1 // java.util.List compactionHolders
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            1    7     1  compactionHolders  Ljava/util/List<Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;>;
            2    7     2                out  Ljava/util/List<Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;
            4    5     3                 ci  Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;
    Signature: ()Ljava/util/List<Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;>;

  public java.util.List<java.lang.String> getCompactionSummary();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 1971
            invokestatic org.apache.cassandra.metrics.CompactionMetrics.getCompactions:()Ljava/util/List;
            astore 1 /* compactionHolders */
        start local 1 // java.util.List compactionHolders
         1: .line 1972
            new java.util.ArrayList
            dup
            aload 1 /* compactionHolders */
            invokeinterface java.util.List.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* out */
        start local 2 // java.util.List out
         2: .line 1973
            aload 1 /* compactionHolders */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.compaction.CompactionInfo$Holder
            astore 3 /* ci */
        start local 3 // org.apache.cassandra.db.compaction.CompactionInfo$Holder ci
         4: .line 1974
            aload 2 /* out */
            aload 3 /* ci */
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo$Holder.getCompactionInfo:()Lorg/apache/cassandra/db/compaction/CompactionInfo;
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // org.apache.cassandra.db.compaction.CompactionInfo$Holder ci
         5: .line 1973
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 1975
            aload 2 /* out */
            areturn
        end local 2 // java.util.List out
        end local 1 // java.util.List compactionHolders
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    7     0               this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            1    7     1  compactionHolders  Ljava/util/List<Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;>;
            2    7     2                out  Ljava/util/List<Ljava/lang/String;>;
            4    5     3                 ci  Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public javax.management.openmbean.TabularData getCompactionHistory();
    descriptor: ()Ljavax/management/openmbean/TabularData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 1982
            invokestatic org.apache.cassandra.db.SystemKeyspace.getCompactionHistory:()Ljavax/management/openmbean/TabularData;
         1: areturn
         2: .line 1984
      StackMap locals:
      StackMap stack: javax.management.openmbean.OpenDataException
            astore 1 /* e */
        start local 1 // javax.management.openmbean.OpenDataException e
         3: .line 1986
            new java.lang.RuntimeException
            dup
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // javax.management.openmbean.OpenDataException e
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            3    4     1     e  Ljavax/management/openmbean/OpenDataException;
      Exception table:
        from    to  target  type
           0     1       2  Class javax.management.openmbean.OpenDataException

  public long getTotalBytesCompacted();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 1992
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            getfield org.apache.cassandra.metrics.CompactionMetrics.bytesCompacted:Lcom/codahale/metrics/Counter;
            invokevirtual com.codahale.metrics.Counter.getCount:()J
            lreturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionManager;

  public long getTotalCompactionsCompleted();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 1997
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            getfield org.apache.cassandra.metrics.CompactionMetrics.totalCompactionsCompleted:Lcom/codahale/metrics/Meter;
            invokevirtual com.codahale.metrics.Meter.getCount:()J
            lreturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionManager;

  public int getPendingTasks();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 2002
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            getfield org.apache.cassandra.metrics.CompactionMetrics.pendingTasks:Lcom/codahale/metrics/Gauge;
            invokeinterface com.codahale.metrics.Gauge.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            ireturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionManager;

  public long getCompletedTasks();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 2007
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.metrics:Lorg/apache/cassandra/metrics/CompactionMetrics;
            getfield org.apache.cassandra.metrics.CompactionMetrics.completedTasks:Lcom/codahale/metrics/Gauge;
            invokeinterface com.codahale.metrics.Gauge.getValue:()Ljava/lang/Object;
            checkcast java.lang.Long
            invokevirtual java.lang.Long.longValue:()J
            lreturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionManager;

  public void stopCompaction(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // java.lang.String type
         0: .line 2012
            aload 1 /* type */
            invokestatic org.apache.cassandra.db.compaction.OperationType.valueOf:(Ljava/lang/String;)Lorg/apache/cassandra/db/compaction/OperationType;
            astore 2 /* operation */
        start local 2 // org.apache.cassandra.db.compaction.OperationType operation
         1: .line 2013
            invokestatic org.apache.cassandra.metrics.CompactionMetrics.getCompactions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String org.apache.cassandra.db.compaction.OperationType top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.compaction.CompactionInfo$Holder
            astore 3 /* holder */
        start local 3 // org.apache.cassandra.db.compaction.CompactionInfo$Holder holder
         3: .line 2015
            aload 3 /* holder */
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo$Holder.getCompactionInfo:()Lorg/apache/cassandra/db/compaction/CompactionInfo;
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo.getTaskType:()Lorg/apache/cassandra/db/compaction/OperationType;
            aload 2 /* operation */
            if_acmpne 5
         4: .line 2016
            aload 3 /* holder */
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo$Holder.stop:()V
        end local 3 // org.apache.cassandra.db.compaction.CompactionInfo$Holder holder
         5: .line 2013
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 2018
            return
        end local 2 // org.apache.cassandra.db.compaction.OperationType operation
        end local 1 // java.lang.String type
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    7     1       type  Ljava/lang/String;
            1    7     2  operation  Lorg/apache/cassandra/db/compaction/OperationType;
            3    5     3     holder  Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;
    MethodParameters:
      Name  Flags
      type  

  public void stopCompactionById(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // java.lang.String compactionId
         0: .line 2022
            invokestatic org.apache.cassandra.metrics.CompactionMetrics.getCompactions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.String top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.compaction.CompactionInfo$Holder
            astore 2 /* holder */
        start local 2 // org.apache.cassandra.db.compaction.CompactionInfo$Holder holder
         2: .line 2024
            aload 2 /* holder */
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo$Holder.getCompactionInfo:()Lorg/apache/cassandra/db/compaction/CompactionInfo;
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo.compactionId:()Ljava/util/UUID;
            astore 4 /* holderId */
        start local 4 // java.util.UUID holderId
         3: .line 2025
            aload 4 /* holderId */
            ifnull 5
            aload 4 /* holderId */
            aload 1 /* compactionId */
            invokestatic java.util.UUID.fromString:(Ljava/lang/String;)Ljava/util/UUID;
            invokevirtual java.util.UUID.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 2026
            aload 2 /* holder */
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo$Holder.stop:()V
        end local 4 // java.util.UUID holderId
        end local 2 // org.apache.cassandra.db.compaction.CompactionInfo$Holder holder
         5: .line 2022
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         6: .line 2028
            return
        end local 1 // java.lang.String compactionId
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    7     1  compactionId  Ljava/lang/String;
            2    5     2        holder  Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;
            3    5     4      holderId  Ljava/util/UUID;
    MethodParameters:
              Name  Flags
      compactionId  

  public void setConcurrentCompactors(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // int value
         0: .line 2032
            iload 1 /* value */
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.getCorePoolSize:()I
            if_icmple 4
         1: .line 2035
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            iload 1 /* value */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.setMaximumPoolSize:(I)V
         2: .line 2036
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            iload 1 /* value */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.setCorePoolSize:(I)V
         3: .line 2037
            goto 7
         4: .line 2038
      StackMap locals:
      StackMap stack:
            iload 1 /* value */
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.getCorePoolSize:()I
            if_icmpge 7
         5: .line 2041
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            iload 1 /* value */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.setCorePoolSize:(I)V
         6: .line 2042
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            iload 1 /* value */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.setMaximumPoolSize:(I)V
         7: .line 2044
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int value
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    8     1  value  I
    MethodParameters:
       Name  Flags
      value  

  public int getCoreCompactorThreads();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 2048
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.getCorePoolSize:()I
            ireturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionManager;

  public void setCoreCompactorThreads(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // int number
         0: .line 2053
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            iload 1 /* number */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.setCorePoolSize:(I)V
         1: .line 2054
            return
        end local 1 // int number
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    2     1  number  I
    MethodParameters:
        Name  Flags
      number  

  public int getMaximumCompactorThreads();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 2058
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.getMaximumPoolSize:()I
            ireturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionManager;

  public void setMaximumCompactorThreads(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // int number
         0: .line 2063
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.executor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            iload 1 /* number */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.setMaximumPoolSize:(I)V
         1: .line 2064
            return
        end local 1 // int number
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    2     1  number  I
    MethodParameters:
        Name  Flags
      number  

  public int getCoreValidationThreads();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 2068
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.validationExecutor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.getCorePoolSize:()I
            ireturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionManager;

  public void setCoreValidationThreads(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // int number
         0: .line 2073
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.validationExecutor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            iload 1 /* number */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.setCorePoolSize:(I)V
         1: .line 2074
            return
        end local 1 // int number
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    2     1  number  I
    MethodParameters:
        Name  Flags
      number  

  public int getMaximumValidatorThreads();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
         0: .line 2078
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.validationExecutor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.getMaximumPoolSize:()I
            ireturn
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/compaction/CompactionManager;

  public void setMaximumValidatorThreads(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // int number
         0: .line 2083
            aload 0 /* this */
            getfield org.apache.cassandra.db.compaction.CompactionManager.validationExecutor:Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutor;
            iload 1 /* number */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor.setMaximumPoolSize:(I)V
         1: .line 2084
            return
        end local 1 // int number
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    2     1  number  I
    MethodParameters:
        Name  Flags
      number  

  public void interruptCompactionFor(java.lang.Iterable<org.apache.cassandra.config.CFMetaData>, );
    descriptor: (Ljava/lang/Iterable;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // java.lang.Iterable columnFamilies
        start local 2 // boolean interruptValidation
         0: .line 2098
            getstatic org.apache.cassandra.db.compaction.CompactionManager.$assertionsDisabled:Z
            ifne 1
            aload 1 /* columnFamilies */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2101
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.cassandra.metrics.CompactionMetrics.getCompactions:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.Iterable int top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.compaction.CompactionInfo$Holder
            astore 3 /* compactionHolder */
        start local 3 // org.apache.cassandra.db.compaction.CompactionInfo$Holder compactionHolder
         3: .line 2103
            aload 3 /* compactionHolder */
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo$Holder.getCompactionInfo:()Lorg/apache/cassandra/db/compaction/CompactionInfo;
            astore 5 /* info */
        start local 5 // org.apache.cassandra.db.compaction.CompactionInfo info
         4: .line 2104
            aload 5 /* info */
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo.getTaskType:()Lorg/apache/cassandra/db/compaction/OperationType;
            getstatic org.apache.cassandra.db.compaction.OperationType.VALIDATION:Lorg/apache/cassandra/db/compaction/OperationType;
            if_acmpne 6
            iload 2 /* interruptValidation */
            ifne 6
         5: .line 2105
            goto 8
         6: .line 2108
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.Iterable int org.apache.cassandra.db.compaction.CompactionInfo$Holder java.util.Iterator org.apache.cassandra.db.compaction.CompactionInfo
      StackMap stack:
            aload 5 /* info */
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo.getCFMetaData:()Lorg/apache/cassandra/config/CFMetaData;
            ifnull 7
            aload 1 /* columnFamilies */
            aload 5 /* info */
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo.getCFMetaData:()Lorg/apache/cassandra/config/CFMetaData;
            invokestatic com.google.common.collect.Iterables.contains:(Ljava/lang/Iterable;Ljava/lang/Object;)Z
            ifeq 8
         7: .line 2109
      StackMap locals:
      StackMap stack:
            aload 3 /* compactionHolder */
            invokevirtual org.apache.cassandra.db.compaction.CompactionInfo$Holder.stop:()V
        end local 5 // org.apache.cassandra.db.compaction.CompactionInfo info
        end local 3 // org.apache.cassandra.db.compaction.CompactionInfo$Holder compactionHolder
         8: .line 2101
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.Iterable int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 2111
            return
        end local 2 // boolean interruptValidation
        end local 1 // java.lang.Iterable columnFamilies
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   10     0                 this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0   10     1       columnFamilies  Ljava/lang/Iterable<Lorg/apache/cassandra/config/CFMetaData;>;
            0   10     2  interruptValidation  Z
            3    8     3     compactionHolder  Lorg/apache/cassandra/db/compaction/CompactionInfo$Holder;
            4    8     5                 info  Lorg/apache/cassandra/db/compaction/CompactionInfo;
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/config/CFMetaData;>;Z)V
    MethodParameters:
                     Name  Flags
      columnFamilies       
      interruptValidation  

  public void interruptCompactionForCFs(java.lang.Iterable<org.apache.cassandra.db.ColumnFamilyStore>, );
    descriptor: (Ljava/lang/Iterable;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // java.lang.Iterable cfss
        start local 2 // boolean interruptValidation
         0: .line 2115
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* metadata */
        start local 3 // java.util.List metadata
         1: .line 2116
            aload 1 /* cfss */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 4
      StackMap locals: org.apache.cassandra.db.compaction.CompactionManager java.lang.Iterable int java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.ColumnFamilyStore
            astore 4 /* cfs */
        start local 4 // org.apache.cassandra.db.ColumnFamilyStore cfs
         3: .line 2117
            aload 3 /* metadata */
            aload 4 /* cfs */
            getfield org.apache.cassandra.db.ColumnFamilyStore.metadata:Lorg/apache/cassandra/config/CFMetaData;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.apache.cassandra.db.ColumnFamilyStore cfs
         4: .line 2116
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 2119
            aload 0 /* this */
            aload 3 /* metadata */
            iload 2 /* interruptValidation */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.interruptCompactionFor:(Ljava/lang/Iterable;Z)V
         6: .line 2120
            return
        end local 3 // java.util.List metadata
        end local 2 // boolean interruptValidation
        end local 1 // java.lang.Iterable cfss
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0                 this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    7     1                 cfss  Ljava/lang/Iterable<Lorg/apache/cassandra/db/ColumnFamilyStore;>;
            0    7     2  interruptValidation  Z
            1    7     3             metadata  Ljava/util/List<Lorg/apache/cassandra/config/CFMetaData;>;
            3    4     4                  cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/db/ColumnFamilyStore;>;Z)V
    MethodParameters:
                     Name  Flags
      cfss                 
      interruptValidation  

  public void waitForCessation(java.lang.Iterable<org.apache.cassandra.db.ColumnFamilyStore>);
    descriptor: (Ljava/lang/Iterable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.apache.cassandra.db.compaction.CompactionManager this
        start local 1 // java.lang.Iterable cfss
         0: .line 2124
            invokestatic java.lang.System.nanoTime:()J
            lstore 2 /* start */
        start local 2 // long start
         1: .line 2125
            getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
            lconst_1
            invokevirtual java.util.concurrent.TimeUnit.toNanos:(J)J
            lstore 4 /* delay */
        start local 4 // long delay
         2: .line 2126
            goto 5
         3: .line 2128
      StackMap locals: long long
      StackMap stack:
            getstatic org.apache.cassandra.db.compaction.CompactionManager.instance:Lorg/apache/cassandra/db/compaction/CompactionManager;
            aload 1 /* cfss */
            invokevirtual org.apache.cassandra.db.compaction.CompactionManager.isCompacting:(Ljava/lang/Iterable;)Z
            ifeq 6
         4: .line 2129
            lconst_1
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic com.google.common.util.concurrent.Uninterruptibles.sleepUninterruptibly:(JLjava/util/concurrent/TimeUnit;)V
         5: .line 2126
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.nanoTime:()J
            lload 2 /* start */
            lsub
            lload 4 /* delay */
            lcmp
            iflt 3
         6: .line 2133
      StackMap locals:
      StackMap stack:
            return
        end local 4 // long delay
        end local 2 // long start
        end local 1 // java.lang.Iterable cfss
        end local 0 // org.apache.cassandra.db.compaction.CompactionManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/apache/cassandra/db/compaction/CompactionManager;
            0    7     1   cfss  Ljava/lang/Iterable<Lorg/apache/cassandra/db/ColumnFamilyStore;>;
            1    7     2  start  J
            2    7     4  delay  J
    Signature: (Ljava/lang/Iterable<Lorg/apache/cassandra/db/ColumnFamilyStore;>;)V
    MethodParameters:
      Name  Flags
      cfss  

  private static java.util.Collection lambda$0(org.apache.cassandra.db.ColumnFamilyStore, java.util.Collection);
    descriptor: (Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;)Ljava/util/Collection;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=2
         0: .line 808
            aload 0
            aload 1
            invokestatic org.apache.cassandra.db.compaction.CompactionManager.sstablesInBounds:(Lorg/apache/cassandra/db/ColumnFamilyStore;Ljava/util/Collection;)Ljava/util/Collection;
            astore 2 /* sstables */
        start local 2 // java.util.Collection sstables
         1: .line 809
            aload 2 /* sstables */
            ifnull 2
            aload 2 /* sstables */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 4
         2: .line 811
      StackMap locals: java.util.Collection
      StackMap stack:
            getstatic org.apache.cassandra.db.compaction.CompactionManager.logger:Lorg/slf4j/Logger;
            ldc "No sstables found for the provided token range"
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
         3: .line 812
            aconst_null
            areturn
         4: .line 814
      StackMap locals:
      StackMap stack:
            aload 0
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            aload 2 /* sstables */
            aload 0
            invokestatic org.apache.cassandra.utils.FBUtilities.nowInSeconds:()I
            invokestatic org.apache.cassandra.db.compaction.CompactionManager.getDefaultGcBefore:(Lorg/apache/cassandra/db/ColumnFamilyStore;I)I
            invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.getUserDefinedTasks:(Ljava/util/Collection;I)Ljava/util/List;
            areturn
        end local 2 // java.util.Collection sstables
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1    5     2  sstables  Ljava/util/Collection<Lorg/apache/cassandra/io/sstable/format/SSTableReader;>;
    Exceptions:
      throws java.lang.Exception

  private static boolean lambda$1(org.apache.cassandra.service.ActiveRepairService$ParentRepairSession, org.apache.cassandra.io.sstable.format.SSTableReader);
    descriptor: (Lorg/apache/cassandra/service/ActiveRepairService$ParentRepairSession;Lorg/apache/cassandra/io/sstable/format/SSTableReader;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 1 // org.apache.cassandra.io.sstable.format.SSTableReader s
         0: .line 1521
            aload 0
            getfield org.apache.cassandra.service.ActiveRepairService$ParentRepairSession.isIncremental:Z
            ifeq 1
            aload 1 /* s */
            invokevirtual org.apache.cassandra.io.sstable.format.SSTableReader.isRepaired:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // org.apache.cassandra.io.sstable.format.SSTableReader s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     s  Lorg/apache/cassandra/io/sstable/format/SSTableReader;
}
SourceFile: "CompactionManager.java"
NestMembers:
  org.apache.cassandra.db.compaction.CompactionManager$1  org.apache.cassandra.db.compaction.CompactionManager$10  org.apache.cassandra.db.compaction.CompactionManager$11  org.apache.cassandra.db.compaction.CompactionManager$12  org.apache.cassandra.db.compaction.CompactionManager$13  org.apache.cassandra.db.compaction.CompactionManager$14  org.apache.cassandra.db.compaction.CompactionManager$15  org.apache.cassandra.db.compaction.CompactionManager$16  org.apache.cassandra.db.compaction.CompactionManager$1SharedTxn  org.apache.cassandra.db.compaction.CompactionManager$2  org.apache.cassandra.db.compaction.CompactionManager$3  org.apache.cassandra.db.compaction.CompactionManager$4  org.apache.cassandra.db.compaction.CompactionManager$5  org.apache.cassandra.db.compaction.CompactionManager$6  org.apache.cassandra.db.compaction.CompactionManager$7  org.apache.cassandra.db.compaction.CompactionManager$7$1  org.apache.cassandra.db.compaction.CompactionManager$8  org.apache.cassandra.db.compaction.CompactionManager$9  org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus  org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionCandidate  org.apache.cassandra.db.compaction.CompactionManager$CacheCleanupExecutor  org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy  org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy$Bounded  org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy$Bounded$1  org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy$Full  org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor  org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutorStatsCollector  org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation  org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionController  org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionIterator  org.apache.cassandra.db.compaction.CompactionManager$ValidationExecutor
InnerClasses:
  public abstract SetView = com.google.common.collect.Sets$SetView of com.google.common.collect.Sets
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  public Writer = org.apache.cassandra.cache.AutoSavingCache$Writer of org.apache.cassandra.cache.AutoSavingCache
  public RefViewFragment = org.apache.cassandra.db.ColumnFamilyStore$RefViewFragment of org.apache.cassandra.db.ColumnFamilyStore
  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
  org.apache.cassandra.db.compaction.CompactionManager$1
  org.apache.cassandra.db.compaction.CompactionManager$10
  org.apache.cassandra.db.compaction.CompactionManager$11
  org.apache.cassandra.db.compaction.CompactionManager$12
  org.apache.cassandra.db.compaction.CompactionManager$13
  org.apache.cassandra.db.compaction.CompactionManager$14
  org.apache.cassandra.db.compaction.CompactionManager$15
  org.apache.cassandra.db.compaction.CompactionManager$16
  SharedTxn = org.apache.cassandra.db.compaction.CompactionManager$1SharedTxn
  org.apache.cassandra.db.compaction.CompactionManager$2
  org.apache.cassandra.db.compaction.CompactionManager$3
  org.apache.cassandra.db.compaction.CompactionManager$4
  org.apache.cassandra.db.compaction.CompactionManager$5
  org.apache.cassandra.db.compaction.CompactionManager$6
  org.apache.cassandra.db.compaction.CompactionManager$7
  org.apache.cassandra.db.compaction.CompactionManager$8
  org.apache.cassandra.db.compaction.CompactionManager$9
  public final AllSSTableOpStatus = org.apache.cassandra.db.compaction.CompactionManager$AllSSTableOpStatus of org.apache.cassandra.db.compaction.CompactionManager
  BackgroundCompactionCandidate = org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionCandidate of org.apache.cassandra.db.compaction.CompactionManager
  private CacheCleanupExecutor = org.apache.cassandra.db.compaction.CompactionManager$CacheCleanupExecutor of org.apache.cassandra.db.compaction.CompactionManager
  private abstract CleanupStrategy = org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy of org.apache.cassandra.db.compaction.CompactionManager
  CompactionExecutor = org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutor of org.apache.cassandra.db.compaction.CompactionManager
  public abstract CompactionExecutorStatsCollector = org.apache.cassandra.db.compaction.CompactionManager$CompactionExecutorStatsCollector of org.apache.cassandra.db.compaction.CompactionManager
  private abstract OneSSTableOperation = org.apache.cassandra.db.compaction.CompactionManager$OneSSTableOperation of org.apache.cassandra.db.compaction.CompactionManager
  private ValidationCompactionController = org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionController of org.apache.cassandra.db.compaction.CompactionManager
  private ValidationCompactionIterator = org.apache.cassandra.db.compaction.CompactionManager$ValidationCompactionIterator of org.apache.cassandra.db.compaction.CompactionManager
  private ValidationExecutor = org.apache.cassandra.db.compaction.CompactionManager$ValidationExecutor of org.apache.cassandra.db.compaction.CompactionManager
  public OrderedRangeContainmentChecker = org.apache.cassandra.dht.Range$OrderedRangeContainmentChecker of org.apache.cassandra.dht.Range
  public KeyBound = org.apache.cassandra.dht.Token$KeyBound of org.apache.cassandra.dht.Token
  public final TombstoneOption = org.apache.cassandra.schema.CompactionParams$TombstoneOption of org.apache.cassandra.schema.CompactionParams
  public ParentRepairSession = org.apache.cassandra.service.ActiveRepairService$ParentRepairSession of org.apache.cassandra.service.ActiveRepairService
  public MerkleTreesSerializer = org.apache.cassandra.utils.MerkleTrees$MerkleTreesSerializer of org.apache.cassandra.utils.MerkleTrees