[ https://issues.apache.org/jira/browse/HBASE-17754?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15926857#comment-15926857 ]
Xiaobing Zhou commented on HBASE-17754: --------------------------------------- Thanks for the new patch. # We should keep the unit test. client-test is like system test. # I was referring this {noformat} std::pair<std::shared_ptr<AsyncSingleRequestRpcRetryingCaller<std::shared_ptr<Result>>>, Future<std::shared_ptr<Result>>> Get(const hbase::Get& get); {noformat} Why do we need the std::pair? Can we simplify this? # This is the sequence of call {noformat} template <typename RESP> std::shared_ptr<SingleRequestCallerBuilder<RESP>> RawAsyncTable::CreateCallerBuilder {noformat} returns builder, and builder->build() returns AsyncSingleRequestRpcRetryingCaller<RESP>, then AsyncSingleRequestRpcRetryingCaller<RESP>.call() returns RESP which is the hbase::Result. {noformat} # you may need to do cast like this, std::shared_ptr itself is agnostic of polymorphism of the enclosed type. 115 std::shared_ptr<RpcChannel> RpcClient::CreateRpcChannel(const std::string &host, 116 uint16_t port, std::shared_ptr<User> ticket, int rpc_timeout) { 117 118 std::shared_ptr<RpcChannelImplementation> channel = std::make_shared< 119 RpcChannelImplementation>(shared_from_this(), host, port, ticket, 120 rpc_timeout); 121 122 /* static_pointer_cast is safe since RpcChannelImplementation derives 123 * from RpcChannel, otherwise, dynamic_pointer_cast should be used. */ 124 return std::static_pointer_cast<RpcChannel>(channel); 125 } Otherwise, v2 looks fine. > [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 (v6.3.15#6346)