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)