Return-Path: X-Original-To: apmail-cassandra-commits-archive@www.apache.org Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BD7FD1165F for ; Tue, 1 Jul 2014 16:32:29 +0000 (UTC) Received: (qmail 6346 invoked by uid 500); 1 Jul 2014 16:32:24 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 6307 invoked by uid 500); 1 Jul 2014 16:32:24 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 6296 invoked by uid 99); 1 Jul 2014 16:32:24 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Jul 2014 16:32:24 +0000 Date: Tue, 1 Jul 2014 16:32:24 +0000 (UTC) From: "Tyler Hobbs (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (CASSANDRA-7390) MoveTest fails intermittently MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ 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)