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

Create a new system table "schema_change_history"

    XMLWordPrintableJSON

    Details

    • Type: New Feature
    • Status: Open
    • Priority: Low
    • Resolution: Unresolved
    • Fix Version/s: None
    • Labels:
      None

      Description

      The current way Cassandra handle schema modification can lead to some schema disagreements as DDL statements execution doesn't come with any absolute guarantee. I understand that entirely seamless schema updates in such a distributed system will be challenging to reach and probably not a high priority for now.

      That being said these disagreements can sometime lead to challenging situation for scripts or tools that need things to be in order to move on. To clarify the situation, help the user to figure out what's going on, as well as to properly log these sensitive operations, it would be interesting to add a schema_change_history table in the system keyspace.

      I would expect it to be local to a node and to contain the following information:

      • DDL statement that has been executed
      • User login used for the operation
      • IP of the client that originated the request
      • Date/Time of the change
      • Schema version before the change
      • Schema version after the change

      Under normal conditions, Cassandra shouldn't handle a massive amount of DDL statements so this table should grow at a descent pace. Nevertheless to bound its growth we can consider adding a TTL.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              mfiguiere Michaël Figuière
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated: