hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sudeep Sunthankar (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-17576) [C++] Implement request retry mechanism over RPC for Multi calls.
Date Fri, 05 May 2017 07:38:04 GMT

     [ https://issues.apache.org/jira/browse/HBASE-17576?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Sudeep Sunthankar updated HBASE-17576:
--------------------------------------
    Attachment: HBASE-17576.HBASE-14850.v11.patch

Hi [~enis], Thanks for your feedback. The attached patch consists of the foll changes    

* As suggested, I removed the get() while getting region location and making an async call
as it was not asynchronous. But, on dong this the functions were returning instantly and the
lambdas were not satisfied. I suspect, the duration in operation_timeout() in table.cc is
not large enough and the call to get() doesn't wait long enough.. To test this, I turned on
the glog logging, and due to the time taken for file i/o, the lambdas had some time to execute,
but it was still not big enough. So before inserting the lambdas, I'm calling folly::Future::wait()
and this ensures that the lambdas are executed. But, I'm still skeptical whether this is the
correct thing to do as we are waiting for some 'x' amount of time in ms before the callbacks
are executed. Need your further guidance on that part.
* RawAsyncTable::Get() for multi requests now returns a Future<vector<std::shared_ptr<Result>>>.
* action2promises_ in async-batch-rpc-retrying-caller.cc creates promises during construction
and when AsyncBatchRpcRetryingCaller::Call() returns, we return those promises as a vector
of futures.
* There was a regression in last couple of patches where ActionsByServer was changed to std::map
from std::unordered_map. Have fixed that as well in this patch.

Thanks

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

Mime
View raw message