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

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

Thanks Sudeep. 

- Remove this: 
+  std::vector<std::shared_ptr<hbase::Result>> GetTest(
- Table::Get() should not be taking shared_ptr's of Gets: 
{code}
+  std::vector<std::shared_ptr<hbase::Result>> Get(
+      const std::vector<std::shared_ptr<hbase::Get>> &gets);
{code}
Instead the signature should be something like: 
{code}
+  std::vector<std::shared_ptr<hbase::Result>> Get(
+      const std::vector<hbase::Get> &gets);
{code}

- Undo this change: 
{code}
-      LOG(INFO) << result->DebugString();
+      ;  // LOG(INFO) << result->DebugString();
{code} 

- Your use of {{Future<MultiResult>}} which is 
{{std::unique_ptr<std::vector<Future<std::shared_ptr<Result>>>}} is not 
correct. 
{code}
+Future<MultiResult> AsyncBatchRpcRetryingCaller::Call() {
{code}
First, the vector of Futures from the vector of promises, should really be 
filled in the constructor or something. Further there is no place that you 
explicitly fill in the {{action2promises_}} map, which gets filled only when 
OnComplete() or OnError() gets called asynchronously. However, the Futures that 
you are trying to create will be obtained from an empty map, because by the 
time Call() is called, none of the RPC's are guaranteed to be sent. Not sure 
how this even works right now. 
Second, you do not need to return a Future of Futures. If you notice, in Call() 
you are just creating a Promise, and immediately filling it, which is 
completely unnecessary. You should instead return a vector of 
Future<shared_ptr<Result>> references from Caller::Call(), and 
RawAsyncTable::Batch, etc. 




> [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.v10.patch, 
> HBASE-17576.HBASE-14850.v1.patch, HBASE-17576.HBASE-14850.v2.patch, 
> HBASE-17576.HBASE-14850.v3.patch, HBASE-17576.HBASE-14850.v4.patch, 
> HBASE-17576.HBASE-14850.v5.patch, HBASE-17576.HBASE-14850.v6.patch, 
> HBASE-17576.HBASE-14850.v7.patch, HBASE-17576.HBASE-14850.v8.patch, 
> HBASE-17576.HBASE-14850.v9.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)

Reply via email to