hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen Yuan Jiang (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-15746) Remove extra RegionCoprocessor preClose() in RSRpcServices#closeRegion
Date Tue, 14 Jun 2016 20:34:30 GMT

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

Stephen Yuan Jiang updated HBASE-15746:
---------------------------------------
    Attachment: HBASE-15746.v1-master.patch

> 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
>         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)

Mime
View raw message