[ 
https://issues.apache.org/jira/browse/CASSANDRA-9328?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14974817#comment-14974817
 ] 

Aaron Whiteside commented on CASSANDRA-9328:
--------------------------------------------

If this is a known issue, and there is no other ticket to represent this issue, 
then please tell me again why you want to close it? This ticket should remain 
OPEN until the issue is resolved, regardless of the fact there is no known 
solution.

And I don't see any documentation on this feature that says it will provide 
non-deterministic behavior under light (2 threads) contention. 

I disagree on your point that you can read the value after writing it to 
determine if the LWT was successful. You forget in a concurrent environment 
that this is the very definition of a race condition. With the current LWT 
implementation you can NEVER know 100% if an update succeeded or not. If you 
think this is not true please provide sample code on how to accomplish this.. 
if such a thing exists it should also be added to the official documentation as 
a work around on how to use LWT "correctly".


> WriteTimeoutException thrown when LWT concurrency > 1, despite the query 
> duration taking MUCH less than cas_contention_timeout_in_ms
> ------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-9328
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9328
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>            Reporter: Aaron Whiteside
>            Priority: Critical
>             Fix For: 2.1.x
>
>         Attachments: CassandraLWTTest.java, CassandraLWTTest2.java
>
>
> WriteTimeoutException thrown when LWT concurrency > 1, despite the query 
> duration taking MUCH less than cas_contention_timeout_in_ms.
> Unit test attached, run against a 3 node cluster running 2.1.5.
> If you reduce the threadCount to 1, you never see a WriteTimeoutException. If 
> the WTE is due to not being able to communicate with other nodes, why does 
> the concurrency >1 cause inter-node communication to fail?



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

Reply via email to