You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Michaël Figuière (JIRA)" <ji...@apache.org> on 2013/08/14 03:11:48 UTC

[jira] [Created] (CASSANDRA-5886) Provide a propagation guarantee for DDL queries execution

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

             Summary: Provide a propagation guarantee for DDL queries execution
                 Key: CASSANDRA-5886
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5886
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Michaël Figuière
            Priority: Minor


Currently schema modifications are not guaranteed to be propagated when the DDL statement's response reach the client. While this is not a drama, it appears to be annoying when writing integration tests for an application for instance. Additionally this behaviour gives a feel a brittleness to newcomers who meet a "Table does not exist" error on a table that they've just created.

A possible workaround would be for the coordinator to wait for at least one replica of each partition to acknowledge a DDL query. Then when a node meets a schema error on a DML query it could contact the other replicas for one of the token it owns to check for schema updates.
Doing so would make DDL queries and DML queries with schema errors slower but it doesn't matter as performances of the former are not critical (and the response time would still be reasonable as we wait only for the faster replica of each partition to answer) and the latter are not expected to happen in stable production environments.

The guarantee would not be absolute as all of the nodes for a given partition might be down/not answer on time. But doing so we would make the error much more unlikely to happen. And we'll always have the possibility to increase the amount of partitions to contact in the case of DML schema errors...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira