hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-10205) ConcurrentModificationException in BucketAllocator
Date Thu, 07 Aug 2014 01:29:13 GMT

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

Hudson commented on HBASE-10205:
--------------------------------

SUCCESS: Integrated in HBase-0.98 #440 (See [https://builds.apache.org/job/HBase-0.98/440/])
HBASE-10205 ConcurrentModificationException in BucketAllocator (Arjen Roodselaar and Chunhui
Shen) (stack: rev 2c55970ed3de5dac551d8eaa5e2914c18d814962)
* hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java
* hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java


> ConcurrentModificationException in BucketAllocator
> --------------------------------------------------
>
>                 Key: HBASE-10205
>                 URL: https://issues.apache.org/jira/browse/HBASE-10205
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 0.89-fb
>            Reporter: Arjen Roodselaar
>            Assignee: Arjen Roodselaar
>            Priority: Minor
>             Fix For: 0.89-fb, 0.99.0, 2.0.0, 0.98.6
>
>         Attachments: hbase-10205-trunk.patch
>
>
> 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 over 'bucketList'. At the same time another
WriterThread might call BucketAllocator.allocateBlock(), which may call BucketSizeInfo.allocateBlock(),
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.2#6252)

Mime
View raw message