[jira] [Created] (HBASE-18578) [C++] Add pause for RPC test
Xiaobing Zhou created HBASE-18578: - Summary: [C++] Add pause for RPC test Key: HBASE-18578 URL: https://issues.apache.org/jira/browse/HBASE-18578 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (HBASE-18576) [C++] Add ping for RPC test
Xiaobing Zhou created HBASE-18576: - Summary: [C++] Add ping for RPC test Key: HBASE-18576 URL: https://issues.apache.org/jira/browse/HBASE-18576 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (HBASE-18574) [C++] flakey test failure of AsyncRpcRetryTest::TestFailWithException
Xiaobing Zhou created HBASE-18574: - Summary: [C++] flakey test failure of AsyncRpcRetryTest::TestFailWithException Key: HBASE-18574 URL: https://issues.apache.org/jira/browse/HBASE-18574 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (HBASE-18536) [C++]
Xiaobing Zhou created HBASE-18536: - Summary: [C++] Key: HBASE-18536 URL: https://issues.apache.org/jira/browse/HBASE-18536 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (HBASE-18535) [C++] make RPC test mode transparent to initialization of RpcPipeline
Xiaobing Zhou created HBASE-18535: - Summary: [C++] make RPC test mode transparent to initialization of RpcPipeline Key: HBASE-18535 URL: https://issues.apache.org/jira/browse/HBASE-18535 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (HBASE-18534) [C++] Support timeout in Rpc
Xiaobing Zhou created HBASE-18534: - Summary: [C++] Support timeout in Rpc Key: HBASE-18534 URL: https://issues.apache.org/jira/browse/HBASE-18534 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (HBASE-18466) [C++] Support handling exception in RpcTestServer
Xiaobing Zhou created HBASE-18466: - Summary: [C++] Support handling exception in RpcTestServer Key: HBASE-18466 URL: https://issues.apache.org/jira/browse/HBASE-18466 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou In order simulate various error from servers, exceptions should be handled properly. The idea is to zip exception into hbase::Response in RpcTestService, and Serialize response to folly::IOBuf and write it down the pipeline. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (HBASE-18407) [C++] Configuration::SetBool should convert bool value to "true" or "false"
Xiaobing Zhou created HBASE-18407: - Summary: [C++] Configuration::SetBool should convert bool value to "true" or "false" Key: HBASE-18407 URL: https://issues.apache.org/jira/browse/HBASE-18407 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou Configuration::SetBool internally converts true/false to 1/0 using boost::lexical_cast(value), this results in runtime exception with 'Unexpected value found while conversion to bool.' in Configuration::GetBool since it only recognizes "true" or "false" as string representation of true or false. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (HBASE-18400) [C++] ConnectionId Equals/Hash should consider service_name
Xiaobing Zhou created HBASE-18400: - Summary: [C++] ConnectionId Equals/Hash should consider service_name Key: HBASE-18400 URL: https://issues.apache.org/jira/browse/HBASE-18400 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou Currently only security::User, host and port are taken into account in the implementation of ConnectionIdEquals and ConnectionIdHash. It makes sense to allocate dedicated RPC connection for a specific service, so service_name should be added to implementation; -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (HBASE-18338) [C++] Implement RpcTestServer
Xiaobing Zhou created HBASE-18338: - Summary: [C++] Implement RpcTestServer Key: HBASE-18338 URL: https://issues.apache.org/jira/browse/HBASE-18338 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Created] (HBASE-18080) [C++] Use millisecond for various timeout settings
Xiaobing Zhou created HBASE-18080: - Summary: [C++] Use millisecond for various timeout settings Key: HBASE-18080 URL: https://issues.apache.org/jira/browse/HBASE-18080 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou In configuration, millisecond is the default unit, however, many places are using nanosecond, frequent milli-to-nano conversions are making code verbose. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (HBASE-18079) [C++] Optimize ClientBootstrap in ConnectionPool
Xiaobing Zhou created HBASE-18079: - Summary: [C++] Optimize ClientBootstrap in ConnectionPool Key: HBASE-18079 URL: https://issues.apache.org/jira/browse/HBASE-18079 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou ConnectionPool creates an instance of wangle::ClientBootstrap for every new connection (i.e. Wangle pipeline) and cache it hereafter, it is unnecessary. Instead ConnectionPool can maintain a single ClientBootstrap instance in its members. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (HBASE-18078) [C++] implement RPC timeout
Xiaobing Zhou created HBASE-18078: - Summary: [C++] implement RPC timeout Key: HBASE-18078 URL: https://issues.apache.org/jira/browse/HBASE-18078 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou RPC layer should handle various connection abnormality (e.g. server aborted connection) through timeout. Ideally, exceptions should be raised and propagated through handlers of pipeline in client. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (HBASE-17800) [C++] handle exceptions in client RPC
Xiaobing Zhou created HBASE-17800: - Summary: [C++] handle exceptions in client RPC Key: HBASE-17800 URL: https://issues.apache.org/jira/browse/HBASE-17800 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou Exceptions are ignored in current client RPC. They should be handled properly to be consumed by RPC retry or propagated up to APIs. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (HBASE-17727) [C++] Make RespConverter work with MockRawAsyncTableImpl
Xiaobing Zhou created HBASE-17727: - Summary: [C++] Make RespConverter work with MockRawAsyncTableImpl Key: HBASE-17727 URL: https://issues.apache.org/jira/browse/HBASE-17727 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou This is a follow up work of HBASE-17465. There's a problem to dereference instance of RpcCallback when it's passed as function argument. {code} template using RespConverter = std::function; {code} {code} template folly::Future Call( std::shared_ptr rpc_client, std::shared_ptr controller, std::shared_ptr loc, const REQ& req, const ReqConverter, REQ, std::string>& req_converter, const hbase::RpcCall& rpc_call, const RespConverter, PRESP>& resp_converter) { rpc_call( rpc_client, loc, controller, std::move(req_converter(req, loc->region_name( .then([&, this](std::unique_ptr presp) { // std::unique_ptr result = resp_converter(presp); std::unique_ptr result = hbase::ResponseConverter::FromGetResponse(*presp); promise_->setValue(std::move(*result)); }) .onError([this] (const std::exception& e) {promise_->setException(e);}); return promise_->getFuture(); } {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (HBASE-17726) [C++] Move implementation from header to cc for request retry
Xiaobing Zhou created HBASE-17726: - Summary: [C++] Move implementation from header to cc for request retry Key: HBASE-17726 URL: https://issues.apache.org/jira/browse/HBASE-17726 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou This is a follow up work related to HBASE-17465. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (HBASE-17465) [C++] implement request retry mechanism over RPC
Xiaobing Zhou created HBASE-17465: - Summary: [C++] implement request retry mechanism over RPC Key: HBASE-17465 URL: https://issues.apache.org/jira/browse/HBASE-17465 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-17051) libhbase++: implement RPC connection management
Xiaobing Zhou created HBASE-17051: - Summary: libhbase++: implement RPC connection management Key: HBASE-17051 URL: https://issues.apache.org/jira/browse/HBASE-17051 Project: HBase Issue Type: Sub-task Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-16740) start-docker.sh fails to run by complaining bzip2 error
Xiaobing Zhou created HBASE-16740: - Summary: start-docker.sh fails to run by complaining bzip2 error Key: HBASE-16740 URL: https://issues.apache.org/jira/browse/HBASE-16740 Project: HBase Issue Type: Bug Reporter: Xiaobing Zhou Assignee: Xiaobing Zhou -- This message was sent by Atlassian JIRA (v6.3.4#6332)