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

Reply via email to