jaydeepkumar1984 opened a new pull request, #2595:
URL: https://github.com/apache/cassandra/pull/2595

   Detect token-ownership mismatch (CASSANDRA-18758)
   
   As we know, Cassandra exchanges important topology and 
token-ownership-related details over Gossip. Cassandra internally maintains two 
separate caches with the token-ownership information maintained: 1) Gossip 
cache and 2) Storage Service cache. The first Gossip cache is updated on a 
node, followed by the storage service cache. In the hot path, ownership is 
calculated from the storage service cache. Since two separate caches maintain 
the same information, then inconsistencies are bound to happen. It is feasible 
that the Gossip cache has up-to-date ownership of the Cassandra cluster, but 
the service cache does not, and in that scenario, inconsistent data will be 
served to the user.
   
   Currently, no mechanism in Cassandra detects and fixes these two caches. 
   
   Long-term solution
   We are going with the long-term transactional metadata 
(https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-21) to handle such 
inconsistencies, and that’s the right thing to do.
   
   Short-term solution
   But CEP-21 might take some time, and until then, there is a need to detect 
such inconsistencies. Once we detect inconsistencies, then we could have two 
options: 1) restart the node or 2) Fix the inconsistencies on-the-fly.
   
   patch by Jaydeepkumar Chovatia; reviewed by <Reviewers> for CASSANDRA-18758
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to