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

Hudson commented on HBASE-15691:
--------------------------------

SUCCESS: Integrated in Jenkins build HBase-1.2-JDK8 #152 (See 
[https://builds.apache.org/job/HBase-1.2-JDK8/152/])
HBASE-15691 ConcurrentModificationException in BucketAllocator (syuanjiangdev: 
rev 1b15b7825bb390a59dd57527efd4d013c753de5a)
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java
* (edit) 
hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java


> Port HBASE-10205 (ConcurrentModificationException in BucketAllocator) to 
> branch-1
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-15691
>                 URL: https://issues.apache.org/jira/browse/HBASE-15691
>             Project: HBase
>          Issue Type: Sub-task
>    Affects Versions: 1.3.0
>            Reporter: Andrew Purtell
>            Assignee: Stephen Yuan Jiang
>             Fix For: 1.4.0, 1.3.2, 1.2.7, 1.1.12
>
>         Attachments: HBASE-15691-branch-1.patch, 
> HBASE-15691.v2-branch-1.patch, HBASE-15691.v3-branch-1.patch
>
>
> HBASE-10205 solves the following problem:
> "
> 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.
> "
> However, for some unknown reason, HBASE-10205 was only committed to master 
> (2.0 and beyond) and 0.98 branches only. To preserve continuity we should 
> commit it to branch-1.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to