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