Ivo Ladage - van Doorn created AMDATUCASSANDRA-171:
------------------------------------------------------
Summary: QUORUM range scan read triggers unnecessary row mutation
in a 3-node cluster with RF 3
Key: AMDATUCASSANDRA-171
URL: http://jira.amdatu.org/jira/browse/AMDATUCASSANDRA-171
Project: Amdatu Cassandra
Issue Type: Bug
Components: Cassandra server
Affects Versions: 0.2.2
Reporter: Ivo Ladage - van Doorn
Fix For: 0.2.3
In a 3-node cluster with RF 3 and R/W consistency levels QUORUM, a range scan
query triggers an unnecessary row mutation. Th issue manifests itself in
org.apache.cassandra.service.RangeSliceResponseResolver. For a QUORUM read, it
only needs to send read requests to two nodes to reach the CL, and so it does.
The RangeSliceResponseResolver evaluates the results to verify if a node
responded with an out of date value and needs to be repaired.
Now the problem is that only two requests are send, but the
RangeSliceResponseResolver verifies the versions returned by all 3 nodes. As
only two versions are retrieved, one of these versions is null and so the
RangeSliceResponseResolver concludes that it needs to be updated and creates a
row mutation for it.
In fact, the issue is a mismatch between the endpoints to which READ requests
are send in StorageProxy.getRangeSlice line 706 and the version results
compared in RangeSliceResponseResolver line 122.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
http://jira.amdatu.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
Amdatu-developers mailing list
[email protected]
http://lists.amdatu.org/mailman/listinfo/amdatu-developers