[jira] [Created] (HBASE-18578) [C++] Add pause for RPC test

2017-08-11 Thread Xiaobing Zhou (JIRA)
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

2017-08-11 Thread Xiaobing Zhou (JIRA)
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

2017-08-11 Thread Xiaobing Zhou (JIRA)
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++]

2017-08-07 Thread Xiaobing Zhou (JIRA)
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

2017-08-07 Thread Xiaobing Zhou (JIRA)
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

2017-08-07 Thread Xiaobing Zhou (JIRA)
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

2017-07-27 Thread Xiaobing Zhou (JIRA)
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"

2017-07-18 Thread Xiaobing Zhou (JIRA)
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

2017-07-17 Thread Xiaobing Zhou (JIRA)
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

2017-07-07 Thread Xiaobing Zhou (JIRA)
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

2017-05-19 Thread Xiaobing Zhou (JIRA)
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

2017-05-19 Thread Xiaobing Zhou (JIRA)
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

2017-05-18 Thread Xiaobing Zhou (JIRA)
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

2017-03-17 Thread Xiaobing Zhou (JIRA)
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

2017-03-03 Thread Xiaobing Zhou (JIRA)
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_converter,
  const hbase::RpcCall& rpc_call,
  const RespConverter& 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

2017-03-03 Thread Xiaobing Zhou (JIRA)
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

2017-01-13 Thread Xiaobing Zhou (JIRA)
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

2016-11-08 Thread Xiaobing Zhou (JIRA)
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

2016-09-30 Thread Xiaobing Zhou (JIRA)
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)