You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Andrew Kyle Purtell (Jira)" <ji...@apache.org> on 2022/04/30 02:00:00 UTC
[jira] [Updated] (HBASE-26862) Fix CME when closing region
[ https://issues.apache.org/jira/browse/HBASE-26862?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Kyle Purtell updated HBASE-26862:
----------------------------------------
Fix Version/s: 2.4.13
(was: 2.4.12)
> Fix CME when closing region
> ---------------------------
>
> Key: HBASE-26862
> URL: https://issues.apache.org/jira/browse/HBASE-26862
> Project: HBase
> Issue Type: Bug
> Components: regionserver, Scanners
> Affects Versions: 2.4.11
> Reporter: Xiaolin Ha
> Assignee: Xiaolin Ha
> Priority: Minor
> Fix For: 2.5.0, 2.6.0, 3.0.0-alpha-3, 2.4.13
>
>
> KeyValueHeap.scannersForDelayedClose is not thread safe, CME might occurs when closing a scanning region, who is adding scanners to the delayed close list.
> {code:java}
> 2022-03-18 17:24:17,435 INFO [regionserver/hostname/ip:16020-splits-0] regionserver.SplitRequest: Running rollback/cleanup of failed split of hmart-waimaiups_poi_bitmap_theme_pool,,1645769651132.56363df04da85752aa67669989de19fd.; java.util.ConcurrentModificationException
> java.io.IOException: java.util.ConcurrentModificationException
> at org.apache.hadoop.hbase.regionserver.HRegion.doClose(HRegion.java:1767)
> at org.apache.hadoop.hbase.regionserver.HRegion.close(HRegion.java:1593)
> at org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.stepsBeforePONR(SplitTransactionImpl.java:394)
> at org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.createDaughters(SplitTransactionImpl.java:276)
> at org.apache.hadoop.hbase.regionserver.SplitTransactionImpl.execute(SplitTransactionImpl.java:567)
> at org.apache.hadoop.hbase.regionserver.SplitRequest.doSplitting(SplitRequest.java:82)
> at org.apache.hadoop.hbase.regionserver.SplitRequest.run(SplitRequest.java:156)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: java.util.ConcurrentModificationException
> at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:901)
> at java.util.ArrayList$Itr.next(ArrayList.java:851)
> at org.apache.hadoop.hbase.regionserver.KeyValueHeap.close(KeyValueHeap.java:221)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.close(StoreScanner.java:548)
> at org.apache.hadoop.hbase.regionserver.StoreScanner.close(StoreScanner.java:520)
> at org.apache.hadoop.hbase.regionserver.HStore.closeChangedReadersObservers(HStore.java:1296)
> at org.apache.hadoop.hbase.regionserver.HStore.close(HStore.java:1001)
> at org.apache.hadoop.hbase.regionserver.HStore.close(HStore.java:131)
> at org.apache.hadoop.hbase.regionserver.HRegion$2.call(HRegion.java:1745)
> at org.apache.hadoop.hbase.regionserver.HRegion$2.call(HRegion.java:1741)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> ... 3 more {code}
--
This message was sent by Atlassian Jira
(v8.20.7#820007)