hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zhihong Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-5877) When a query fails because the region has moved, let the regionserver return the new address to the client
Date Thu, 03 May 2012 21:48:48 GMT

    [ https://issues.apache.org/jira/browse/HBASE-5877?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13267841#comment-13267841

Zhihong Yu commented on HBASE-5877:

+        HRegionLocation newHrl = new HRegionLocation(hrl.getRegionInfo(), hostname, port);
+        if (newHrl == null ){
+          // Should not happened. Just in case.
Under what condition would newHrl be null above ?
Please remove the space between newHrl and ')' below:
+        cacheLocation(hrl.getRegionInfo().getTableName(), newHrl  );
For updateCachedLocations():
+        hrl : getCachedLocation(tableName, row.getRow()));
Would the above code result in NPE since I see the following in javadoc:
+     * @param row  - can be null if hrl is not null.

More review comments to follow.
> When a query fails because the region has moved, let the regionserver return the new
address to the client
> ----------------------------------------------------------------------------------------------------------
>                 Key: HBASE-5877
>                 URL: https://issues.apache.org/jira/browse/HBASE-5877
>             Project: HBase
>          Issue Type: Improvement
>          Components: client, master, regionserver
>    Affects Versions: 0.96.0
>            Reporter: nkeywal
>            Assignee: nkeywal
>            Priority: Minor
>             Fix For: 0.96.0
>         Attachments: 5877.v1.patch, 5877.v12.patch, 5877.v6.patch
> This is mainly useful when we do a rolling restart. This will decrease the load on the
master and the network load.
> Note that a region is not immediately opened after a close. So:
> - it seems preferable to wait before retrying on the other server. An optimisation would
be to have an heuristic depending on when the region was closed.
> - during a rolling restart, the server moves the regions then stops. So we may have failures
when the server is stopped, and this patch won't help.
> The implementation in the first patch does:
> - on the region move, there is an added parameter on the regionserver#close to say where
we are sending the region
> - the regionserver keeps a list of what was moved. Each entry is kept 100 seconds.
> - the regionserver sends a specific exception when it receives a query on a moved region.
This exception contains the new address.
> - the client analyses the exeptions and update its cache accordingly...

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message