You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Arjen Roodselaar (JIRA)" <ji...@apache.org> on 2013/12/19 03:56:08 UTC

[jira] [Created] (HBASE-10205) ConcurrentModificationException in BucketAllocator

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)