[ https://issues.apache.org/jira/browse/HBASE-15746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephen Yuan Jiang updated HBASE-15746: --------------------------------------- Resolution: Fixed Fix Version/s: 1.2.2 1.4.0 1.0.4 1.3.0 2.0.0 Status: Resolved (was: Patch Available) > Remove extra RegionCoprocessor preClose() in RSRpcServices#closeRegion > ---------------------------------------------------------------------- > > 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 > Assignee: Stephen Yuan Jiang > Priority: Minor > Fix For: 2.0.0, 1.3.0, 1.0.4, 1.4.0, 1.2.2 > > Attachments: HBASE-15746.v1-master.patch > > > 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)