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

             Summary: Client notifications should carry the entire delta of the 
information that changed
                 Key: CASSANDRA-8345
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8345
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Michaël Figuière


Currently when the schema changes, a {{SCHEMA_CHANGE}} notification is sent to 
the client to let it know that a modification happened in a specific table or 
keyspace. If the client register for these notifications, this is likely that 
it actually cares to have an up to date version of this information, so the 
next step is logically for the client to query the {{system}} keyspace to 
retrieve the latest version of the schema for the particular element that was 
mentioned in the notification.

The same thing happen with the {{TOPOLOGY_CHANGE}} notification as the client 
will follow up with a query to retrieve the details that changed in the 
{{system.peers}} table.

It would be interesting to send the entire delta of the information that 
changed within the notification. I see several advantages with this:
* This would ensure that the data that are sent to the client are as small as 
possible as such a delta will always be smaller than the resultset that would 
eventually be received for a formal query on the {{system}} keyspace.
* This avoid the Cassandra node to receive plenty of query after it issue a 
notification but rather to prepare a delta once and send it to everybody.
* This should improve the overall behaviour when dealing with very large 
schemas with frequent changes (typically due to a tentative of implementing 
multitenancy through separate keyspaces), as it has been observed that the the 
notifications and subsequent queries traffic can become non negligible in this 
case.
* This would eventually simplify the driver design by removing the need for an 
extra asynchronous operation to follow up with, although the benefit of this 
point will be real only once the previous versions of the protocols are far 
behind.



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

Reply via email to