You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Daniel Pinyol (JIRA)" <ji...@apache.org> on 2016/03/21 12:59:25 UTC
[jira] [Commented] (CASSANDRA-6788) Race condition silently kills
thrift server
[ https://issues.apache.org/jira/browse/CASSANDRA-6788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15204079#comment-15204079 ]
Daniel Pinyol commented on CASSANDRA-6788:
------------------------------------------
With both Cassandra 1.2.19 and 2.2.5 (which should contain the patch) I can experience a similar problem, with both OSX and linux. I use thrift with scale7-pelops 1.3-1.1.x. This is my pseudocode. I use dynamic columns.
{noformat}
for(column=1..1000)
{
for(value=1..25)
{
write("CF1", "key1", column, writtenValue);
readValue = read("CF1", "key1", column);
some times here readValue!=writtenValue. Once this happens, sleeping and reading again does not help
}
}
{noformat}
The only alternative ways to avoid the problem are:
* inserting a sleep (any duration) right after the put.
* replacing thrift with CQL
* This sounds crazy, but each value contains the previous one as prefix (1, 12, 123, 1234...) it never fails.
> Race condition silently kills thrift server
> -------------------------------------------
>
> Key: CASSANDRA-6788
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6788
> Project: Cassandra
> Issue Type: Bug
> Reporter: Christian Rolf
> Assignee: Christian Rolf
> Fix For: 1.2.17, 2.0.7, 2.1 beta2
>
> Attachments: 6788-v2.txt, 6788-v3.txt, 6793-v3-rebased.txt, race_patch.diff
>
>
> There's a race condition in CustomTThreadPoolServer that can cause the thrift server to silently stop listening for connections.
> It happens when the executor service throws a RejectedExecutionException, which is not caught.
>
> Silent in the sense that OpsCenter doesn't notice any problem since JMX is still running fine.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)