Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-8572

CQLSSTableWriter shouldn't trigger cassandra specific initializations

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Low
    • Resolution: Unresolved
    • 2.1.x
    • None
    • None
    • Low

    Description

      Due to static dependencies, calling Keyspace.open trigger the creation of the CommitLog singleton which in turn trigger the start of all the threads used by the CommitLog.

      For simple client like CQLSSTableWriter that dependency is an issue as it can prevent the JVM from shutting down if the CommitLog is not shutdown explicitly.

      The following stacktrace show the initialization chain that trigger the CommitLog:

      CommitLogSegmentManager.<init>() line: 173	
      CommitLog.<init>() line: 70	
      CommitLog.<clinit>() line: 55	
      Memtable.<init>(ColumnFamilyStore) line: 66	
      DataTracker.init() line: 378	
      DataTracker.<init>(ColumnFamilyStore) line: 54	
      ColumnFamilyStore.<init>(Keyspace, String, IPartitioner, int, CFMetaData, Directories, boolean) line: 281	
      ColumnFamilyStore.createColumnFamilyStore(Keyspace, String, IPartitioner, CFMetaData, boolean) line: 443	
      ColumnFamilyStore.createColumnFamilyStore(Keyspace, String, boolean) line: 414	
      Keyspace.initCf(UUID, String, boolean) line: 327	
      Keyspace.<init>(String, boolean) line: 280	
      Keyspace.open(String, Schema, boolean) line: 122	
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            blerer Benjamin Lerer
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: