Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 5A7E0200B4C for ; Fri, 22 Jul 2016 23:20:23 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 58EE5160A5A; Fri, 22 Jul 2016 21:20:23 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 9FF36160A8F for ; Fri, 22 Jul 2016 23:20:22 +0200 (CEST) Received: (qmail 5791 invoked by uid 500); 22 Jul 2016 21:20:21 -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 5471 invoked by uid 99); 22 Jul 2016 21:20:21 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 22 Jul 2016 21:20:21 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 0E6CF2C0E56 for ; Fri, 22 Jul 2016 21:20:21 +0000 (UTC) Date: Fri, 22 Jul 2016 21:20:21 +0000 (UTC) From: "Eric Evans (JIRA)" To: commits@cassandra.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (CASSANDRA-12281) Gossip blocks on startup when another node is bootstrapping MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Fri, 22 Jul 2016 21:20:23 -0000 Eric Evans created CASSANDRA-12281: -------------------------------------- Summary: Gossip blocks on startup when another node is bootstrapping Key: CASSANDRA-12281 URL: https://issues.apache.org/jira/browse/CASSANDRA-12281 Project: Cassandra Issue Type: Bug Components: Core Reporter: Eric Evans Priority: Minor Attachments: restbase1015-a_jstack.txt In our cluster, normal node startup times (after a drain on shutdown) are less than 1 minute. However, when another node in the cluster is bootstrapping, the same node startup takes nearly 30 minutes to complete, the apparent result of gossip blocking on pending range calculations. {noformat} $ nodetool-a tpstats Pool Name Active Pending Completed Blocked All time blocked MutationStage 0 0 1840 0 0 ReadStage 0 0 2350 0 0 RequestResponseStage 0 0 53 0 0 ReadRepairStage 0 0 1 0 0 CounterMutationStage 0 0 0 0 0 HintedHandoff 0 0 44 0 0 MiscStage 0 0 0 0 0 CompactionExecutor 3 3 395 0 0 MemtableReclaimMemory 0 0 30 0 0 PendingRangeCalculator 1 2 29 0 0 GossipStage 1 5602 164 0 0 MigrationStage 0 0 0 0 0 MemtablePostFlush 0 0 111 0 0 ValidationExecutor 0 0 0 0 0 Sampler 0 0 0 0 0 MemtableFlushWriter 0 0 30 0 0 InternalResponseStage 0 0 0 0 0 AntiEntropyStage 0 0 0 0 0 CacheCleanupExecutor 0 0 0 0 0 Message type Dropped READ 0 RANGE_SLICE 0 _TRACE 0 MUTATION 0 COUNTER_MUTATION 0 REQUEST_RESPONSE 0 PAGED_RANGE 0 READ_REPAIR 0 {noformat} A full thread dump is attached, but the relevant bit seems to be here: {noformat} [ ... ] "GossipStage:1" #1801 daemon prio=5 os_prio=0 tid=0x00007fe4cd54b000 nid=0xea9 waiting on condition [0x00007fddcf883000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000004c1e922c0> (a java.util.concurrent.locks.ReentrantReadWriteLock$FairSync) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:870) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1199) at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:943) at org.apache.cassandra.locator.TokenMetadata.updateNormalTokens(TokenMetadata.java:174) at org.apache.cassandra.locator.TokenMetadata.updateNormalTokens(TokenMetadata.java:160) at org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:2023) at org.apache.cassandra.service.StorageService.onChange(StorageService.java:1682) at org.apache.cassandra.gms.Gossiper.doOnChangeNotifications(Gossiper.java:1182) at org.apache.cassandra.gms.Gossiper.applyNewStates(Gossiper.java:1165) at org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:1128) at org.apache.cassandra.gms.GossipDigestAckVerbHandler.doVerb(GossipDigestAckVerbHandler.java:58) at org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:67) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) [ ... ] {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)