Michaël Figuière created CASSANDRA-7880:
-------------------------------------------

             Summary: Create a new system table "schema_change_history"
                 Key: CASSANDRA-7880
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7880
             Project: Cassandra
          Issue Type: New Feature
            Reporter: Michaël Figuière
            Priority: Minor


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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to