hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-14968) ConcurrentModificationException in region close resulting in the region staying in closing state
Date Tue, 15 Dec 2015 19:52:46 GMT

     [ https://issues.apache.org/jira/browse/HBASE-14968?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Enis Soztutar updated HBASE-14968:
----------------------------------
       Resolution: Fixed
     Hadoop Flags: Reviewed
    Fix Version/s: 1.0.4
                   1.1.4
           Status: Resolved  (was: Patch Available)

Thanks Stack for looking. I've pushe to 1.0+. 
bq. You want to synchronize the coprocessorHosts in the load method too?
I think this is not needed since coprocessorNames is already wrapped in {{Collections.synchronizedSet()}}.
Only for iterating over the elements of a synchronized collection, we need the {{synchronized}}
block. 

> ConcurrentModificationException in region close resulting in the region staying in closing
state
> ------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-14968
>                 URL: https://issues.apache.org/jira/browse/HBASE-14968
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>             Fix For: 2.0.0, 1.2.0, 1.3.0, 1.1.4, 1.0.4
>
>         Attachments: hbase-14968_v1.patch
>
>
> We have seen this in our tests. The region gets closed, but the region close handler
gets an unexpected exception causing the region to stay in closing state until RS is restarted.

> The Phoenix and security coprocessors were loaded in that region. Here is the stack trace:

> {code}
> 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.coprocessor.CoprocessorHost$Environment.shutdown(CoprocessorHost.java:442)
> 	at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$RegionEnvironment.shutdown(RegionCoprocessorHost.java:155)
> 	at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.shutdown(CoprocessorHost.java:272)
> 	at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$5.postEnvCall(RegionCoprocessorHost.java:496)
> 	at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.execOperation(RegionCoprocessorHost.java:1761)
> 	at org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.postClose(RegionCoprocessorHost.java:489)
> 	at org.apache.hadoop.hbase.regionserver.HRegion.doClose(HRegion.java:1502)
> 	at org.apache.hadoop.hbase.regionserver.HRegion.close(HRegion.java:1349)
> 	at org.apache.hadoop.hbase.regionserver.handler.CloseRegionHandler.process(CloseRegionHandler.java:138)
> 	at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:128)
> 	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)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message