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

  private final java.util.UUID val$sessionId;
    descriptor: Ljava/util/UUID;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  private final int val$cmd;
    descriptor: I
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.apache.cassandra.repair.RepairRunnable, java.util.UUID, int);
    descriptor: (Lorg/apache/cassandra/repair/RepairRunnable;Ljava/util/UUID;I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.cassandra.repair.RepairRunnable$4 this
         0: .line 382
            aload 0 /* this */
            aload 1
            putfield org.apache.cassandra.repair.RepairRunnable$4.this$0:Lorg/apache/cassandra/repair/RepairRunnable;
            aload 0 /* this */
            aload 2
            putfield org.apache.cassandra.repair.RepairRunnable$4.val$sessionId:Ljava/util/UUID;
            aload 0 /* this */
            iload 3
            putfield org.apache.cassandra.repair.RepairRunnable$4.val$cmd:I
            aload 0 /* this */
            invokespecial org.apache.cassandra.utils.WrappedRunnable.<init>:()V
            return
        end local 0 // org.apache.cassandra.repair.RepairRunnable$4 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/repair/RepairRunnable$4;
    MethodParameters:
               Name  Flags
      this$0         final
      val$sessionId  final
      val$cmd        final

  public void runMayThrow();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=30, args_size=1
        start local 0 // org.apache.cassandra.repair.RepairRunnable$4 this
         0: .line 388
            getstatic org.apache.cassandra.tracing.Tracing.instance:Lorg/apache/cassandra/tracing/Tracing;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.RepairRunnable$4.val$sessionId:Ljava/util/UUID;
            invokevirtual org.apache.cassandra.tracing.Tracing.get:(Ljava/util/UUID;)Lorg/apache/cassandra/tracing/TraceState;
            astore 1 /* state */
        start local 1 // org.apache.cassandra.tracing.TraceState state
         1: .line 389
            aload 1 /* state */
            ifnonnull 3
         2: .line 390
            new java.lang.Exception
            dup
            ldc "no tracestate"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 392
      StackMap locals: org.apache.cassandra.tracing.TraceState
      StackMap stack:
            ldc "select event_id, source, activity from %s.%s where session_id = ? and event_id > ? and event_id < ?;"
            astore 2 /* format */
        start local 2 // java.lang.String format
         4: .line 393
            aload 2 /* format */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "system_traces"
            aastore
            dup
            iconst_1
            ldc "events"
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 3 /* query */
        start local 3 // java.lang.String query
         5: .line 394
            aload 3 /* query */
            invokestatic org.apache.cassandra.cql3.QueryProcessor.parseStatement:(Ljava/lang/String;)Lorg/apache/cassandra/cql3/statements/ParsedStatement;
            invokestatic org.apache.cassandra.service.ClientState.forInternalCalls:()Lorg/apache/cassandra/service/ClientState;
            invokevirtual org.apache.cassandra.cql3.statements.ParsedStatement.prepare:(Lorg/apache/cassandra/service/ClientState;)Lorg/apache/cassandra/cql3/statements/ParsedStatement$Prepared;
            getfield org.apache.cassandra.cql3.statements.ParsedStatement$Prepared.statement:Lorg/apache/cassandra/cql3/CQLStatement;
            checkcast org.apache.cassandra.cql3.statements.SelectStatement
            astore 4 /* statement */
        start local 4 // org.apache.cassandra.cql3.statements.SelectStatement statement
         6: .line 396
            aload 0 /* this */
            getfield org.apache.cassandra.repair.RepairRunnable$4.val$sessionId:Ljava/util/UUID;
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytes:(Ljava/util/UUID;)Ljava/nio/ByteBuffer;
            astore 5 /* sessionIdBytes */
        start local 5 // java.nio.ByteBuffer sessionIdBytes
         7: .line 397
            invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
            astore 6 /* source */
        start local 6 // java.net.InetAddress source
         8: .line 399
            iconst_2
            anewarray java.util.HashSet
            dup
            iconst_0
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            aastore
            dup
            iconst_1
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            aastore
            astore 7 /* seen */
        start local 7 // java.util.HashSet[] seen
         9: .line 400
            iconst_0
            istore 8 /* si */
        start local 8 // int si
        10: .line 403
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 10 /* tlast */
        start local 10 // long tlast
        11: .line 406
            ldc 125
            lstore 15 /* minWaitMillis */
        start local 15 // long minWaitMillis
        12: .line 407
            ldc 1024000
            lstore 17 /* maxWaitMillis */
        start local 17 // long maxWaitMillis
        13: .line 408
            lload 15 /* minWaitMillis */
            lstore 19 /* timeout */
        start local 19 // long timeout
        14: .line 409
            iconst_0
            istore 21 /* shouldDouble */
        start local 21 // boolean shouldDouble
        15: .line 411
            goto 56
        start local 14 // org.apache.cassandra.tracing.TraceState$Status status
        16: .line 413
      StackMap locals: org.apache.cassandra.repair.RepairRunnable$4 org.apache.cassandra.tracing.TraceState java.lang.String java.lang.String org.apache.cassandra.cql3.statements.SelectStatement java.nio.ByteBuffer java.net.InetAddress java.util.HashSet[] int top long top top org.apache.cassandra.tracing.TraceState$Status long long long int
      StackMap stack:
            aload 14 /* status */
            getstatic org.apache.cassandra.tracing.TraceState$Status.IDLE:Lorg/apache/cassandra/tracing/TraceState$Status;
            if_acmpne 24
        17: .line 415
            iload 21 /* shouldDouble */
            ifeq 18
            lload 19 /* timeout */
            ldc 2
            lmul
            lload 17 /* maxWaitMillis */
            invokestatic java.lang.Math.min:(JJ)J
            goto 19
      StackMap locals:
      StackMap stack:
        18: lload 19 /* timeout */
      StackMap locals:
      StackMap stack: long
        19: lstore 19 /* timeout */
        20: .line 416
            iload 21 /* shouldDouble */
            ifeq 21
            iconst_0
            goto 22
      StackMap locals:
      StackMap stack:
        21: iconst_1
      StackMap locals:
      StackMap stack: int
        22: istore 21 /* shouldDouble */
        23: .line 417
            goto 26
        24: .line 420
      StackMap locals:
      StackMap stack:
            lload 15 /* minWaitMillis */
            lstore 19 /* timeout */
        25: .line 421
            iconst_0
            istore 21 /* shouldDouble */
        26: .line 423
      StackMap locals:
      StackMap stack:
            lload 10 /* tlast */
            ldc 1000
            lsub
            invokestatic org.apache.cassandra.utils.UUIDGen.minTimeUUID:(J)Ljava/util/UUID;
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytes:(Ljava/util/UUID;)Ljava/nio/ByteBuffer;
            astore 22 /* tminBytes */
        start local 22 // java.nio.ByteBuffer tminBytes
        27: .line 424
            invokestatic java.lang.System.currentTimeMillis:()J
            dup2
            lstore 12 /* tcur */
        start local 12 // long tcur
        28: invokestatic org.apache.cassandra.utils.UUIDGen.maxTimeUUID:(J)Ljava/util/UUID;
            invokestatic org.apache.cassandra.utils.ByteBufferUtil.bytes:(Ljava/util/UUID;)Ljava/nio/ByteBuffer;
            astore 23 /* tmaxBytes */
        start local 23 // java.nio.ByteBuffer tmaxBytes
        29: .line 425
            getstatic org.apache.cassandra.db.ConsistencyLevel.ONE:Lorg/apache/cassandra/db/ConsistencyLevel;
            iconst_3
            anewarray java.nio.ByteBuffer
            dup
            iconst_0
            aload 5 /* sessionIdBytes */
            aastore
            dup
            iconst_1
        30: .line 426
            aload 22 /* tminBytes */
            aastore
            dup
            iconst_2
        31: .line 427
            aload 23 /* tmaxBytes */
            aastore
        32: .line 425
            invokestatic com.google.common.collect.Lists.newArrayList:([Ljava/lang/Object;)Ljava/util/ArrayList;
            invokestatic org.apache.cassandra.cql3.QueryOptions.forInternalCalls:(Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/util/List;)Lorg/apache/cassandra/cql3/QueryOptions;
            astore 24 /* options */
        start local 24 // org.apache.cassandra.cql3.QueryOptions options
        33: .line 428
            aload 4 /* statement */
            invokestatic org.apache.cassandra.service.QueryState.forInternalCalls:()Lorg/apache/cassandra/service/QueryState;
            aload 24 /* options */
            invokestatic java.lang.System.nanoTime:()J
            invokevirtual org.apache.cassandra.cql3.statements.SelectStatement.execute:(Lorg/apache/cassandra/service/QueryState;Lorg/apache/cassandra/cql3/QueryOptions;J)Lorg/apache/cassandra/transport/messages/ResultMessage$Rows;
            astore 25 /* rows */
        start local 25 // org.apache.cassandra.transport.messages.ResultMessage$Rows rows
        34: .line 429
            aload 25 /* rows */
            getfield org.apache.cassandra.transport.messages.ResultMessage$Rows.result:Lorg/apache/cassandra/cql3/ResultSet;
            invokestatic org.apache.cassandra.cql3.UntypedResultSet.create:(Lorg/apache/cassandra/cql3/ResultSet;)Lorg/apache/cassandra/cql3/UntypedResultSet;
            astore 26 /* result */
        start local 26 // org.apache.cassandra.cql3.UntypedResultSet result
        35: .line 431
            aload 26 /* result */
            invokevirtual org.apache.cassandra.cql3.UntypedResultSet.iterator:()Ljava/util/Iterator;
            astore 28
            goto 50
      StackMap locals: org.apache.cassandra.repair.RepairRunnable$4 org.apache.cassandra.tracing.TraceState java.lang.String java.lang.String org.apache.cassandra.cql3.statements.SelectStatement java.nio.ByteBuffer java.net.InetAddress java.util.HashSet[] int top long long org.apache.cassandra.tracing.TraceState$Status long long long int java.nio.ByteBuffer java.nio.ByteBuffer org.apache.cassandra.cql3.QueryOptions org.apache.cassandra.transport.messages.ResultMessage$Rows org.apache.cassandra.cql3.UntypedResultSet top java.util.Iterator
      StackMap stack:
        36: aload 28
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.cql3.UntypedResultSet$Row
            astore 27 /* r */
        start local 27 // org.apache.cassandra.cql3.UntypedResultSet$Row r
        37: .line 433
            aload 6 /* source */
            aload 27 /* r */
            ldc "source"
            invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getInetAddress:(Ljava/lang/String;)Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
            ifeq 39
        38: .line 434
            goto 50
        39: .line 435
      StackMap locals: org.apache.cassandra.repair.RepairRunnable$4 org.apache.cassandra.tracing.TraceState java.lang.String java.lang.String org.apache.cassandra.cql3.statements.SelectStatement java.nio.ByteBuffer java.net.InetAddress java.util.HashSet[] int top long long org.apache.cassandra.tracing.TraceState$Status long long long int java.nio.ByteBuffer java.nio.ByteBuffer org.apache.cassandra.cql3.QueryOptions org.apache.cassandra.transport.messages.ResultMessage$Rows org.apache.cassandra.cql3.UntypedResultSet org.apache.cassandra.cql3.UntypedResultSet$Row java.util.Iterator
      StackMap stack:
            aload 27 /* r */
            ldc "event_id"
            invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getUUID:(Ljava/lang/String;)Ljava/util/UUID;
            dup
            astore 9 /* uuid */
        start local 9 // java.util.UUID uuid
        40: invokevirtual java.util.UUID.timestamp:()J
            lload 12 /* tcur */
            ldc 1000
            lsub
            ldc 10000
            lmul
            lcmp
            ifle 42
        41: .line 436
            aload 7 /* seen */
            iload 8 /* si */
            aaload
            aload 9 /* uuid */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        42: .line 437
      StackMap locals: org.apache.cassandra.repair.RepairRunnable$4 org.apache.cassandra.tracing.TraceState java.lang.String java.lang.String org.apache.cassandra.cql3.statements.SelectStatement java.nio.ByteBuffer java.net.InetAddress java.util.HashSet[] int java.util.UUID long long org.apache.cassandra.tracing.TraceState$Status long long long int java.nio.ByteBuffer java.nio.ByteBuffer org.apache.cassandra.cql3.QueryOptions org.apache.cassandra.transport.messages.ResultMessage$Rows org.apache.cassandra.cql3.UntypedResultSet org.apache.cassandra.cql3.UntypedResultSet$Row java.util.Iterator
      StackMap stack:
            aload 7 /* seen */
            iload 8 /* si */
            ifne 43
            iconst_1
            goto 44
      StackMap locals:
      StackMap stack: java.util.HashSet[]
        43: iconst_0
      StackMap locals: org.apache.cassandra.repair.RepairRunnable$4 org.apache.cassandra.tracing.TraceState java.lang.String java.lang.String org.apache.cassandra.cql3.statements.SelectStatement java.nio.ByteBuffer java.net.InetAddress java.util.HashSet[] int java.util.UUID long long org.apache.cassandra.tracing.TraceState$Status long long long int java.nio.ByteBuffer java.nio.ByteBuffer org.apache.cassandra.cql3.QueryOptions org.apache.cassandra.transport.messages.ResultMessage$Rows org.apache.cassandra.cql3.UntypedResultSet org.apache.cassandra.cql3.UntypedResultSet$Row java.util.Iterator
      StackMap stack: java.util.HashSet[] int
        44: aaload
            aload 9 /* uuid */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifeq 46
        45: .line 438
            goto 50
        46: .line 439
      StackMap locals:
      StackMap stack:
            ldc "%s: %s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 27 /* r */
            ldc "source"
            invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getInetAddress:(Ljava/lang/String;)Ljava/net/InetAddress;
            aastore
            dup
            iconst_1
            aload 27 /* r */
            ldc "activity"
            invokevirtual org.apache.cassandra.cql3.UntypedResultSet$Row.getString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 29 /* message */
        start local 29 // java.lang.String message
        47: .line 440
            aload 0 /* this */
            getfield org.apache.cassandra.repair.RepairRunnable$4.this$0:Lorg/apache/cassandra/repair/RepairRunnable;
            new java.lang.StringBuilder
            dup
            ldc "repair:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.cassandra.repair.RepairRunnable$4.val$cmd:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        48: .line 441
            new org.apache.cassandra.utils.progress.ProgressEvent
            dup
            getstatic org.apache.cassandra.utils.progress.ProgressEventType.NOTIFICATION:Lorg/apache/cassandra/utils/progress/ProgressEventType;
            iconst_0
            iconst_0
            aload 29 /* message */
            invokespecial org.apache.cassandra.utils.progress.ProgressEvent.<init>:(Lorg/apache/cassandra/utils/progress/ProgressEventType;IILjava/lang/String;)V
        49: .line 440
            invokevirtual org.apache.cassandra.repair.RepairRunnable.fireProgressEvent:(Ljava/lang/String;Lorg/apache/cassandra/utils/progress/ProgressEvent;)V
        end local 29 // java.lang.String message
        end local 27 // org.apache.cassandra.cql3.UntypedResultSet$Row r
        end local 9 // java.util.UUID uuid
        50: .line 431
      StackMap locals: org.apache.cassandra.repair.RepairRunnable$4 org.apache.cassandra.tracing.TraceState java.lang.String java.lang.String org.apache.cassandra.cql3.statements.SelectStatement java.nio.ByteBuffer java.net.InetAddress java.util.HashSet[] int top long long org.apache.cassandra.tracing.TraceState$Status long long long int java.nio.ByteBuffer java.nio.ByteBuffer org.apache.cassandra.cql3.QueryOptions org.apache.cassandra.transport.messages.ResultMessage$Rows org.apache.cassandra.cql3.UntypedResultSet top java.util.Iterator
      StackMap stack:
            aload 28
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 36
        51: .line 443
            lload 12 /* tcur */
            lstore 10 /* tlast */
        52: .line 445
            iload 8 /* si */
            ifne 53
            iconst_1
            goto 54
      StackMap locals: org.apache.cassandra.repair.RepairRunnable$4 org.apache.cassandra.tracing.TraceState java.lang.String java.lang.String org.apache.cassandra.cql3.statements.SelectStatement java.nio.ByteBuffer java.net.InetAddress java.util.HashSet[] int top long long org.apache.cassandra.tracing.TraceState$Status long long long int java.nio.ByteBuffer java.nio.ByteBuffer org.apache.cassandra.cql3.QueryOptions org.apache.cassandra.transport.messages.ResultMessage$Rows org.apache.cassandra.cql3.UntypedResultSet
      StackMap stack:
        53: iconst_0
      StackMap locals:
      StackMap stack: int
        54: istore 8 /* si */
        55: .line 446
            aload 7 /* seen */
            iload 8 /* si */
            aaload
            invokevirtual java.util.HashSet.clear:()V
        end local 26 // org.apache.cassandra.cql3.UntypedResultSet result
        end local 25 // org.apache.cassandra.transport.messages.ResultMessage$Rows rows
        end local 24 // org.apache.cassandra.cql3.QueryOptions options
        end local 23 // java.nio.ByteBuffer tmaxBytes
        end local 22 // java.nio.ByteBuffer tminBytes
        end local 14 // org.apache.cassandra.tracing.TraceState$Status status
        end local 12 // long tcur
        56: .line 411
      StackMap locals: org.apache.cassandra.repair.RepairRunnable$4 org.apache.cassandra.tracing.TraceState java.lang.String java.lang.String org.apache.cassandra.cql3.statements.SelectStatement java.nio.ByteBuffer java.net.InetAddress java.util.HashSet[] int top long top top top long long long int
      StackMap stack:
            aload 1 /* state */
            lload 19 /* timeout */
            invokevirtual org.apache.cassandra.tracing.TraceState.waitActivity:(J)Lorg/apache/cassandra/tracing/TraceState$Status;
            dup
            astore 14 /* status */
        start local 14 // org.apache.cassandra.tracing.TraceState$Status status
        57: getstatic org.apache.cassandra.tracing.TraceState$Status.STOPPED:Lorg/apache/cassandra/tracing/TraceState$Status;
            if_acmpne 16
        58: .line 448
            return
        end local 21 // boolean shouldDouble
        end local 19 // long timeout
        end local 17 // long maxWaitMillis
        end local 15 // long minWaitMillis
        end local 14 // org.apache.cassandra.tracing.TraceState$Status status
        end local 10 // long tlast
        end local 8 // int si
        end local 7 // java.util.HashSet[] seen
        end local 6 // java.net.InetAddress source
        end local 5 // java.nio.ByteBuffer sessionIdBytes
        end local 4 // org.apache.cassandra.cql3.statements.SelectStatement statement
        end local 3 // java.lang.String query
        end local 2 // java.lang.String format
        end local 1 // org.apache.cassandra.tracing.TraceState state
        end local 0 // org.apache.cassandra.repair.RepairRunnable$4 this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   59     0            this  Lorg/apache/cassandra/repair/RepairRunnable$4;
            1   59     1           state  Lorg/apache/cassandra/tracing/TraceState;
            4   59     2          format  Ljava/lang/String;
            5   59     3           query  Ljava/lang/String;
            6   59     4       statement  Lorg/apache/cassandra/cql3/statements/SelectStatement;
            7   59     5  sessionIdBytes  Ljava/nio/ByteBuffer;
            8   59     6          source  Ljava/net/InetAddress;
            9   59     7            seen  [Ljava/util/HashSet;
           10   59     8              si  I
           40   50     9            uuid  Ljava/util/UUID;
           11   59    10           tlast  J
           28   56    12            tcur  J
           16   56    14          status  Lorg/apache/cassandra/tracing/TraceState$Status;
           57   59    14          status  Lorg/apache/cassandra/tracing/TraceState$Status;
           12   59    15   minWaitMillis  J
           13   59    17   maxWaitMillis  J
           14   59    19         timeout  J
           15   59    21    shouldDouble  Z
           27   56    22       tminBytes  Ljava/nio/ByteBuffer;
           29   56    23       tmaxBytes  Ljava/nio/ByteBuffer;
           33   56    24         options  Lorg/apache/cassandra/cql3/QueryOptions;
           34   56    25            rows  Lorg/apache/cassandra/transport/messages/ResultMessage$Rows;
           35   56    26          result  Lorg/apache/cassandra/cql3/UntypedResultSet;
           37   50    27               r  Lorg/apache/cassandra/cql3/UntypedResultSet$Row;
           47   50    29         message  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
}
SourceFile: "RepairRunnable.java"
EnclosingMethod: org.apache.cassandra.repair.RepairRunnable.createQueryThread:(ILjava/util/UUID;)Ljava/lang/Thread;
NestHost: org.apache.cassandra.repair.RepairRunnable
InnerClasses:
  public Row = org.apache.cassandra.cql3.UntypedResultSet$Row of org.apache.cassandra.cql3.UntypedResultSet
  public Prepared = org.apache.cassandra.cql3.statements.ParsedStatement$Prepared of org.apache.cassandra.cql3.statements.ParsedStatement
  org.apache.cassandra.repair.RepairRunnable$4
  public final Status = org.apache.cassandra.tracing.TraceState$Status of org.apache.cassandra.tracing.TraceState
  public Rows = org.apache.cassandra.transport.messages.ResultMessage$Rows of org.apache.cassandra.transport.messages.ResultMessage