You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sylvain Lebresne (JIRA)" <ji...@apache.org> on 2013/12/16 12:35:07 UTC
[jira] [Created] (CASSANDRA-6491) Timeout can send confusing
information as to what their cause is
Sylvain Lebresne created CASSANDRA-6491:
-------------------------------------------
Summary: Timeout can send confusing information as to what their cause is
Key: CASSANDRA-6491
URL: https://issues.apache.org/jira/browse/CASSANDRA-6491
Project: Cassandra
Issue Type: Improvement
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
Priority: Trivial
We can race between the time we "detect" a timeout and the time we build the actual exception, so that it's possible to have a timeout exception that pretends enough replica have actually acknowledged the operation, which is thus slightly confusing to the user as to why it got a timeout.
That kind of race is rather unlikely in a healthy environment, but https://datastax-oss.atlassian.net/browse/JAVA-227 shows that it's at least possible to trigger in a test environment.
Note that it's definitively not worth synchronizing to avoid that that, but it could maybe be simple enough to detect the race when building the exception and "correct" the ack count. Attaching simple patch to show what I have in mind.
Note that I don't entirely disagree that it's not "perfect", but as said above, proper synchronization is just not worth it and it seems to me that it's not worth confusing users over that.
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)