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

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

  static final org.apache.cassandra.service.CassandraDaemon instance;
    descriptor: Lorg/apache/cassandra/service/CassandraDaemon;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  public org.apache.cassandra.service.CassandraDaemon$Server thriftServer;
    descriptor: Lorg/apache/cassandra/service/CassandraDaemon$Server;
    flags: (0x0001) ACC_PUBLIC

  private org.apache.cassandra.service.NativeTransportService nativeTransportService;
    descriptor: Lorg/apache/cassandra/service/NativeTransportService;
    flags: (0x0002) ACC_PRIVATE

  private javax.management.remote.JMXConnectorServer jmxServer;
    descriptor: Ljavax/management/remote/JMXConnectorServer;
    flags: (0x0002) ACC_PRIVATE

  private final boolean runManaged;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  protected final org.apache.cassandra.service.StartupChecks startupChecks;
    descriptor: Lorg/apache/cassandra/service/StartupChecks;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  private boolean setupCompleted;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 87
            ldc "logback-metrics"
            invokestatic com.codahale.metrics.SharedMetricRegistries.getOrCreate:(Ljava/lang/String;)Lcom/codahale/metrics/MetricRegistry;
            new org.apache.cassandra.service.CassandraDaemon$1
            dup
            invokespecial org.apache.cassandra.service.CassandraDaemon$1.<init>:()V
            invokevirtual com.codahale.metrics.MetricRegistry.addListener:(Lcom/codahale/metrics/MetricRegistryListener;)V
         1: .line 101
            ldc Lorg/apache/cassandra/service/CassandraDaemon;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
         2: .line 153
            new org.apache.cassandra.service.CassandraDaemon
            dup
            invokespecial org.apache.cassandra.service.CassandraDaemon.<init>:()V
            putstatic org.apache.cassandra.service.CassandraDaemon.instance:Lorg/apache/cassandra/service/CassandraDaemon;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void maybeInitJmx();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 112
            ldc "com.sun.management.jmxremote.port"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 3
         1: .line 114
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "JMX settings in cassandra-env.sh have been bypassed as the JMX connector server is already initialized. Please refer to cassandra-env.(sh|ps1) for JMX configuration info"
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
         2: .line 116
            return
         3: .line 119
      StackMap locals:
      StackMap stack:
            ldc "java.rmi.server.randomIDs"
            ldc "true"
            invokestatic java.lang.System.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            pop
         4: .line 129
            iconst_0
            istore 1 /* localOnly */
        start local 1 // boolean localOnly
         5: .line 130
            ldc "cassandra.jmx.remote.port"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* jmxPort */
        start local 2 // java.lang.String jmxPort
         6: .line 132
            aload 2 /* jmxPort */
            ifnonnull 9
         7: .line 134
            iconst_1
            istore 1 /* localOnly */
         8: .line 135
            ldc "cassandra.jmx.local.port"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* jmxPort */
         9: .line 138
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 2 /* jmxPort */
            ifnonnull 11
        10: .line 139
            return
        11: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* jmxPort */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            iload 1 /* localOnly */
            invokestatic org.apache.cassandra.utils.JMXServerUtils.createJMXServer:(IZ)Ljavax/management/remote/JMXConnectorServer;
            putfield org.apache.cassandra.service.CassandraDaemon.jmxServer:Ljavax/management/remote/JMXConnectorServer;
        12: .line 144
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.jmxServer:Ljavax/management/remote/JMXConnectorServer;
            ifnonnull 16
        13: .line 145
            return
        14: .line 147
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        15: .line 149
            aload 0 /* this */
            iconst_1
            aload 3 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 3 /* e */
            invokevirtual java.io.IOException.getCause:()Ljava/lang/Throwable;
            invokevirtual org.apache.cassandra.service.CassandraDaemon.exitOrFail:(ILjava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // java.io.IOException e
        16: .line 151
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String jmxPort
        end local 1 // boolean localOnly
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lorg/apache/cassandra/service/CassandraDaemon;
            5   17     1  localOnly  Z
            6   17     2    jmxPort  Ljava/lang/String;
           15   16     3          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          11    13      14  Class java.io.IOException

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 165
            aload 0 /* this */
            iconst_0
            invokespecial org.apache.cassandra.service.CassandraDaemon.<init>:(Z)V
         1: .line 166
            return
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/service/CassandraDaemon;

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
        start local 1 // boolean runManaged
         0: .line 168
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 170
            aload 0 /* this */
            iload 1 /* runManaged */
            putfield org.apache.cassandra.service.CassandraDaemon.runManaged:Z
         2: .line 171
            aload 0 /* this */
            new org.apache.cassandra.service.StartupChecks
            dup
            invokespecial org.apache.cassandra.service.StartupChecks.<init>:()V
            invokevirtual org.apache.cassandra.service.StartupChecks.withDefaultTests:()Lorg/apache/cassandra/service/StartupChecks;
            putfield org.apache.cassandra.service.CassandraDaemon.startupChecks:Lorg/apache/cassandra/service/StartupChecks;
         3: .line 172
            aload 0 /* this */
            iconst_0
            putfield org.apache.cassandra.service.CassandraDaemon.setupCompleted:Z
         4: .line 173
            return
        end local 1 // boolean runManaged
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/apache/cassandra/service/CassandraDaemon;
            0    5     1  runManaged  Z
    MethodParameters:
            Name  Flags
      runManaged  

  protected void setup();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=10, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 182
            new org.apache.cassandra.service.DefaultFSErrorHandler
            dup
            invokespecial org.apache.cassandra.service.DefaultFSErrorHandler.<init>:()V
            invokestatic org.apache.cassandra.io.util.FileUtils.setFSErrorHandler:(Lorg/apache/cassandra/io/FSErrorHandler;)V
         1: .line 185
            getstatic org.apache.cassandra.utils.FBUtilities.isWindows:Z
            ifeq 3
         2: .line 186
            invokestatic org.apache.cassandra.db.WindowsFailedSnapshotTracker.deleteOldSnapshots:()V
         3: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.CassandraDaemon.maybeInitJmx:()V
         4: .line 190
            invokestatic org.apache.cassandra.utils.Mx4jTool.maybeLoad:()Z
            pop
         5: .line 192
            invokestatic org.apache.cassandra.security.ThreadAwareSecurityManager.install:()V
         6: .line 194
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.CassandraDaemon.logSystemInfo:()V
         7: .line 196
            invokestatic org.apache.cassandra.utils.NativeLibrary.tryMlockall:()V
         8: .line 200
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.startupChecks:Lorg/apache/cassandra/service/StartupChecks;
            invokevirtual org.apache.cassandra.service.StartupChecks.verify:()V
         9: .line 201
            goto 12
        10: .line 202
      StackMap locals:
      StackMap stack: org.apache.cassandra.exceptions.StartupException
            astore 1 /* e */
        start local 1 // org.apache.cassandra.exceptions.StartupException e
        11: .line 204
            aload 0 /* this */
            aload 1 /* e */
            getfield org.apache.cassandra.exceptions.StartupException.returnCode:I
            aload 1 /* e */
            invokevirtual org.apache.cassandra.exceptions.StartupException.getMessage:()Ljava/lang/String;
            aload 1 /* e */
            invokevirtual org.apache.cassandra.exceptions.StartupException.getCause:()Ljava/lang/Throwable;
            invokevirtual org.apache.cassandra.service.CassandraDaemon.exitOrFail:(ILjava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // org.apache.cassandra.exceptions.StartupException e
        12: .line 209
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.cassandra.db.SystemKeyspace.snapshotOnVersionChange:()Z
            ifeq 17
        13: .line 211
            invokestatic org.apache.cassandra.db.SystemKeyspace.migrateDataDirs:()V
        14: .line 213
            goto 17
        15: .line 214
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
        16: .line 216
            aload 0 /* this */
            iconst_3
            aload 1 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            aload 1 /* e */
            invokevirtual java.io.IOException.getCause:()Ljava/lang/Throwable;
            invokevirtual org.apache.cassandra.service.CassandraDaemon.exitOrFail:(ILjava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.io.IOException e
        17: .line 221
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.cassandra.db.SystemKeyspace.persistLocalMetadata:()V
        18: .line 223
            new org.apache.cassandra.service.CassandraDaemon$2
            dup
            aload 0 /* this */
            invokespecial org.apache.cassandra.service.CassandraDaemon$2.<init>:(Lorg/apache/cassandra/service/CassandraDaemon;)V
            invokestatic java.lang.Thread.setDefaultUncaughtExceptionHandler:(Ljava/lang/Thread$UncaughtExceptionHandler;)V
        19: .line 256
            invokestatic org.apache.cassandra.schema.LegacySchemaMigrator.migrate:()V
        20: .line 259
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            invokevirtual org.apache.cassandra.service.StorageService.populateTokenMetadata:()V
        21: .line 262
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.loadFromDisk:()Lorg/apache/cassandra/config/Schema;
            pop
        22: .line 265
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.getKeyspaces:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 33
      StackMap locals: org.apache.cassandra.service.CassandraDaemon top java.util.Iterator
      StackMap stack:
        23: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* keyspaceName */
        start local 1 // java.lang.String keyspaceName
        24: .line 268
            aload 1 /* keyspaceName */
            ldc "system"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        25: .line 269
            goto 33
        26: .line 271
      StackMap locals: org.apache.cassandra.service.CassandraDaemon java.lang.String java.util.Iterator
      StackMap stack:
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 1 /* keyspaceName */
            invokevirtual org.apache.cassandra.config.Schema.getTablesAndViews:(Ljava/lang/String;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 32
      StackMap locals: org.apache.cassandra.service.CassandraDaemon java.lang.String java.util.Iterator top java.util.Iterator
      StackMap stack:
        27: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.config.CFMetaData
            astore 3 /* cfm */
        start local 3 // org.apache.cassandra.config.CFMetaData cfm
        28: .line 275
            aload 3 /* cfm */
            invokestatic org.apache.cassandra.db.ColumnFamilyStore.scrubDataDirectories:(Lorg/apache/cassandra/config/CFMetaData;)V
        29: .line 276
            goto 32
        30: .line 277
      StackMap locals: org.apache.cassandra.service.CassandraDaemon java.lang.String java.util.Iterator org.apache.cassandra.config.CFMetaData java.util.Iterator
      StackMap stack: org.apache.cassandra.exceptions.StartupException
            astore 5 /* e */
        start local 5 // org.apache.cassandra.exceptions.StartupException e
        31: .line 279
            aload 0 /* this */
            aload 5 /* e */
            getfield org.apache.cassandra.exceptions.StartupException.returnCode:I
            aload 5 /* e */
            invokevirtual org.apache.cassandra.exceptions.StartupException.getMessage:()Ljava/lang/String;
            aload 5 /* e */
            invokevirtual org.apache.cassandra.exceptions.StartupException.getCause:()Ljava/lang/Throwable;
            invokevirtual org.apache.cassandra.service.CassandraDaemon.exitOrFail:(ILjava/lang/String;Ljava/lang/Throwable;)V
        end local 5 // org.apache.cassandra.exceptions.StartupException e
        end local 3 // org.apache.cassandra.config.CFMetaData cfm
        32: .line 271
      StackMap locals: org.apache.cassandra.service.CassandraDaemon java.lang.String java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 27
        end local 1 // java.lang.String keyspaceName
        33: .line 265
      StackMap locals: org.apache.cassandra.service.CassandraDaemon top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        34: .line 284
            invokestatic org.apache.cassandra.db.Keyspace.setInitialized:()V
        35: .line 287
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.getKeyspaces:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 46
      StackMap locals:
      StackMap stack:
        36: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 1 /* keyspaceName */
        start local 1 // java.lang.String keyspaceName
        37: .line 289
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 39
        38: .line 290
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "opening keyspace {}"
            aload 1 /* keyspaceName */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        39: .line 292
      StackMap locals: org.apache.cassandra.service.CassandraDaemon java.lang.String java.util.Iterator
      StackMap stack:
            aload 1 /* keyspaceName */
            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 45
      StackMap locals: org.apache.cassandra.service.CassandraDaemon java.lang.String java.util.Iterator top java.util.Iterator
      StackMap stack:
        40: 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
        41: .line 294
            aload 3 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.concatWithIndexes:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 6
            goto 44
      StackMap locals: org.apache.cassandra.service.CassandraDaemon java.lang.String java.util.Iterator org.apache.cassandra.db.ColumnFamilyStore java.util.Iterator top java.util.Iterator
      StackMap stack:
        42: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.ColumnFamilyStore
            astore 5 /* store */
        start local 5 // org.apache.cassandra.db.ColumnFamilyStore store
        43: .line 296
            aload 5 /* store */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.disableAutoCompaction:()V
        end local 5 // org.apache.cassandra.db.ColumnFamilyStore store
        44: .line 294
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 42
        end local 3 // org.apache.cassandra.db.ColumnFamilyStore cfs
        45: .line 292
      StackMap locals: org.apache.cassandra.service.CassandraDaemon java.lang.String java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 40
        end local 1 // java.lang.String keyspaceName
        46: .line 287
      StackMap locals: org.apache.cassandra.service.CassandraDaemon top java.util.Iterator
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 36
        47: .line 303
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.CassandraDaemon.loadRowAndKeyCacheAsync:()Lcom/google/common/util/concurrent/ListenableFuture;
            invokeinterface com.google.common.util.concurrent.ListenableFuture.get:()Ljava/lang/Object;
            pop
        48: .line 304
            goto 52
        49: .line 305
      StackMap locals: org.apache.cassandra.service.CassandraDaemon
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
        50: .line 307
            aload 1 /* t */
            invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
        51: .line 308
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Error loading key or row cache"
            aload 1 /* t */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.lang.Throwable t
        52: .line 313
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.cassandra.service.GCInspector.register:()V
        53: .line 314
            goto 57
        54: .line 315
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* t */
        start local 1 // java.lang.Throwable t
        55: .line 317
            aload 1 /* t */
            invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
        56: .line 318
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Unable to start GCInspector (currently only supported on the Sun JVM)"
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
        end local 1 // java.lang.Throwable t
        57: .line 324
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.db.commitlog.CommitLog.instance:Lorg/apache/cassandra/db/commitlog/CommitLog;
            invokevirtual org.apache.cassandra.db.commitlog.CommitLog.recoverSegmentsOnDisk:()I
            pop
        58: .line 325
            goto 61
        59: .line 326
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
        60: .line 328
            new java.lang.RuntimeException
            dup
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.io.IOException e
        61: .line 332
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            invokevirtual org.apache.cassandra.service.StorageService.populateTokenMetadata:()V
        62: .line 335
            new org.apache.cassandra.hints.LegacyHintsMigrator
            dup
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getHintsDirectory:()Ljava/io/File;
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getMaxHintsFileSize:()J
            invokespecial org.apache.cassandra.hints.LegacyHintsMigrator.<init>:(Ljava/io/File;J)V
            invokevirtual org.apache.cassandra.hints.LegacyHintsMigrator.migrate:()V
        63: .line 338
            invokestatic org.apache.cassandra.batchlog.LegacyBatchlogMigrator.migrate:()V
        64: .line 340
            invokestatic org.apache.cassandra.db.SystemKeyspace.finishStartup:()V
        65: .line 343
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            invokevirtual org.apache.cassandra.service.StorageService.cleanupSizeEstimates:()V
        66: .line 347
            ldc "cassandra.size_recorder_interval"
            sipush 300
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 1 /* sizeRecorderInterval */
        start local 1 // int sizeRecorderInterval
        67: .line 348
            iload 1 /* sizeRecorderInterval */
            ifle 69
        68: .line 349
            getstatic org.apache.cassandra.concurrent.ScheduledExecutors.optionalTasks:Lorg/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor;
            getstatic org.apache.cassandra.db.SizeEstimatesRecorder.instance:Lorg/apache/cassandra/db/SizeEstimatesRecorder;
            ldc 30
            iload 1 /* sizeRecorderInterval */
            i2l
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor.scheduleWithFixedDelay:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            pop
        69: .line 352
      StackMap locals: int
      StackMap stack:
            invokestatic org.apache.cassandra.cql3.QueryProcessor.preloadPreparedStatement:()V
        70: .line 355
            ldc "cassandra.metricsReporterConfigFile"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* metricsReporterConfigFile */
        start local 2 // java.lang.String metricsReporterConfigFile
        71: .line 356
            aload 2 /* metricsReporterConfigFile */
            ifnull 86
        72: .line 358
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Trying to load metrics-reporter-config from file: {}"
            aload 2 /* metricsReporterConfigFile */
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
        73: .line 362
            getstatic org.apache.cassandra.metrics.CassandraMetricsRegistry.Metrics:Lorg/apache/cassandra/metrics/CassandraMetricsRegistry;
            ldc "jvm.buffers"
            new com.codahale.metrics.jvm.BufferPoolMetricSet
            dup
            invokestatic java.lang.management.ManagementFactory.getPlatformMBeanServer:()Ljavax/management/MBeanServer;
            invokespecial com.codahale.metrics.jvm.BufferPoolMetricSet.<init>:(Ljavax/management/MBeanServer;)V
            invokevirtual org.apache.cassandra.metrics.CassandraMetricsRegistry.register:(Ljava/lang/String;Lcom/codahale/metrics/Metric;)Lcom/codahale/metrics/Metric;
            pop
        74: .line 363
            getstatic org.apache.cassandra.metrics.CassandraMetricsRegistry.Metrics:Lorg/apache/cassandra/metrics/CassandraMetricsRegistry;
            ldc "jvm.gc"
            new com.codahale.metrics.jvm.GarbageCollectorMetricSet
            dup
            invokespecial com.codahale.metrics.jvm.GarbageCollectorMetricSet.<init>:()V
            invokevirtual org.apache.cassandra.metrics.CassandraMetricsRegistry.register:(Ljava/lang/String;Lcom/codahale/metrics/Metric;)Lcom/codahale/metrics/Metric;
            pop
        75: .line 364
            getstatic org.apache.cassandra.metrics.CassandraMetricsRegistry.Metrics:Lorg/apache/cassandra/metrics/CassandraMetricsRegistry;
            ldc "jvm.memory"
            new com.codahale.metrics.jvm.MemoryUsageGaugeSet
            dup
            invokespecial com.codahale.metrics.jvm.MemoryUsageGaugeSet.<init>:()V
            invokevirtual org.apache.cassandra.metrics.CassandraMetricsRegistry.register:(Ljava/lang/String;Lcom/codahale/metrics/Metric;)Lcom/codahale/metrics/Metric;
            pop
        76: .line 365
            getstatic org.apache.cassandra.metrics.CassandraMetricsRegistry.Metrics:Lorg/apache/cassandra/metrics/CassandraMetricsRegistry;
            ldc "jvm.fd.usage"
            new com.codahale.metrics.jvm.FileDescriptorRatioGauge
            dup
            invokespecial com.codahale.metrics.jvm.FileDescriptorRatioGauge.<init>:()V
            invokevirtual org.apache.cassandra.metrics.CassandraMetricsRegistry.register:(Ljava/lang/String;Lcom/codahale/metrics/Metric;)Lcom/codahale/metrics/Metric;
            pop
        77: .line 367
            ldc Lorg/apache/cassandra/service/CassandraDaemon;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            aload 2 /* metricsReporterConfigFile */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 3 /* resource */
        start local 3 // java.net.URL resource
        78: .line 368
            aload 3 /* resource */
            ifnonnull 81
        79: .line 370
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Failed to load metrics-reporter-config, file does not exist: {}"
            aload 2 /* metricsReporterConfigFile */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
        80: .line 371
            goto 86
        81: .line 374
      StackMap locals: java.lang.String java.net.URL
      StackMap stack:
            aload 3 /* resource */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            astore 4 /* reportFileLocation */
        start local 4 // java.lang.String reportFileLocation
        82: .line 375
            aload 4 /* reportFileLocation */
            invokestatic com.addthis.metrics3.reporter.config.ReporterConfig.loadFromFile:(Ljava/lang/String;)Lcom/addthis/metrics3/reporter/config/ReporterConfig;
            getstatic org.apache.cassandra.metrics.CassandraMetricsRegistry.Metrics:Lorg/apache/cassandra/metrics/CassandraMetricsRegistry;
            invokevirtual com.addthis.metrics3.reporter.config.ReporterConfig.enableAll:(Lcom/codahale/metrics/MetricRegistry;)Z
            pop
        end local 4 // java.lang.String reportFileLocation
        end local 3 // java.net.URL resource
        83: .line 377
            goto 86
        84: .line 378
      StackMap locals: org.apache.cassandra.service.CassandraDaemon int java.lang.String
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        85: .line 380
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Failed to load metrics-reporter-config, metric sinks will not be activated"
            aload 3 /* e */
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        86: .line 385
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.StorageService.registerDaemon:(Lorg/apache/cassandra/service/CassandraDaemon;)V
        87: .line 388
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            invokevirtual org.apache.cassandra.service.StorageService.initServer:()V
        88: .line 389
            goto 92
        89: .line 390
      StackMap locals:
      StackMap stack: org.apache.cassandra.exceptions.ConfigurationException
            astore 3 /* e */
        start local 3 // org.apache.cassandra.exceptions.ConfigurationException e
        90: .line 392
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            aload 3 /* e */
            invokevirtual org.apache.cassandra.exceptions.ConfigurationException.getMessage:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "\nFatal configuration error; unable to start server.  See log for stacktrace."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        91: .line 393
            aload 0 /* this */
            iconst_1
            ldc "Fatal configuration error"
            aload 3 /* e */
            invokevirtual org.apache.cassandra.service.CassandraDaemon.exitOrFail:(ILjava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // org.apache.cassandra.exceptions.ConfigurationException e
        92: .line 398
      StackMap locals:
      StackMap stack:
            invokedynamic run()Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  org/apache/cassandra/service/CassandraDaemon.lambda$0()V (6)
                  ()V
            astore 3 /* viewRebuild */
        start local 3 // java.lang.Runnable viewRebuild
        93: .line 406
            getstatic org.apache.cassandra.concurrent.ScheduledExecutors.optionalTasks:Lorg/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor;
            aload 3 /* viewRebuild */
            getstatic org.apache.cassandra.service.StorageService.RING_DELAY:I
            i2l
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            pop
        94: .line 408
            invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
            invokestatic java.net.InetAddress.getLoopbackAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
            ifne 96
        95: .line 409
            invokestatic org.apache.cassandra.gms.Gossiper.waitToSettle:()V
        96: .line 412
      StackMap locals: java.lang.Runnable
      StackMap stack:
            invokestatic org.apache.cassandra.db.Keyspace.all:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 107
      StackMap locals: org.apache.cassandra.service.CassandraDaemon int java.lang.String java.lang.Runnable top java.util.Iterator
      StackMap stack:
        97: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Keyspace
            astore 4 /* keyspace */
        start local 4 // org.apache.cassandra.db.Keyspace keyspace
        98: .line 414
            aload 4 /* keyspace */
            invokevirtual org.apache.cassandra.db.Keyspace.getColumnFamilyStores:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 106
      StackMap locals: org.apache.cassandra.service.CassandraDaemon int java.lang.String java.lang.Runnable org.apache.cassandra.db.Keyspace java.util.Iterator top java.util.Iterator
      StackMap stack:
        99: 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
       100: .line 416
            aload 6 /* cfs */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.concatWithIndexes:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 9
            goto 105
      StackMap locals: org.apache.cassandra.service.CassandraDaemon int java.lang.String java.lang.Runnable org.apache.cassandra.db.Keyspace java.util.Iterator org.apache.cassandra.db.ColumnFamilyStore java.util.Iterator top java.util.Iterator
      StackMap stack:
       101: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.ColumnFamilyStore
            astore 8 /* store */
        start local 8 // org.apache.cassandra.db.ColumnFamilyStore store
       102: .line 418
            aload 8 /* store */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.reload:()V
       103: .line 419
            aload 8 /* store */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.getCompactionStrategyManager:()Lorg/apache/cassandra/db/compaction/CompactionStrategyManager;
            invokevirtual org.apache.cassandra.db.compaction.CompactionStrategyManager.shouldBeEnabled:()Z
            ifeq 105
       104: .line 421
            aload 8 /* store */
            invokevirtual org.apache.cassandra.db.ColumnFamilyStore.enableAutoCompaction:()V
        end local 8 // org.apache.cassandra.db.ColumnFamilyStore store
       105: .line 416
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 101
        end local 6 // org.apache.cassandra.db.ColumnFamilyStore cfs
       106: .line 414
      StackMap locals: org.apache.cassandra.service.CassandraDaemon int java.lang.String java.lang.Runnable org.apache.cassandra.db.Keyspace java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 99
        end local 4 // org.apache.cassandra.db.Keyspace keyspace
       107: .line 412
      StackMap locals: org.apache.cassandra.service.CassandraDaemon int java.lang.String java.lang.Runnable top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 97
       108: .line 429
            getstatic org.apache.cassandra.concurrent.ScheduledExecutors.optionalTasks:Lorg/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor;
            invokestatic org.apache.cassandra.db.ColumnFamilyStore.getBackgroundCompactionTaskSubmitter:()Ljava/lang/Runnable;
            ldc 5
            lconst_1
            getstatic java.util.concurrent.TimeUnit.MINUTES:Ljava/util/concurrent/TimeUnit;
            invokevirtual org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor.scheduleWithFixedDelay:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            pop
       109: .line 432
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getRpcAddress:()Ljava/net/InetAddress;
            astore 4 /* rpcAddr */
        start local 4 // java.net.InetAddress rpcAddr
       110: .line 433
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getRpcPort:()I
            istore 5 /* rpcPort */
        start local 5 // int rpcPort
       111: .line 434
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getRpcListenBacklog:()I
            istore 6 /* listenBacklog */
        start local 6 // int listenBacklog
       112: .line 435
            aload 0 /* this */
            new org.apache.cassandra.thrift.ThriftServer
            dup
            aload 4 /* rpcAddr */
            iload 5 /* rpcPort */
            iload 6 /* listenBacklog */
            invokespecial org.apache.cassandra.thrift.ThriftServer.<init>:(Ljava/net/InetAddress;II)V
            putfield org.apache.cassandra.service.CassandraDaemon.thriftServer:Lorg/apache/cassandra/service/CassandraDaemon$Server;
       113: .line 438
            aload 0 /* this */
            new org.apache.cassandra.service.NativeTransportService
            dup
            invokespecial org.apache.cassandra.service.NativeTransportService.<init>:()V
            putfield org.apache.cassandra.service.CassandraDaemon.nativeTransportService:Lorg/apache/cassandra/service/NativeTransportService;
       114: .line 440
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.CassandraDaemon.completeSetup:()V
       115: .line 441
            return
        end local 6 // int listenBacklog
        end local 5 // int rpcPort
        end local 4 // java.net.InetAddress rpcAddr
        end local 3 // java.lang.Runnable viewRebuild
        end local 2 // java.lang.String metricsReporterConfigFile
        end local 1 // int sizeRecorderInterval
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0  116     0                       this  Lorg/apache/cassandra/service/CassandraDaemon;
           11   12     1                          e  Lorg/apache/cassandra/exceptions/StartupException;
           16   17     1                          e  Ljava/io/IOException;
           24   33     1               keyspaceName  Ljava/lang/String;
           28   32     3                        cfm  Lorg/apache/cassandra/config/CFMetaData;
           31   32     5                          e  Lorg/apache/cassandra/exceptions/StartupException;
           37   46     1               keyspaceName  Ljava/lang/String;
           41   45     3                        cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
           43   44     5                      store  Lorg/apache/cassandra/db/ColumnFamilyStore;
           50   52     1                          t  Ljava/lang/Throwable;
           55   57     1                          t  Ljava/lang/Throwable;
           60   61     1                          e  Ljava/io/IOException;
           67  116     1       sizeRecorderInterval  I
           71  116     2  metricsReporterConfigFile  Ljava/lang/String;
           78   83     3                   resource  Ljava/net/URL;
           82   83     4         reportFileLocation  Ljava/lang/String;
           85   86     3                          e  Ljava/lang/Exception;
           90   92     3                          e  Lorg/apache/cassandra/exceptions/ConfigurationException;
           93  116     3                viewRebuild  Ljava/lang/Runnable;
           98  107     4                   keyspace  Lorg/apache/cassandra/db/Keyspace;
          100  106     6                        cfs  Lorg/apache/cassandra/db/ColumnFamilyStore;
          102  105     8                      store  Lorg/apache/cassandra/db/ColumnFamilyStore;
          110  116     4                    rpcAddr  Ljava/net/InetAddress;
          111  116     5                    rpcPort  I
          112  116     6              listenBacklog  I
      Exception table:
        from    to  target  type
           8     9      10  Class org.apache.cassandra.exceptions.StartupException
          12    14      15  Class java.io.IOException
          28    29      30  Class org.apache.cassandra.exceptions.StartupException
          47    48      49  Class java.lang.Throwable
          52    53      54  Class java.lang.Throwable
          57    58      59  Class java.io.IOException
          73    83      84  Class java.lang.Exception
          87    88      89  Class org.apache.cassandra.exceptions.ConfigurationException

  private com.google.common.util.concurrent.ListenableFuture<?> loadRowAndKeyCacheAsync();
    descriptor: ()Lcom/google/common/util/concurrent/ListenableFuture;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 449
            getstatic org.apache.cassandra.service.CacheService.instance:Lorg/apache/cassandra/service/CacheService;
            getfield org.apache.cassandra.service.CacheService.keyCache:Lorg/apache/cassandra/cache/AutoSavingCache;
            invokevirtual org.apache.cassandra.cache.AutoSavingCache.loadSavedAsync:()Lcom/google/common/util/concurrent/ListenableFuture;
            astore 1 /* keyCacheLoad */
        start local 1 // com.google.common.util.concurrent.ListenableFuture keyCacheLoad
         1: .line 451
            getstatic org.apache.cassandra.service.CacheService.instance:Lorg/apache/cassandra/service/CacheService;
            getfield org.apache.cassandra.service.CacheService.rowCache:Lorg/apache/cassandra/cache/AutoSavingCache;
            invokevirtual org.apache.cassandra.cache.AutoSavingCache.loadSavedAsync:()Lcom/google/common/util/concurrent/ListenableFuture;
            astore 2 /* rowCacheLoad */
        start local 2 // com.google.common.util.concurrent.ListenableFuture rowCacheLoad
         2: .line 454
            iconst_2
            anewarray com.google.common.util.concurrent.ListenableFuture
            dup
            iconst_0
            aload 1 /* keyCacheLoad */
            aastore
            dup
            iconst_1
            aload 2 /* rowCacheLoad */
            aastore
            invokestatic com.google.common.util.concurrent.Futures.successfulAsList:([Lcom/google/common/util/concurrent/ListenableFuture;)Lcom/google/common/util/concurrent/ListenableFuture;
            astore 3 /* retval */
        start local 3 // com.google.common.util.concurrent.ListenableFuture retval
         3: .line 456
            aload 3 /* retval */
            areturn
        end local 3 // com.google.common.util.concurrent.ListenableFuture retval
        end local 2 // com.google.common.util.concurrent.ListenableFuture rowCacheLoad
        end local 1 // com.google.common.util.concurrent.ListenableFuture keyCacheLoad
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/apache/cassandra/service/CassandraDaemon;
            1    4     1  keyCacheLoad  Lcom/google/common/util/concurrent/ListenableFuture<Ljava/lang/Integer;>;
            2    4     2  rowCacheLoad  Lcom/google/common/util/concurrent/ListenableFuture<Ljava/lang/Integer;>;
            3    4     3        retval  Lcom/google/common/util/concurrent/ListenableFuture<Ljava/util/List<Ljava/lang/Integer;>;>;
    Signature: ()Lcom/google/common/util/concurrent/ListenableFuture<*>;

  public void completeSetup();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 462
            aload 0 /* this */
            iconst_1
            putfield org.apache.cassandra.service.CassandraDaemon.setupCompleted:Z
         1: .line 463
            return
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/service/CassandraDaemon;
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.VisibleForTesting()

  public boolean setupCompleted();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 467
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.setupCompleted:Z
            ireturn
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/service/CassandraDaemon;

  private void logSystemInfo();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 472
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isInfoEnabled:()Z
            ifeq 16
         1: .line 476
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Hostname: {}"
            invokestatic java.net.InetAddress.getLocalHost:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostName:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 477
            goto 5
         3: .line 478
      StackMap locals:
      StackMap stack: java.net.UnknownHostException
            pop
         4: .line 480
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Could not resolve local host"
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
         5: .line 483
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "JVM vendor/version: {}/{}"
            ldc "java.vm.name"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ldc "java.version"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 484
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Heap size: {}/{}"
         7: .line 485
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.totalMemory:()J
            invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
         8: .line 486
            invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
            invokevirtual java.lang.Runtime.maxMemory:()J
            invokestatic org.apache.cassandra.utils.FBUtilities.prettyPrintMemory:(J)Ljava/lang/String;
         9: .line 484
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 488
            invokestatic java.lang.management.ManagementFactory.getMemoryPoolMXBeans:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 13
      StackMap locals: org.apache.cassandra.service.CassandraDaemon top java.util.Iterator
      StackMap stack:
        11: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.management.MemoryPoolMXBean
            astore 1 /* pool */
        start local 1 // java.lang.management.MemoryPoolMXBean pool
        12: .line 489
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "{} {}: {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* pool */
            invokeinterface java.lang.management.MemoryPoolMXBean.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 1 /* pool */
            invokeinterface java.lang.management.MemoryPoolMXBean.getType:()Ljava/lang/management/MemoryType;
            aastore
            dup
            iconst_2
            aload 1 /* pool */
            invokeinterface java.lang.management.MemoryPoolMXBean.getPeakUsage:()Ljava/lang/management/MemoryUsage;
            aastore
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 1 // java.lang.management.MemoryPoolMXBean pool
        13: .line 488
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        14: .line 491
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Classpath: {}"
            ldc "java.class.path"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
        15: .line 493
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "JVM Arguments: {}"
            invokestatic java.lang.management.ManagementFactory.getRuntimeMXBean:()Ljava/lang/management/RuntimeMXBean;
            invokeinterface java.lang.management.RuntimeMXBean.getInputArguments:()Ljava/util/List;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
        16: .line 495
      StackMap locals: org.apache.cassandra.service.CassandraDaemon
      StackMap stack:
            return
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   17     0  this  Lorg/apache/cassandra/service/CassandraDaemon;
           12   13     1  pool  Ljava/lang/management/MemoryPoolMXBean;
      Exception table:
        from    to  target  type
           1     2       3  Class java.net.UnknownHostException

  public void init(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
        start local 1 // java.lang.String[] arguments
         0: .line 508
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.CassandraDaemon.setup:()V
         1: .line 509
            return
        end local 1 // java.lang.String[] arguments
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/apache/cassandra/service/CassandraDaemon;
            0    2     1  arguments  [Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      arguments  

  public void start();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 522
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            invokevirtual org.apache.cassandra.service.StorageService.hasJoined:()Z
            ifeq 8
         1: .line 524
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            invokevirtual org.apache.cassandra.service.StorageService.isSurveyMode:()Z
            ifeq 5
         2: .line 526
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            invokevirtual org.apache.cassandra.service.StorageService.isBootstrapMode:()Z
            ifne 3
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getAuthenticator:()Lorg/apache/cassandra/auth/IAuthenticator;
            invokeinterface org.apache.cassandra.auth.IAuthenticator.requireAuthentication:()Z
            ifeq 8
         3: .line 528
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Not starting client transports in write_survey mode as it's bootstrapping or auth is enabled"
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
         4: .line 530
            return
         5: .line 535
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.cassandra.db.SystemKeyspace.bootstrapComplete:()Z
            ifne 8
         6: .line 537
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Not starting client transports as bootstrap has not completed"
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
         7: .line 538
            return
         8: .line 543
      StackMap locals:
      StackMap stack:
            ldc "cassandra.start_native_transport"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* nativeFlag */
        start local 1 // java.lang.String nativeFlag
         9: .line 544
            aload 1 /* nativeFlag */
            ifnull 10
            aload 1 /* nativeFlag */
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            ifne 11
      StackMap locals: java.lang.String
      StackMap stack:
        10: aload 1 /* nativeFlag */
            ifnonnull 14
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.startNativeTransport:()Z
            ifeq 14
        11: .line 546
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.CassandraDaemon.startNativeTransport:()V
        12: .line 547
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            iconst_1
            invokevirtual org.apache.cassandra.service.StorageService.setRpcReady:(Z)V
        13: .line 548
            goto 15
        14: .line 550
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Not starting native transport as requested. Use JMX (StorageService->startNativeTransport()) or nodetool (enablebinary) to start it"
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
        15: .line 552
      StackMap locals:
      StackMap stack:
            ldc "cassandra.start_rpc"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* rpcFlag */
        start local 2 // java.lang.String rpcFlag
        16: .line 553
            aload 2 /* rpcFlag */
            ifnull 17
            aload 2 /* rpcFlag */
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            ifne 18
      StackMap locals: java.lang.String
      StackMap stack:
        17: aload 2 /* rpcFlag */
            ifnonnull 19
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.startRpc:()Z
            ifeq 19
        18: .line 554
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.thriftServer:Lorg/apache/cassandra/service/CassandraDaemon$Server;
            invokeinterface org.apache.cassandra.service.CassandraDaemon$Server.start:()V
            goto 20
        19: .line 556
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Not starting RPC server as requested. Use JMX (StorageService->startRPCServer()) or nodetool (enablethrift) to start it"
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
        20: .line 557
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String rpcFlag
        end local 1 // java.lang.String nativeFlag
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lorg/apache/cassandra/service/CassandraDaemon;
            9   21     1  nativeFlag  Ljava/lang/String;
           16   21     2     rpcFlag  Ljava/lang/String;

  public void stop();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 568
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Cassandra shutting down..."
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
         1: .line 569
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.thriftServer:Lorg/apache/cassandra/service/CassandraDaemon$Server;
            ifnull 3
         2: .line 570
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.thriftServer:Lorg/apache/cassandra/service/CassandraDaemon$Server;
            invokeinterface org.apache.cassandra.service.CassandraDaemon$Server.stop:()V
         3: .line 571
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.nativeTransportService:Lorg/apache/cassandra/service/NativeTransportService;
            ifnull 5
         4: .line 572
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.nativeTransportService:Lorg/apache/cassandra/service/NativeTransportService;
            invokevirtual org.apache.cassandra.service.NativeTransportService.destroy:()V
         5: .line 573
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            iconst_0
            invokevirtual org.apache.cassandra.service.StorageService.setRpcReady:(Z)V
         6: .line 577
            getstatic org.apache.cassandra.utils.FBUtilities.isWindows:Z
            ifeq 8
         7: .line 578
            iconst_0
            invokestatic java.lang.System.exit:(I)V
         8: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.jmxServer:Ljavax/management/remote/JMXConnectorServer;
            ifnull 13
         9: .line 584
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.jmxServer:Ljavax/management/remote/JMXConnectorServer;
            invokevirtual javax.management.remote.JMXConnectorServer.stop:()V
        10: .line 585
            goto 13
        11: .line 586
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 1 /* e */
        start local 1 // java.io.IOException e
        12: .line 588
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Error shutting down local JMX server: "
            aload 1 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 1 // java.io.IOException e
        13: .line 591
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/apache/cassandra/service/CassandraDaemon;
           12   13     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           9    10      11  Class java.io.IOException

  public void destroy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 599
            return
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/service/CassandraDaemon;

  public void activate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 609
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.CassandraDaemon.applyConfig:()V
         1: .line 611
            getstatic org.apache.cassandra.utils.MBeanWrapper.instance:Lorg/apache/cassandra/utils/MBeanWrapper;
            new javax.management.StandardMBean
            dup
            new org.apache.cassandra.service.CassandraDaemon$NativeAccess
            dup
            invokespecial org.apache.cassandra.service.CassandraDaemon$NativeAccess.<init>:()V
            ldc Lorg/apache/cassandra/service/NativeAccessMBean;
            invokespecial javax.management.StandardMBean.<init>:(Ljava/lang/Object;Ljava/lang/Class;)V
            ldc "org.apache.cassandra.db:type=NativeAccess"
            getstatic org.apache.cassandra.utils.MBeanWrapper$OnException.LOG:Lorg/apache/cassandra/utils/MBeanWrapper$OnException;
            invokeinterface org.apache.cassandra.utils.MBeanWrapper.registerMBean:(Ljava/lang/Object;Ljava/lang/String;Lorg/apache/cassandra/utils/MBeanWrapper$OnException;)V
         2: .line 613
            getstatic org.apache.cassandra.utils.FBUtilities.isWindows:Z
            ifeq 4
         3: .line 617
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getWindowsTimerInterval:()I
            invokestatic org.apache.cassandra.utils.WindowsTimer.startTimerPeriod:(I)V
         4: .line 620
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.CassandraDaemon.setup:()V
         5: .line 622
            ldc "cassandra-pidfile"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* pidFile */
        start local 1 // java.lang.String pidFile
         6: .line 624
            aload 1 /* pidFile */
            ifnull 8
         7: .line 626
            new java.io.File
            dup
            aload 1 /* pidFile */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.deleteOnExit:()V
         8: .line 629
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "cassandra-foreground"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 11
         9: .line 631
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.close:()V
        10: .line 632
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            invokevirtual java.io.PrintStream.close:()V
        11: .line 635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.CassandraDaemon.start:()V
        end local 1 // java.lang.String pidFile
        12: .line 636
            goto 28
        13: .line 637
      StackMap locals: org.apache.cassandra.service.CassandraDaemon
      StackMap stack: java.lang.Throwable
            astore 1 /* e */
        start local 1 // java.lang.Throwable e
        14: .line 640
            aload 1 /* e */
            instanceof org.apache.cassandra.exceptions.ConfigurationException
            ifeq 15
            aload 1 /* e */
            checkcast org.apache.cassandra.exceptions.ConfigurationException
            getfield org.apache.cassandra.exceptions.ConfigurationException.logStackTrace:Z
            goto 16
      StackMap locals: java.lang.Throwable
      StackMap stack:
        15: iconst_1
        16: .line 639
      StackMap locals:
      StackMap stack: int
            istore 2 /* logStackTrace */
        start local 2 // boolean logStackTrace
        17: .line 642
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Exception ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") encountered during startup: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* e */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        18: .line 644
            iload 2 /* logStackTrace */
            ifeq 24
        19: .line 646
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.runManaged:Z
            ifeq 21
        20: .line 647
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Exception encountered during startup"
            aload 1 /* e */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        21: .line 649
      StackMap locals: int
      StackMap stack:
            aload 1 /* e */
            invokevirtual java.lang.Throwable.printStackTrace:()V
        22: .line 650
            aload 0 /* this */
            iconst_3
            ldc "Exception encountered during startup"
            aload 1 /* e */
            invokevirtual org.apache.cassandra.service.CassandraDaemon.exitOrFail:(ILjava/lang/String;Ljava/lang/Throwable;)V
        23: .line 651
            goto 28
        24: .line 654
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.runManaged:Z
            ifeq 26
        25: .line 655
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Exception encountered during startup: {}"
            aload 1 /* e */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;)V
        26: .line 657
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 1 /* e */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        27: .line 658
            aload 0 /* this */
            iconst_3
            new java.lang.StringBuilder
            dup
            ldc "Exception encountered during startup: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.CassandraDaemon.exitOrFail:(ILjava/lang/String;)V
        end local 2 // boolean logStackTrace
        end local 1 // java.lang.Throwable e
        28: .line 661
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   29     0           this  Lorg/apache/cassandra/service/CassandraDaemon;
            6   12     1        pidFile  Ljava/lang/String;
           14   28     1              e  Ljava/lang/Throwable;
           17   28     2  logStackTrace  Z
      Exception table:
        from    to  target  type
           0    12      13  Class java.lang.Throwable

  public void applyConfig();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 665
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization:()V
         1: .line 666
            return
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/service/CassandraDaemon;

  public void startNativeTransport();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 673
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            invokevirtual org.apache.cassandra.service.StorageService.hasJoined:()Z
            ifeq 6
         1: .line 675
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            invokevirtual org.apache.cassandra.service.StorageService.isSurveyMode:()Z
            ifeq 4
         2: .line 677
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            invokevirtual org.apache.cassandra.service.StorageService.isBootstrapMode:()Z
            ifne 3
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getAuthenticator:()Lorg/apache/cassandra/auth/IAuthenticator;
            invokeinterface org.apache.cassandra.auth.IAuthenticator.requireAuthentication:()Z
            ifeq 6
         3: .line 679
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "Not starting client transports in write_survey mode as it's bootstrapping or auth is enabled"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 685
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.cassandra.db.SystemKeyspace.bootstrapComplete:()Z
            ifne 6
         5: .line 687
            new java.lang.IllegalStateException
            dup
            ldc "Node is not yet bootstrapped completely. Use nodetool to check bootstrap state and resume. For more, see `nodetool help bootstrap`"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 693
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.nativeTransportService:Lorg/apache/cassandra/service/NativeTransportService;
            ifnonnull 8
         7: .line 694
            new java.lang.IllegalStateException
            dup
            ldc "setup() must be called first for CassandraDaemon"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 696
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.nativeTransportService:Lorg/apache/cassandra/service/NativeTransportService;
            invokevirtual org.apache.cassandra.service.NativeTransportService.start:()V
         9: .line 697
            return
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/apache/cassandra/service/CassandraDaemon;

  public void stopNativeTransport();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 701
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.nativeTransportService:Lorg/apache/cassandra/service/NativeTransportService;
            ifnull 2
         1: .line 702
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.nativeTransportService:Lorg/apache/cassandra/service/NativeTransportService;
            invokevirtual org.apache.cassandra.service.NativeTransportService.stop:()V
         2: .line 703
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/service/CassandraDaemon;

  public boolean isNativeTransportRunning();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 707
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.nativeTransportService:Lorg/apache/cassandra/service/NativeTransportService;
            ifnull 1
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.nativeTransportService:Lorg/apache/cassandra/service/NativeTransportService;
            invokevirtual org.apache.cassandra.service.NativeTransportService.isRunning:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/service/CassandraDaemon;

  public int getMaxNativeProtocolVersion();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 712
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.nativeTransportService:Lorg/apache/cassandra/service/NativeTransportService;
            invokevirtual org.apache.cassandra.service.NativeTransportService.getMaxProtocolVersion:()I
            ireturn
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/service/CassandraDaemon;

  public void refreshMaxNativeProtocolVersion();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 717
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.nativeTransportService:Lorg/apache/cassandra/service/NativeTransportService;
            ifnull 2
         1: .line 718
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.nativeTransportService:Lorg/apache/cassandra/service/NativeTransportService;
            invokevirtual org.apache.cassandra.service.NativeTransportService.refreshMaxNegotiableProtocolVersion:()V
         2: .line 719
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/service/CassandraDaemon;

  public void deactivate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
         0: .line 726
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.CassandraDaemon.stop:()V
         1: .line 727
            aload 0 /* this */
            invokevirtual org.apache.cassandra.service.CassandraDaemon.destroy:()V
         2: .line 729
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.runManaged:Z
            ifne 4
         3: .line 731
            iconst_0
            invokestatic java.lang.System.exit:(I)V
         4: .line 733
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/cassandra/service/CassandraDaemon;

  public static void stop(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 737
            getstatic org.apache.cassandra.service.CassandraDaemon.instance:Lorg/apache/cassandra/service/CassandraDaemon;
            invokevirtual org.apache.cassandra.service.CassandraDaemon.deactivate:()V
         1: .line 738
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 742
            getstatic org.apache.cassandra.service.CassandraDaemon.instance:Lorg/apache/cassandra/service/CassandraDaemon;
            invokevirtual org.apache.cassandra.service.CassandraDaemon.activate:()V
         1: .line 743
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  args  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      args  

  private void exitOrFail(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
        start local 1 // int code
        start local 2 // java.lang.String message
         0: .line 747
            aload 0 /* this */
            iload 1 /* code */
            aload 2 /* message */
            aconst_null
            invokevirtual org.apache.cassandra.service.CassandraDaemon.exitOrFail:(ILjava/lang/String;Ljava/lang/Throwable;)V
         1: .line 748
            return
        end local 2 // java.lang.String message
        end local 1 // int code
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/cassandra/service/CassandraDaemon;
            0    2     1     code  I
            0    2     2  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      code     
      message  

  private void exitOrFail(int, java.lang.String, java.lang.Throwable);
    descriptor: (ILjava/lang/String;Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.apache.cassandra.service.CassandraDaemon this
        start local 1 // int code
        start local 2 // java.lang.String message
        start local 3 // java.lang.Throwable cause
         0: .line 752
            aload 0 /* this */
            getfield org.apache.cassandra.service.CassandraDaemon.runManaged:Z
            ifeq 5
         1: .line 754
            aload 3 /* cause */
            ifnull 2
            new java.lang.RuntimeException
            dup
            aload 2 /* message */
            aload 3 /* cause */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            goto 3
      StackMap locals:
      StackMap stack:
         2: new java.lang.RuntimeException
            dup
            aload 2 /* message */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
         3: astore 4 /* t */
        start local 4 // java.lang.RuntimeException t
         4: .line 755
            aload 4 /* t */
            athrow
        end local 4 // java.lang.RuntimeException t
         5: .line 759
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            aload 2 /* message */
            aload 3 /* cause */
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
         6: .line 760
            iload 1 /* code */
            invokestatic java.lang.System.exit:(I)V
         7: .line 762
            return
        end local 3 // java.lang.Throwable cause
        end local 2 // java.lang.String message
        end local 1 // int code
        end local 0 // org.apache.cassandra.service.CassandraDaemon this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/apache/cassandra/service/CassandraDaemon;
            0    8     1     code  I
            0    8     2  message  Ljava/lang/String;
            0    8     3    cause  Ljava/lang/Throwable;
            4    5     4        t  Ljava/lang/RuntimeException;
    MethodParameters:
         Name  Flags
      code     
      message  
      cause    

  private static void lambda$0();
    descriptor: ()V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 399
            invokestatic org.apache.cassandra.db.Keyspace.all:()Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 1
            goto 3
      StackMap locals: top java.util.Iterator
      StackMap stack:
         1: aload 1
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.db.Keyspace
            astore 0 /* keyspace */
        start local 0 // org.apache.cassandra.db.Keyspace keyspace
         2: .line 401
            aload 0 /* keyspace */
            getfield org.apache.cassandra.db.Keyspace.viewManager:Lorg/apache/cassandra/db/view/ViewManager;
            invokevirtual org.apache.cassandra.db.view.ViewManager.buildAllViews:()V
        end local 0 // org.apache.cassandra.db.Keyspace keyspace
         3: .line 399
      StackMap locals:
      StackMap stack:
            aload 1
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 403
            getstatic org.apache.cassandra.service.CassandraDaemon.logger:Lorg/slf4j/Logger;
            ldc "Completed submission of build tasks for any materialized views defined at startup"
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
         5: .line 404
            return
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            2    3     0  keyspace  Lorg/apache/cassandra/db/Keyspace;
}
SourceFile: "CassandraDaemon.java"
NestMembers:
  org.apache.cassandra.service.CassandraDaemon$1  org.apache.cassandra.service.CassandraDaemon$2  org.apache.cassandra.service.CassandraDaemon$NativeAccess  org.apache.cassandra.service.CassandraDaemon$Server
InnerClasses:
  public abstract UncaughtExceptionHandler = java.lang.Thread$UncaughtExceptionHandler of java.lang.Thread
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  org.apache.cassandra.service.CassandraDaemon$1
  org.apache.cassandra.service.CassandraDaemon$2
  NativeAccess = org.apache.cassandra.service.CassandraDaemon$NativeAccess of org.apache.cassandra.service.CassandraDaemon
  public abstract Server = org.apache.cassandra.service.CassandraDaemon$Server of org.apache.cassandra.service.CassandraDaemon
  public final OnException = org.apache.cassandra.utils.MBeanWrapper$OnException of org.apache.cassandra.utils.MBeanWrapper