Return-Path: X-Original-To: apmail-hbase-dev-archive@www.apache.org Delivered-To: apmail-hbase-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id CF68F103E6 for ; Thu, 19 Dec 2013 02:56:09 +0000 (UTC) Received: (qmail 46129 invoked by uid 500); 19 Dec 2013 02:56:08 -0000 Delivered-To: apmail-hbase-dev-archive@hbase.apache.org Received: (qmail 46044 invoked by uid 500); 19 Dec 2013 02:56:08 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 45952 invoked by uid 99); 19 Dec 2013 02:56:08 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Dec 2013 02:56:08 +0000 Date: Thu, 19 Dec 2013 02:56:08 +0000 (UTC) From: "Arjen Roodselaar (JIRA)" To: dev@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (HBASE-10205) ConcurrentModificationException in BucketAllocator MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 Arjen Roodselaar created HBASE-10205: ---------------------------------------- Summary: ConcurrentModificationException in BucketAllocator Key: HBASE-10205 URL: https://issues.apache.org/jira/browse/HBASE-10205 Project: HBase Issue Type: Bug Affects Versions: 0.89-fb Reporter: Arjen Roodselaar Assignee: Arjen Roodselaar Priority: Minor Fix For: 0.89-fb The BucketCache WriterThread calls BucketCache.freeSpace() upon draining the RAM queue containing entries to be cached. freeSpace() in turn calls BucketSizeInfo.statistics() through BucketAllocator.getIndexStatistics(), which iterates 'bucketList'. At the same time another WriterThread might call BucketAllocator.allocateBlock(), which may call BucketSizeInfo.allocate() and add a bucket to 'bucketList' and consequently cause a ConcurrentModificationException. Calls to BucketAllocator.allocateBlock() are synchronized, but calls to BucketAllocator.getIndexStatistics() are not, which allows this race to occur. -- This message was sent by Atlassian JIRA (v6.1.4#6159)