You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Tyler Hobbs (JIRA)" <ji...@apache.org> on 2014/07/01 18:32:24 UTC

[jira] [Commented] (CASSANDRA-7390) MoveTest fails intermittently

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

Tyler Hobbs commented on CASSANDRA-7390:
----------------------------------------

bq. it looks like we can have a race where we hit the PendingRangeCalculatorService for an update while another one is already running, drop the new update() request with the expectation that it'll be caught by the PendingRangeTask that's in-flight

The current code should actually be fine there.  It's using a single executor thread _and_ a queue of length one, so if an operation is already in flight, we will still queue up one more.  We just don't bother to queue more than one.  The 7390_conservative patch breaks that by not queuing a task if one is already in flight.

The rest of that patch and the 7390_lockpendingcalc patch look good to me.  I think you're correct about contention not being an issue in realistic scenarios.

> MoveTest fails intermittently
> -----------------------------
>
>                 Key: CASSANDRA-7390
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7390
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Joshua McKenzie
>            Assignee: Joshua McKenzie
>            Priority: Minor
>             Fix For: 3.0
>
>         Attachments: 7390_conservative_v1.txt, 7390_conservative_v2.txt, 7390_lockpendingcalc.txt
>
>
> Reproduce with:
> for i in `seq 1 50`; do runTest MoveTest >> moveTestFailures.txt;done
> Looks to fail roughly once out of every 5 runs or so
> {code:title=failure}
> [junit] Testcase: newTestWriteEndpointsDuringMove(org.apache.cassandra.service.MoveTest):   FAILED
> [junit] mismatched number of moved token expected:<0> but was:<1>
> [junit] junit.framework.AssertionFailedError: mismatched number of moved token expected:<0> but was:<1>
> [junit]     at org.apache.cassandra.service.MoveTest.newTestWriteEndpointsDuringMove(MoveTest.java:140)
> {code}
> Edit: had this as Windows-only - turns out it's failing on on *nix as well



--
This message was sent by Atlassian JIRA
(v6.2#6252)