[ 
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)

Reply via email to