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-17576) [C++] Implement request retry mechanism over RPC for Multi calls.
Date Wed, 15 Feb 2017 02:30:41 GMT

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

Enis Soztutar commented on HBASE-17576:
---------------------------------------

Thanks Sudeep for the patches. 
In v2 patch, you don't have row.h, and in v3 action.h. But I think I can follow those for
now, no big deal. 
 - Row class should implement the virtual {{Row()}} default method. Then you don't need casting
here: 
{code}
+      if (const auto &pget = std::dynamic_pointer_cast<Get>(action->GetAction()))
{
+        row = pget->Row();
+      }
{code}
Also multi-Puts will also use this multi-call path. 
- {{HRegionInfo / HRegionLocation}} -> we have been using the region-location.cc and {{pb::RegionInfo}}
for this. Are they not enough? If needed we can do the wrappers on top of the pb::RegionInfo
/ ServerName, etc but please we have to merge these with existing stuff. 
- AbstractResponse -> Not sure why we need this. Multi request always returns multi response.
I think you can remove this. 
- +++ b/hbase-native-client/core/async-rpc-retrying-batch-caller-factory.h -> This should
instead go to the async-rpc-retrying-caller-factory.cc coming in HBASE-17465. Instead of the
Builder having a reference to the factory, it should be that Factory creates and returns a
Builder in {{Batch()}} method, and the Builder then builds the {{AsyncRpcRetryingBatchCaller}}.
Also {{Call()}} method should look like: 
{code}
+            folly::Future<RESP> Call()
+            {
+              return Build()->Call();
+            }
{code}
You can take a look at HBASE-17465, and put the BatchCallerBuilder inside the async-rpc-retrying-caller-factory.
and return that builder in Batch() call. The factory will have Single() and Batch() methods
to construct the builders. 

To be continued. 


> [C++] Implement request retry mechanism over RPC for Multi calls.
> -----------------------------------------------------------------
>
>                 Key: HBASE-17576
>                 URL: https://issues.apache.org/jira/browse/HBASE-17576
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Sudeep Sunthankar
>            Assignee: Sudeep Sunthankar
>         Attachments: HBASE-17576.HBASE-14850.v1.patch, HBASE-17576.HBASE-14850.v2.patch,
HBASE-17576.HBASE-14850.v3.patch
>
>
> This work is based on top of HBASE-17465. Multi Calls will be based on this.



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

Mime
View raw message