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