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-17754) [C++] RawAsyncTable
Date Thu, 16 Mar 2017 03:55:42 GMT

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

Enis Soztutar commented on HBASE-17754:

bq. We should keep the unit test. client-test is like system test.
The test is back in v3. Some changes were needed to remove some unneeded mocking. The MockAsyncConnection
turned out to be causing problems with the linker when extending the base interface, so I've
ended up extending AsyncConncetionImpl instead. 
bq. Why do we need the std::pair? Can we simplify this?
Ok, sorry for the confusion. I had added that as a quick way to test the theory that the Caller
goes out of scope, so the Promise object that the Caller owns is deallocated. This causes
the "broken promise" result that we were debugging earlier. Turns out that the theory is right
that since we are capturing by {{[&,this]}} in almost all of the lambda in the Caller
implementation, the Caller object should not be deallocated before all of the lamdbas are
executed. Now, when RawAsyncTable creates the caller object, and returns the Future, we are
still injecting the Caller into the Future so that we will keep a reference around. 
For 3 and 4, offline conversation, the patch seems correct. 

> [C++] RawAsyncTable
> -------------------
>                 Key: HBASE-17754
>                 URL: https://issues.apache.org/jira/browse/HBASE-17754
>             Project: HBase
>          Issue Type: Sub-task
>            Reporter: Enis Soztutar
>            Assignee: Enis Soztutar
>         Attachments: hbase-17754_v0.patch, hbase-17754_v1.patch, hbase-17754-v2.patch,
> We need RawAsyncTable to connect {{table.h}} to the async retrying callers. 

This message was sent by Atlassian JIRA

View raw message