hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Enis Soztutar (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17465) [C++] implement request retry mechanism over RPC
Date Fri, 03 Mar 2017 23:46:45 GMT

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

Enis Soztutar commented on HBASE-17465:
---------------------------------------

bq. I've filed two tickets as follow up work. 
Thanks, makes sense. 

- Can you run bin/format-code.sh 
- And {{make lint}} to address the major lint comments in the new code. 
- Remove {{hconstants.h}} and {{.cc}}. We can put the definitions in {{connection-util.h}}
or something. 
- Maybe move this logging to be a VLOG? 
{code}
LOG(INFO) << "host=" + sn.host_name() + ", port=" + folly::to<std::string>(sn.port());
{code}
- You can remove this line: 
{code}
// return location_cache_->LocateRegion(*table_name_, row).get(milliseconds(1000));
{code} 
Maybe use one of the operation timeouts or rpc timeouts if available. 
- We are not using PB's Service stubs anymore, right? So this may not be needed: 
{code}
hbase-native-client/if/Client.proto
{code}
Also maybe we should remove the RpcChannelImpl. Can be done as a follow up. 
- Remove commented out code: 
{code}
 // folly::Future<hbase::Result> Get(const hbase::Get&);
{code}
- We do not really need {{RpcControllerFactory}}. You are mocking it, or getting it via the
Connection, but we might as well, just hard code HBaseRpcController. 
- Are we using the RpcController now with PB stubs gone? Do you think that it is useful for
later? We can purge it otherwise. 
- Do we need {{template typename RPC_CLIENT}}. I think it is always RpcClient even in the
mocks. Maybe you added that because we may want to be able to mock the whole RPC layer later?
Not a big issue if we leave it there. 

 

> [C++] implement request retry mechanism over RPC
> ------------------------------------------------
>
>                 Key: HBASE-17465
>                 URL: https://issues.apache.org/jira/browse/HBASE-17465
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Xiaobing Zhou
>            Assignee: Xiaobing Zhou
>         Attachments: HBASE-17465-HBASE-14850.000.patch, HBASE-17465-HBASE-14850.001.patch,
HBASE-17465-HBASE-14850.002.patch, HBASE-17465-HBASE-14850.003.patch, HBASE-17465-HBASE-14850.004.patch,
HBASE-17465-HBASE-14850.005.patch, HBASE-17465-HBASE-14850.006.patch, HBASE-17465-HBASE-14850.007.patch,
HBASE-17465-HBASE-14850.008.patch, HBASE-17465-HBASE-14850.009.patch, HBASE-17465-HBASE-14850.010.patch
>
>
> HBASE-17051 implemented RPC layer. Requests retries will make system reliable. This JIRA
proposes adding it, which corresponds to similar implementation in  SingleRequestCallerBuilder
(or BatchCallerBuilder, ScanSingleRegionCallerBuilder, SmallScanCallerBuilder, etc.) and AsyncSingleRequestRpcRetryingCaller.
As a bonus, retry should be more generic, decoupled with HRegionLocation.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message