Sylvain Lebresne created CASSANDRA-10125:
--------------------------------------------

             Summary: ReadFailure is thrown instead of ReadTimeout for range 
queries
                 Key: CASSANDRA-10125
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10125
             Project: Cassandra
          Issue Type: Bug
            Reporter: Sylvain Lebresne
            Assignee: Sylvain Lebresne
             Fix For: 3.0 beta 2


CASSANDRA-8099 merged the way single partition and range read messages where 
handled and has switch to using the same verb ({{Verb.READ}}) for both, 
effectively deprecating {{Verb.RANGE_SLICE}}. Unfortunately, we are relying on 
having 2 different verbs for timeouts. More precisely, when adding a callback 
in the expiring map of {{MessagingService}}, we use the timeout from the 
{{Verb}}. As a consequence, it's currently set with the single partition read 
timeout (5s) even for range queries (which have a 10s timeout).  And when a 
callback expires, it is notified as a failure to the callback (which is 
debatable imo but a separate issue), which means range queries will generally 
send a ReadFailure (after 5s) instead of a ReadTimeout (since they do wait 10s 
before sending those).

That is the reason for at least the failure of {{nosetests 
replace_address_test:TestReplaceAddress.replace_first_boot_test}} dtest (the 
test has 3 nodes, kill one and expects a timeout at CL.THREE but get a failure 
instead).




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

Reply via email to