[ https://issues.apache.org/jira/browse/HBASE-12891?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14379421#comment-14379421 ]
Stephen Yuan Jiang commented on HBASE-12891: -------------------------------------------- The TableInfo.regionsFromMeta is a ArrayList that cannot be traversed thread-safe concurrently. Using CopyOnWriteArrayList is not perf-effective, as the checkRegionConsistency() populates and sorts the TableInfo.regionsFromMeta. The attached V2 patch tries to use Collections.synchronizedList() method for synchronizing the TableInfo.regionsFromMeta ArrayList. > Parallel execution for Hbck checkRegionConsistency > -------------------------------------------------- > > Key: HBASE-12891 > URL: https://issues.apache.org/jira/browse/HBASE-12891 > Project: HBase > Issue Type: Improvement > Components: hbck > Affects Versions: 2.0.0, 0.98.10, 1.1.0 > Reporter: churro morales > Assignee: churro morales > Labels: performance, scalability > Fix For: 2.0.0, 1.1.0, 0.98.13 > > Attachments: HBASE-12891-v1.patch, HBASE-12891.98.patch, > HBASE-12891.patch, HBASE-12891.patch, HBASE-12891.v2-master.patch, > hbase-12891-addendum1.patch > > > We have a lot of regions on our cluster ~500k and noticed that hbck took > quite some time in checkAndFixConsistency(). [~davelatham] patched our > cluster to do this check in parallel to speed things up. I'll attach the > patch. -- This message was sent by Atlassian JIRA (v6.3.4#6332)