[ https://issues.apache.org/jira/browse/HBASE-15746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matteo Bertozzi resolved HBASE-15746. ------------------------------------- Resolution: Duplicate > RegionCoprocessor preClose() called 3 times > ------------------------------------------- > > Key: HBASE-15746 > URL: https://issues.apache.org/jira/browse/HBASE-15746 > Project: HBase > Issue Type: Bug > Components: Coprocessors, regionserver > Affects Versions: 2.0.0, 1.3.0, 1.2.1, 1.1.4, 0.98.19 > Reporter: Matteo Bertozzi > Priority: Minor > > The preClose() region coprocessor call gets called 3 times via rpc. > The first one is when we receive the RPC > https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java#L1329 > The second time is when ask the RS to close the region > https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java#L2852 > The third time is when the doClose() on the region is executed. > https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java#L1419 > I'm pretty sure the first one can be removed since, there is no code between > that and the second call. and they are a copy-paste. > The second one explicitly says that is to enforce ACLs before starting the > operation, which leads me to the fact that the 3rd one in the region gets > executed too late in the process. but the region.close() may be called by > someone other than the RS, so we should probably leave the preClose() in > there (e.g. OpenRegionHandler on failure cleanup). > any idea? -- This message was sent by Atlassian JIRA (v6.3.4#6332)