cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stu Hood (JIRA)" <>
Subject [jira] [Created] (CASSANDRA-2552) ReadResponseResolver Race
Date Mon, 25 Apr 2011 01:22:05 GMT
ReadResponseResolver Race

                 Key: CASSANDRA-2552
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Stu Hood
            Assignee: Stu Hood
             Fix For: 0.8.0

When receiving a response, ReadResponseResolver uses a 3 step process to decide whether to
trigger the condition that enough responses have arrived:
# Add new response
# Check response set size
# Check that data is present

I think that these steps must have been reordered by the compiler in some cases, because I
was able to reproduce a case where the condition is not properly triggered:
INFO [RequestResponseStage:15] 2011-04-25 00:26:53,514 (line 87)
post append for 1087367065: hasData=false in 2 messages
INFO [RequestResponseStage:8] 2011-04-25 00:26:53,514 (line 87)
post append for 1087367065: hasData=true in 1 messages
INFO [pool-1-thread-54] 2011-04-25 00:27:03,516 (line 623) Read timeout:
java.util.concurrent.TimeoutException: ReadResponseResolver@1087367065(/,/,)
The last line shows that both results were present, and that one of them was holding data.

This message is automatically generated by JIRA.
For more information on JIRA, see:

View raw message