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-15691) Port HBASE-10205 (ConcurrentModificationException in BucketAllocator) to branch-1
Date Thu, 22 Jun 2017 04:59:00 GMT

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

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

SUCCESS: Integrated in Jenkins build HBase-1.3-JDK8 #201 (See [https://builds.apache.org/job/HBase-1.3-JDK8/201/])
HBASE-15691 ConcurrentModificationException in BucketAllocator (syuanjiangdev: rev 8653245e7d20610c616f114cc4eac30f8a8bcb48)
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java
* (edit) hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.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)

Mime
View raw message