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

Make CommitLogReplayer replay all tables in a keyspace when only keyspace is specified in cassandra.replayList property

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 5.0-alpha1, 5.0
    • Local/Commit Log
    • None

    Description

      CommitLogReplayer reacts on a property "cassandra.replayList" (1) which replays only some tables if needed upon commit log replay.

      However, imagine you have a keyspace of 50 tables and other keyspace of 20 tables and you want to replay only all tables of the first keyspace.

      Currently, an operator has to enumerate all 50 tables which is not desirable and it is error prone.

      I suggest to change the logic in such a way that if there is only keyspace listed, we would retrieve all its tables dynamically in runtime and replayed only these.

      The solution would be receptive to both keyspace.table as well as only "keyspace" format.

      Valid examples of such property:

      ks1,ks2,ks3.tb1 // it will retrieve all tables of ks1 and ks2 and appends ks3.tb1
      ks1.tb1,ks2.tb2
      ks1,ks2,ks3 // it will retrieve tables of all these keyspaces

      https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java#L379-L387

      Attachments

        Activity

          People

            smiklosovic Stefan Miklosovic
            smiklosovic Stefan Miklosovic
            Stefan Miklosovic
            Branimir Lambov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 1h 20m
                1h 20m