cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tyler Hobbs (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-7390) MoveTest fails intermittently
Date Tue, 08 Jul 2014 16:50:04 GMT

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

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

The v3 patch still has a bit of a race condition:

{code}
   if (updateJobs.get() < 2)
   {
       updateJobs.incrementAndGet();
       executor.submit(new PendingRangeTask());
   }
{code}

The increment and check need to happen atomically instead of in two separate calls.  For example,
you could do:

{code}
   if (updateJobs.incrementAndGet() <= 2)
       executor.submit(new PendingRangeTask());
   else
       updateJobs.decrementAndGet();
{code}

Either that, or you could always increment and submit a task regardless of the current count
and use the rejected execution handler to decrement the count.

> 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,
7390_v3_full.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)

Mime
View raw message