[
https://issues.apache.org/jira/browse/HBASE-15746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sean Busbey updated HBASE-15746:
--------------------------------
Fix Version/s: (was: 1.2.3)
1.2.2
> 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)