[jira] [Commented] (HBASE-18578) [C++] Add pause for RPC test
[ https://issues.apache.org/jira/browse/HBASE-18578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16124247#comment-16124247 ] Xiaobing Zhou commented on HBASE-18578: --- It runs into broken promise exception, e.g. {noformat} I0811 23:05:53.956799 402 rpc-client.cc:86] RpcClient Exception: N5folly13BrokenPromiseE: Broken promise for type name `St10unique_ptrIN5hbase8ResponseESt14default_deleteIS1_EE` I0811 23:05:53.956811 402 rpc-test.cc:240] RPC pause returned: N5folly13BrokenPromiseE: Broken promise for type name `St10unique_ptrIN5hbase8ResponseESt14default_deleteIS1_EE`. {noformat} Steps to reproduce it: # buck test --no-cache --no-results-cache //connection:rpc-test # GLOG_v=3 ./buck-out/gen/connection/rpc-test > [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 > Attachments: HBASE-18578.000.patch > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18578) [C++] Add pause for RPC test
[ https://issues.apache.org/jira/browse/HBASE-18578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16124246#comment-16124246 ] Xiaobing Zhou commented on HBASE-18578: --- posted v0 patch. > [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 > Attachments: HBASE-18578.000.patch > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18578) [C++] Add pause for RPC test
[ https://issues.apache.org/jira/browse/HBASE-18578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18578: -- Attachment: HBASE-18578.000.patch > [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 > Attachments: HBASE-18578.000.patch > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18576) [C++] Add ping for RPC test
[ https://issues.apache.org/jira/browse/HBASE-18576?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18576: -- Attachment: HBASE-18576.000.patch > [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 > Attachments: HBASE-18576.000.patch > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[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] [Commented] (HBASE-18576) [C++] Add ping for RPC test
[ https://issues.apache.org/jira/browse/HBASE-18576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16124165#comment-16124165 ] Xiaobing Zhou commented on HBASE-18576: --- posted v0 for reviews. > [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 > Attachments: HBASE-18576.000.patch > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18576) [C++] Add ping for RPC test
[ https://issues.apache.org/jira/browse/HBASE-18576?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18576: -- Status: Patch Available (was: Open) > [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 > Attachments: HBASE-18576.000.patch > > -- 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] [Updated] (HBASE-18574) [C++] flakey test failure of TestFailWithException and FailWithExceptionFromRegionLocationLookupSplitRegions
[ https://issues.apache.org/jira/browse/HBASE-18574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18574: -- Description: It's been noticed TestFailWithException (i.e. in async-rpc-retrying-test.cc) and/or FailWithExceptionFromRegionLocationLookupSplitRegions(i.e. in async-batch-rpc-retrying-test.cc) fails occasionally if run in a batch or individually, e.g. {noformat} buck test --no-cache --no-results-cache --all {noformat} {noformat} buck test --no-cache --no-results-cache //core:retry-test {noformat} {noformat} buck test --no-cache --no-results-cache //core:multi-retry-test {noformat} was: It's been noticed TestFailWithException (i.e. in async-rpc-retrying-test.cc) and/or FailWithExceptionFromRegionLocationLookupSplitRegions(i.e. in async-batch-rpc-retrying-test.cc) fails occasionally if run in a batch or individually, e.g. {noformat} buck test --no-cache --no-results-cache --all {noformat} {noformat} buck test --no-cache --no-results-cache //core:retry-test {noformat} > [C++] flakey test failure of TestFailWithException and > FailWithExceptionFromRegionLocationLookupSplitRegions > > > Key: HBASE-18574 > URL: https://issues.apache.org/jira/browse/HBASE-18574 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou > > It's been noticed TestFailWithException (i.e. in async-rpc-retrying-test.cc) > and/or FailWithExceptionFromRegionLocationLookupSplitRegions(i.e. in > async-batch-rpc-retrying-test.cc) fails occasionally if run in a batch or > individually, e.g. > {noformat} > buck test --no-cache --no-results-cache --all > {noformat} > {noformat} > buck test --no-cache --no-results-cache //core:retry-test > {noformat} > {noformat} > buck test --no-cache --no-results-cache //core:multi-retry-test > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18574) [C++] flakey test failure of TestFailWithException and FailWithExceptionFromRegionLocationLookupSplitRegions
[ https://issues.apache.org/jira/browse/HBASE-18574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18574: -- Description: It's been noticed TestFailWithException (in async-rpc-retrying-test.cc) and/or fails occasionally if run in a batch or individually, e.g. {noformat} buck test --no-cache --no-results-cache --all {noformat} {noformat} buck test --no-cache --no-results-cache //core:retry-test {noformat} was: It's been noticed TestFailWithException (in async-rpc-retrying-test.cc) fails occasionally if run in a batch or individually, e.g. {noformat} buck test --no-cache --no-results-cache --all {noformat} {noformat} buck test --no-cache --no-results-cache //core:retry-test {noformat} > [C++] flakey test failure of TestFailWithException and > FailWithExceptionFromRegionLocationLookupSplitRegions > > > Key: HBASE-18574 > URL: https://issues.apache.org/jira/browse/HBASE-18574 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou > > It's been noticed TestFailWithException (in async-rpc-retrying-test.cc) > and/or fails occasionally if run in a batch or individually, e.g. > {noformat} > buck test --no-cache --no-results-cache --all > {noformat} > {noformat} > buck test --no-cache --no-results-cache //core:retry-test > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18574) [C++] flakey test failure of TestFailWithException and FailWithExceptionFromRegionLocationLookupSplitRegions
[ https://issues.apache.org/jira/browse/HBASE-18574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18574: -- Description: It's been noticed TestFailWithException (i.e. in async-rpc-retrying-test.cc) and/or FailWithExceptionFromRegionLocationLookupSplitRegions(i.e. in async-batch-rpc-retrying-test.cc) fails occasionally if run in a batch or individually, e.g. {noformat} buck test --no-cache --no-results-cache --all {noformat} {noformat} buck test --no-cache --no-results-cache //core:retry-test {noformat} was: It's been noticed TestFailWithException (in async-rpc-retrying-test.cc) and/or fails occasionally if run in a batch or individually, e.g. {noformat} buck test --no-cache --no-results-cache --all {noformat} {noformat} buck test --no-cache --no-results-cache //core:retry-test {noformat} > [C++] flakey test failure of TestFailWithException and > FailWithExceptionFromRegionLocationLookupSplitRegions > > > Key: HBASE-18574 > URL: https://issues.apache.org/jira/browse/HBASE-18574 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou > > It's been noticed TestFailWithException (i.e. in async-rpc-retrying-test.cc) > and/or FailWithExceptionFromRegionLocationLookupSplitRegions(i.e. in > async-batch-rpc-retrying-test.cc) fails occasionally if run in a batch or > individually, e.g. > {noformat} > buck test --no-cache --no-results-cache --all > {noformat} > {noformat} > buck test --no-cache --no-results-cache //core:retry-test > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18574) [C++] flakey test failure of TestFailWithException and FailWithExceptionFromRegionLocationLookupSplitRegions
[ https://issues.apache.org/jira/browse/HBASE-18574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18574: -- Summary: [C++] flakey test failure of TestFailWithException and FailWithExceptionFromRegionLocationLookupSplitRegions (was: [C++] flakey test failure of AsyncRpcRetryTest::TestFailWithException ) > [C++] flakey test failure of TestFailWithException and > FailWithExceptionFromRegionLocationLookupSplitRegions > > > Key: HBASE-18574 > URL: https://issues.apache.org/jira/browse/HBASE-18574 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou > > It's been noticed TestFailWithException (in async-rpc-retrying-test.cc) fails > occasionally if run in a batch or individually, e.g. > {noformat} > buck test --no-cache --no-results-cache --all > {noformat} > {noformat} > buck test --no-cache --no-results-cache //core:retry-test > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18574) [C++] flakey test failure of AsyncRpcRetryTest::TestFailWithException
[ https://issues.apache.org/jira/browse/HBASE-18574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18574: -- Description: It's been noticed TestFailWithException (in async-rpc-retrying-test.cc) fails occasionally if run in a batch or individually, e.g. {noformat} buck test --no-cache --no-results-cache --all {noformat} {noformat} buck test --no-cache --no-results-cache //core:retry-test {noformat} was:It's been noticed TestFailWithException (in async-rpc-retrying-test.cc) fails occasionally. > [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 > > It's been noticed TestFailWithException (in async-rpc-retrying-test.cc) fails > occasionally if run in a batch or individually, e.g. > {noformat} > buck test --no-cache --no-results-cache --all > {noformat} > {noformat} > buck test --no-cache --no-results-cache //core:retry-test > {noformat} -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18574) [C++] flakey test failure of AsyncRpcRetryTest::TestFailWithException
[ https://issues.apache.org/jira/browse/HBASE-18574?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18574: -- Description: It's been noticed TestFailWithException (in async-rpc-retrying-test.cc) fails occasionally. > [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 > > It's been noticed TestFailWithException (in async-rpc-retrying-test.cc) fails > occasionally. -- 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] [Updated] (HBASE-18534) [C++] Support timeout in Rpc
[ https://issues.apache.org/jira/browse/HBASE-18534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18534: -- Attachment: HBASE-18534.001.patch v1: # did some refactoring. # fix some compile issues. > [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 > Attachments: HBASE-18534.000.patch, HBASE-18534.001.patch > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (HBASE-18534) [C++] Support timeout in Rpc
[ https://issues.apache.org/jira/browse/HBASE-18534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16120731#comment-16120731 ] Xiaobing Zhou edited comment on HBASE-18534 at 8/9/17 10:35 PM: Posted v0: # added per request read RPC timeout Need to also handle write RPC timeout for next. was (Author: xiaobingo): Posted v0: # added per request timeout > [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 > Attachments: HBASE-18534.000.patch > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18534) [C++] Support timeout in Rpc
[ https://issues.apache.org/jira/browse/HBASE-18534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16120731#comment-16120731 ] Xiaobing Zhou commented on HBASE-18534: --- Posted v0: # added per request timeout > [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 > Attachments: HBASE-18534.000.patch > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18534) [C++] Support timeout in Rpc
[ https://issues.apache.org/jira/browse/HBASE-18534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18534: -- Attachment: HBASE-18534.000.patch > [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 > Attachments: HBASE-18534.000.patch > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18536) [C++] Add RPC fault injection infra
[ https://issues.apache.org/jira/browse/HBASE-18536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18536: -- Status: Patch Available (was: Open) > [C++] Add RPC fault injection infra > --- > > Key: HBASE-18536 > URL: https://issues.apache.org/jira/browse/HBASE-18536 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18536.000.patch > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18536) [C++] Add RPC fault injection infra
[ https://issues.apache.org/jira/browse/HBASE-18536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18536: -- Attachment: HBASE-18536.000.patch > [C++] Add RPC fault injection infra > --- > > Key: HBASE-18536 > URL: https://issues.apache.org/jira/browse/HBASE-18536 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18536.000.patch > > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18536) [C++] Add RPC fault injection infra
[ https://issues.apache.org/jira/browse/HBASE-18536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18536: -- Summary: [C++] Add RPC fault injection infra (was: [C++] Add fault injection infra) > [C++] Add RPC fault injection infra > --- > > Key: HBASE-18536 > URL: https://issues.apache.org/jira/browse/HBASE-18536 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18078: -- Attachment: HBASE-18078.008.patch > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch, HBASE-18078.006.patch, HBASE-18078.007.patch, > HBASE-18078.008.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18078: -- Attachment: (was: HBASE-18078.008.patch) > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch, HBASE-18078.006.patch, HBASE-18078.007.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18536) [C++] Add fault injection infra
[ https://issues.apache.org/jira/browse/HBASE-18536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18536: -- Summary: [C++] Add fault injection infra (was: [C++] ) > [C++] Add fault injection infra > --- > > 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] [Assigned] (HBASE-18536) [C++] Add fault injection infra
[ https://issues.apache.org/jira/browse/HBASE-18536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou reassigned HBASE-18536: - Assignee: Xiaobing Zhou > [C++] Add fault injection infra > --- > > Key: HBASE-18536 > URL: https://issues.apache.org/jira/browse/HBASE-18536 > 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-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] [Updated] (HBASE-18535) [C++] make RPC test mode transparent to initialization of RpcPipeline
[ https://issues.apache.org/jira/browse/HBASE-18535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18535: -- Description: This is a follow up work of HBASE-18338. In RpcPipelineFactory::newPipeline, the HBASE_CLIENT_RPC_TEST_MODE is used to exclude SaslHandler which otherwise will cause RpcTestServer not receiving any requests. {code} + if (!conf_->GetBool( + Configuration::HBASE_CLIENT_RPC_TEST_MODE, + Configuration::DEFAULT_HBASE_CLIENT_RPC_TEST_MODE)) { +secure = security::User::IsSecurityEnabled(*conf_); +pipeline->addBack(SaslHandler{user_util_.user_name(secure), conf_}); + } {code} This is not clean. Handlers should be added to pipeline regardless of test or not, instead, every handler can choose to discriminate test or not. Taking ClientHandler as an example: {code} folly::Future ClientHandler::write(Context *ctx, std::unique_ptr r) { /* for RPC test, there's no need to send connection header */ if (!conf_->GetBool(RpcSerde::HBASE_CLIENT_RPC_TEST_MODE, RpcSerde::DEFAULT_HBASE_CLIENT_RPC_TEST_MODE)) { // We need to send the header once. // So use call_once to make sure that only one thread wins this. std::call_once((*once_flag_), [ctx, this]() { VLOG(3) << "Writing RPC Header to server: " << server_; auto header = serde_.Header(user_name_); ctx->fireWrite(std::move(header)); }); } {code} > [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 is a follow up work of HBASE-18338. > In RpcPipelineFactory::newPipeline, the HBASE_CLIENT_RPC_TEST_MODE is used to > exclude SaslHandler which otherwise will cause RpcTestServer not receiving > any requests. > {code} > + if (!conf_->GetBool( > + Configuration::HBASE_CLIENT_RPC_TEST_MODE, > + Configuration::DEFAULT_HBASE_CLIENT_RPC_TEST_MODE)) { > +secure = security::User::IsSecurityEnabled(*conf_); > +pipeline->addBack(SaslHandler{user_util_.user_name(secure), conf_}); > + } > {code} > This is not clean. Handlers should be added to pipeline regardless of test or > not, instead, every handler can choose to discriminate test or not. Taking > ClientHandler as an example: > {code} > folly::Future ClientHandler::write(Context *ctx, > std::unique_ptr r) { > /* for RPC test, there's no need to send connection header */ > if (!conf_->GetBool(RpcSerde::HBASE_CLIENT_RPC_TEST_MODE, > RpcSerde::DEFAULT_HBASE_CLIENT_RPC_TEST_MODE)) { > // We need to send the header once. > // So use call_once to make sure that only one thread wins this. > std::call_once((*once_flag_), [ctx, this]() { > VLOG(3) << "Writing RPC Header to server: " << server_; > auto header = serde_.Header(user_name_); > ctx->fireWrite(std::move(header)); > }); > } > {code} -- 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] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18078: -- Attachment: (was: HBASE-18078.009.patch) > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch, HBASE-18078.006.patch, HBASE-18078.007.patch, > HBASE-18078.008.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16117573#comment-16117573 ] Xiaobing Zhou commented on HBASE-18078: --- Since the behavior of closing socket before sending request and after getting connection is beyond expectation (i.e.Broken promise for type unique_ptr), I've decided to move this case to separate ticket. v8 is the work to be committed, v9 is dropped. > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch, HBASE-18078.006.patch, HBASE-18078.007.patch, > HBASE-18078.008.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18078: -- Status: Open (was: Patch Available) > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch, HBASE-18078.006.patch, HBASE-18078.007.patch, > HBASE-18078.008.patch, HBASE-18078.009.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16115168#comment-16115168 ] Xiaobing Zhou commented on HBASE-18078: --- Posted v9: # added fault injection infra, see also RpcFaultInjector and RpcClientFaultInjector # inject fault to close pipeline in ClientDispatcher::operator() to simulate the scenario to get AsyncSocketException after creating connection and before sending request # added unit test AsyncSocketException is expected, however, Broken promise for type unique_ptr is returned, will debug into this. > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch, HBASE-18078.006.patch, HBASE-18078.007.patch, > HBASE-18078.008.patch, HBASE-18078.009.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18078: -- Attachment: HBASE-18078.009.patch > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch, HBASE-18078.006.patch, HBASE-18078.007.patch, > HBASE-18078.008.patch, HBASE-18078.009.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18078: -- Attachment: HBASE-18078.008.patch > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch, HBASE-18078.006.patch, HBASE-18078.007.patch, > HBASE-18078.008.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16114894#comment-16114894 ] Xiaobing Zhou commented on HBASE-18078: --- Thanks for review. v8 is posted. # removed ConnectionRetryPolicy comment # used VLOG(3) for RpcClient Exception In addition: # added socketNotOpen function in test_rpc_service.proto # added unit tests for socketNotOpen In RpcClient::SendRequest, we need to handle two cases for ConnectionException: # The first time connection establishment, i.e. GetConnection(remote_id), AsyncSocketException being a cause. # Writing request down the pipeline, i.e. RpcConnection::SendRequest, AsyncSocketException being a cause as well. The socketNotOpen covers the case of GetConnection(remote_id). Another test is needed to cover RpcConnection::SendRequest. > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch, HBASE-18078.006.patch, HBASE-18078.007.patch, > HBASE-18078.008.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18078: -- Status: Patch Available (was: Open) > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch, HBASE-18078.006.patch, HBASE-18078.007.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16113903#comment-16113903 ] Xiaobing Zhou commented on HBASE-18078: --- v7: # added RpcClient::GetFutureWithException # fixe broken tests due to v6 Extra tests come with next patch. > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch, HBASE-18078.006.patch, HBASE-18078.007.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18078: -- Attachment: HBASE-18078.007.patch > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch, HBASE-18078.006.patch, HBASE-18078.007.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16111808#comment-16111808 ] Xiaobing Zhou commented on HBASE-18078: --- Posted v6: # Catch AsyncSocketException in ConnectionFactory::Connect, and throw it as ConnectionException, which will be propagated up to ConnectionPool::GetConnection and RpcClient::SendRequest, finally caller of RpcClient will get ConnectionException. # While writing data down the pipeline, RpcConnection::SendRequest will also encounter AsyncSocketException, similarly, it's propagated to caller of RpcClient. The patch considered two cases: # AsyncSocketException as a result of the 1st time connection establishment. # ConnectionException (i.e. AsyncSocketException as a cause) for Request/Response async call after the corresponding connection is established. > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch, HBASE-18078.006.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18078: -- Attachment: HBASE-18078.006.patch > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch, HBASE-18078.006.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18459) [C++] Fix Segfault in location-cache
[ https://issues.apache.org/jira/browse/HBASE-18459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16108269#comment-16108269 ] Xiaobing Zhou commented on HBASE-18459: --- I had a run of location cache test based on the patch, it looks good to me. Thx. > [C++] Fix Segfault in location-cache > > > Key: HBASE-18459 > URL: https://issues.apache.org/jira/browse/HBASE-18459 > Project: HBase > Issue Type: Sub-task >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Fix For: HBASE-14850 > > Attachments: hbase-18459-v1.patch > > > When testing with the new multi-threaded load-client (implemented in > HBASE-18086), I've noticed that sometimes we get a segfault when zookeeper or > master connection gets an exception. > It seems to be from the way the we invalidate meta and refresh the meta. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18466) [C++] Support handling exception in RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18466: -- Attachment: HBASE-18466.003.patch > [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 > Attachments: HBASE-18466.000.patch, HBASE-18466.001.patch, > HBASE-18466.002.patch, HBASE-18466.003.patch > > > 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] [Commented] (HBASE-18466) [C++] Support handling exception in RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16108039#comment-16108039 ] Xiaobing Zhou commented on HBASE-18466: --- Had a run of formatting code in v3. > [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 > Attachments: HBASE-18466.000.patch, HBASE-18466.001.patch, > HBASE-18466.002.patch > > > 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] [Commented] (HBASE-18466) [C++] Support handling exception in RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16108035#comment-16108035 ] Xiaobing Zhou commented on HBASE-18466: --- posted v2: # removed DoNotRetryException added RpcTestException Thanks for review. > [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 > Attachments: HBASE-18466.000.patch, HBASE-18466.001.patch, > HBASE-18466.002.patch > > > 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] [Updated] (HBASE-18466) [C++] Support handling exception in RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18466: -- Attachment: HBASE-18466.002.patch > [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 > Attachments: HBASE-18466.000.patch, HBASE-18466.001.patch, > HBASE-18466.002.patch > > > 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] [Updated] (HBASE-18466) [C++] Support handling exception in RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18466: -- Status: Patch Available (was: Open) > [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 > Attachments: HBASE-18466.000.patch, HBASE-18466.001.patch > > > 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] [Commented] (HBASE-18466) [C++] Support handling exception in RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16105643#comment-16105643 ] Xiaobing Zhou commented on HBASE-18466: --- Posted v1: # fixed promise broken issue when ResponseHeader::set_allocated_exception(pb::ExceptionResponse) is called without new style allocation of pb::ExceptionResponse. > [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 > Attachments: HBASE-18466.000.patch, HBASE-18466.001.patch > > > 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] [Updated] (HBASE-18466) [C++] Support handling exception in RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18466: -- Attachment: HBASE-18466.001.patch > [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 > Attachments: HBASE-18466.000.patch, HBASE-18466.001.patch > > > 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] [Comment Edited] (HBASE-18466) [C++] Support handling exception in RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16104206#comment-16104206 ] Xiaobing Zhou edited comment on HBASE-18466 at 7/28/17 12:33 AM: - Posted v0: # changed RpcTestService and RpcTestServerSerializeHandler for the purpose # implemented error in test_rpc_service.proto # added unit test for it was (Author: xiaobingo): Posted v0: # changed RpcTestService and RpcTestServerSerializeHandler for the purpose # implemented error in test_rpc_service.proto > [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 > Attachments: HBASE-18466.000.patch > > > 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] [Commented] (HBASE-18466) [C++] Support handling exception in RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18466?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16104206#comment-16104206 ] Xiaobing Zhou commented on HBASE-18466: --- Posted v0: # changed RpcTestService and RpcTestServerSerializeHandler for the purpose # implemented error in test_rpc_service.proto > [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 > Attachments: HBASE-18466.000.patch > > > 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] [Updated] (HBASE-18466) [C++] Support handling exception in RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18466?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18466: -- Attachment: HBASE-18466.000.patch > [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 > Attachments: HBASE-18466.000.patch > > > 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-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] [Commented] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16102511#comment-16102511 ] Xiaobing Zhou commented on HBASE-18078: --- Posted v5: # added two functions (i.e. ping and addr) implementation in test_rpc_service.proto # rebased HBASE-18338 # did some refactoring v6 will come with error implementation that triggers ConnectionException. > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18078: -- Attachment: HBASE-18078.005.patch > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch, > HBASE-18078.005.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16102285#comment-16102285 ] Xiaobing Zhou commented on HBASE-18338: --- Nice to have this, thanks [~enis]. > [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 > Fix For: HBASE-14850 > > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch, HBASE-18338.003.patch, HBASE-18338.004.patch, > HBASE-18338.005.patch, HBASE-18338.006.patch, hbase-18338-addendum.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18371) [C++] Update folly and wangle dependencies
[ https://issues.apache.org/jira/browse/HBASE-18371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16099423#comment-16099423 ] Xiaobing Zhou commented on HBASE-18371: --- Had one more run, it works by removing buck-out. +1 non-binding > [C++] Update folly and wangle dependencies > -- > > Key: HBASE-18371 > URL: https://issues.apache.org/jira/browse/HBASE-18371 > Project: HBase > Issue Type: Sub-task >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Fix For: HBASE-14850 > > Attachments: hbase-18371_v1.patch, hbase-18371_v2.patch, > hbase-18371_v3.patch > > > We need to update folly and wangle dependency versions. Debugging an issue, I > realized that we may need a couple of recent patches from wangle. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (HBASE-18204) [C++] Rpc connection close and reconnecting
[ https://issues.apache.org/jira/browse/HBASE-18204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16096934#comment-16096934 ] Xiaobing Zhou edited comment on HBASE-18204 at 7/21/17 10:18 PM: - Here are some points: # Not all exceptions from reading mean 'Connection closed to server', outgoing RPCs shouldn't be treated as same by being cleaned as a result. Should we respond based on different underlying errors? # It actually introduces some bi-directional dependencies, e.g. RpcConnection and ConnectionPool, RpcConnection and ClientDispatcher, which make code less modular. # RpcConnection::SendRequest is not thread safe, e.g. when it comes to connect was (Author: xiaobingo): Here are some points: # Not all exceptions from reading mean 'Connection closed to server', outgoing RPCs shouldn't be treated as same by being cleaned as a result. Should we respond based on different underlying errors? # It actually introduces some bi-directional dependencies, e.g. RpcConnection and ConnectionPool, RpcConnection and ClientDispatcher # RpcConnection::SendRequest is not thread safe, e.g. when it comes to connect > [C++] Rpc connection close and reconnecting > --- > > Key: HBASE-18204 > URL: https://issues.apache.org/jira/browse/HBASE-18204 > Project: HBase > Issue Type: Sub-task >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Attachments: hbase-18204_v1.patch, hbase-18204_v2.patch > > > Our client-dispatcher maintains a map of outgoing RPCs per server with the > promises. > In case the server goes down, or TCP connection is closed, we should complete > the outgoing RPCs with exceptions so that higher level waiters can unblock > and retry. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18204) [C++] Rpc connection close and reconnecting
[ https://issues.apache.org/jira/browse/HBASE-18204?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16096934#comment-16096934 ] Xiaobing Zhou commented on HBASE-18204: --- Here are some points: # Not all exceptions from reading mean 'Connection closed to server', outgoing RPCs shouldn't be treated as same by being cleaned as a result. Should we respond based on different underlying errors? # It actually introduces some bi-directional dependencies, e.g. RpcConnection and ConnectionPool, RpcConnection and ClientDispatcher # RpcConnection::SendRequest is not thread safe, e.g. when it comes to connect > [C++] Rpc connection close and reconnecting > --- > > Key: HBASE-18204 > URL: https://issues.apache.org/jira/browse/HBASE-18204 > Project: HBase > Issue Type: Sub-task >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Attachments: hbase-18204_v1.patch, hbase-18204_v2.patch > > > Our client-dispatcher maintains a map of outgoing RPCs per server with the > promises. > In case the server goes down, or TCP connection is closed, we should complete > the outgoing RPCs with exceptions so that higher level waiters can unblock > and retry. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18371) [C++] Update folly and wangle dependencies
[ https://issues.apache.org/jira/browse/HBASE-18371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16095598#comment-16095598 ] Xiaobing Zhou commented on HBASE-18371: --- v3 LGTM, had a run of dock build, but there are many compile issues when the following is tried: {noformat} buck test --no-cache --no-results-cache //core:retry-test {noformat} Could you double check it? Thanks. > [C++] Update folly and wangle dependencies > -- > > Key: HBASE-18371 > URL: https://issues.apache.org/jira/browse/HBASE-18371 > Project: HBase > Issue Type: Sub-task >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Fix For: HBASE-14850 > > Attachments: hbase-18371_v1.patch, hbase-18371_v2.patch, > hbase-18371_v3.patch > > > We need to update folly and wangle dependency versions. Debugging an issue, I > realized that we may need a couple of recent patches from wangle. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16095583#comment-16095583 ] Xiaobing Zhou commented on HBASE-18078: --- Posted v4: # removed RPC test related pieces. # did some clean work. > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18078: -- Attachment: HBASE-18078.004.patch > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch, HBASE-18078.004.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18371) [C++] Update folly and wangle dependencies
[ https://issues.apache.org/jira/browse/HBASE-18371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16095524#comment-16095524 ] Xiaobing Zhou commented on HBASE-18371: --- Thanks [~enis] for the work. The patch v2 fails to be applied due to conflict, could you please have a rebase? > [C++] Update folly and wangle dependencies > -- > > Key: HBASE-18371 > URL: https://issues.apache.org/jira/browse/HBASE-18371 > Project: HBase > Issue Type: Sub-task >Reporter: Enis Soztutar >Assignee: Enis Soztutar > Fix For: HBASE-14850 > > Attachments: hbase-18371_v1.patch, hbase-18371_v2.patch > > > We need to update folly and wangle dependency versions. Debugging an issue, I > realized that we may need a couple of recent patches from wangle. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16095472#comment-16095472 ] Xiaobing Zhou commented on HBASE-18338: --- Posted v6: # moved HBASE_CLIENT_RPC_TEST_MODE as suggested # did some code formatting. Simply passing IOBuf in and out in SaslHandler is tried, but RpcTestServer is not able to get any request. I'd debug this in follow up patch. Right now keep it as v5 is. Thanks for review [~enis]! > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch, HBASE-18338.003.patch, HBASE-18338.004.patch, > HBASE-18338.005.patch, HBASE-18338.006.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18338: -- Attachment: HBASE-18338.006.patch > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch, HBASE-18338.003.patch, HBASE-18338.004.patch, > HBASE-18338.005.patch, HBASE-18338.006.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18338: -- Attachment: (was: HBASE-18338.006.patch) > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch, HBASE-18338.003.patch, HBASE-18338.004.patch, > HBASE-18338.005.patch, HBASE-18338.006.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18338: -- Attachment: HBASE-18338.006.patch > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch, HBASE-18338.003.patch, HBASE-18338.004.patch, > HBASE-18338.005.patch, HBASE-18338.006.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18407) [C++] make Configuration::Set/GetBool work for both true/false and 1/0
[ https://issues.apache.org/jira/browse/HBASE-18407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16093818#comment-16093818 ] Xiaobing Zhou commented on HBASE-18407: --- repost v0, following the patch naming convention to let it being applied to feature branch. > [C++] make Configuration::Set/GetBool work for both true/false and 1/0 > -- > > Key: HBASE-18407 > URL: https://issues.apache.org/jira/browse/HBASE-18407 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18407.000.patch, HBASE-18407-HBASE-14850.000.patch > > > 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. 1/0 should be considered in the check in > GetBool. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18407) [C++] make Configuration::Set/GetBool work for both true/false and 1/0
[ https://issues.apache.org/jira/browse/HBASE-18407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18407: -- Attachment: HBASE-18407-HBASE-14850.000.patch > [C++] make Configuration::Set/GetBool work for both true/false and 1/0 > -- > > Key: HBASE-18407 > URL: https://issues.apache.org/jira/browse/HBASE-18407 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18407.000.patch, HBASE-18407-HBASE-14850.000.patch > > > 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. 1/0 should be considered in the check in > GetBool. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18407) [C++] make Configuration::Set/GetBool work for both true/false and 1/0
[ https://issues.apache.org/jira/browse/HBASE-18407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16093801#comment-16093801 ] Xiaobing Zhou commented on HBASE-18407: --- Posted v0: # 1/0 is allowed in string/numeric representation of true/false. # unit tests are added > [C++] make Configuration::Set/GetBool work for both true/false and 1/0 > -- > > Key: HBASE-18407 > URL: https://issues.apache.org/jira/browse/HBASE-18407 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18407.000.patch > > > 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. 1/0 should be considered in the check in > GetBool. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18407) [C++] make Configuration::Set/GetBool work for both true/false and 1/0
[ https://issues.apache.org/jira/browse/HBASE-18407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18407: -- Status: Patch Available (was: Open) > [C++] make Configuration::Set/GetBool work for both true/false and 1/0 > -- > > Key: HBASE-18407 > URL: https://issues.apache.org/jira/browse/HBASE-18407 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18407.000.patch > > > 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. 1/0 should be considered in the check in > GetBool. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18407) [C++] make Configuration::Set/GetBool work for both true/false and 1/0
[ https://issues.apache.org/jira/browse/HBASE-18407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18407: -- Attachment: HBASE-18407.000.patch > [C++] make Configuration::Set/GetBool work for both true/false and 1/0 > -- > > Key: HBASE-18407 > URL: https://issues.apache.org/jira/browse/HBASE-18407 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18407.000.patch > > > 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. 1/0 should be considered in the check in > GetBool. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18407) [C++] make Configuration::Set/GetBool work for both true/false and 1/0
[ https://issues.apache.org/jira/browse/HBASE-18407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18407: -- Summary: [C++] make Configuration::Set/GetBool work for both true/false and 1/0 (was: [C++] make Configuration::Set/GetBool work for both true/false and 1/0 ) > [C++] make Configuration::Set/GetBool work for both true/false and 1/0 > -- > > Key: HBASE-18407 > URL: https://issues.apache.org/jira/browse/HBASE-18407 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18407.000.patch > > > 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. 1/0 should be considered in the check in > GetBool. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18407) [C++] make Configuration::Set/GetBool work for both true/false and 1/0
[ https://issues.apache.org/jira/browse/HBASE-18407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18407: -- Description: 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. 1/0 should be considered in the check in GetBool. (was: 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.) > [C++] make Configuration::Set/GetBool work for both true/false and 1/0 > --- > > 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. 1/0 should be considered in the check in > GetBool. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18407) [C++] make Configuration::Set/GetBool work for both true/false and 1/0
[ https://issues.apache.org/jira/browse/HBASE-18407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18407: -- Summary: [C++] make Configuration::Set/GetBool work for both true/false and 1/0 (was: [C++] Configuration::SetBool should convert bool value to "true" or "false") > [C++] make Configuration::Set/GetBool work for both true/false and 1/0 > --- > > 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] [Comment Edited] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16092369#comment-16092369 ] Xiaobing Zhou edited comment on HBASE-18338 at 7/19/17 12:09 AM: - posted patch v5. # reuses RpcClient in test # introduces Configuration::HBASE_CLIENT_RPC_TEST_MODE to bypass some code for RPC test only, otherwise tests will fail given RpcTestServer implementation. # binds to port 0 to be ephemeral # throws exception in test # removes rpc-test-client.h and rpc-test-client-handler.h Let's refill the TODO in follow up patch, thanks [~enis] for reviews. was (Author: xiaobingo): posted patch v5. # reuses RpcClient in test # binds to port 0 to be ephemeral # throws exception in test # removes rpc-test-client.h and rpc-test-client-handler.h Let's refill the TODO in follow up patch, thanks [~enis] for reviews. > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch, HBASE-18338.003.patch, HBASE-18338.004.patch, > HBASE-18338.005.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16092369#comment-16092369 ] Xiaobing Zhou commented on HBASE-18338: --- posted patch v5. # reuses RpcClient in test # binds to port 0 to be ephemeral # throws exception in test # removes rpc-test-client.h and rpc-test-client-handler.h Let's refill the TODO in follow up patch, thanks [~enis] for reviews. > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch, HBASE-18338.003.patch, HBASE-18338.004.patch, > HBASE-18338.005.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18338: -- Attachment: HBASE-18338.005.patch > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch, HBASE-18338.003.patch, HBASE-18338.004.patch, > HBASE-18338.005.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18400) [C++] ConnectionId Equals/Hash should consider service_name
[ https://issues.apache.org/jira/browse/HBASE-18400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16092320#comment-16092320 ] Xiaobing Zhou commented on HBASE-18400: --- Thanks [~tedyu] and [~enis] for reviewing/committing it. > [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 > Fix For: HBASE-14850 > > Attachments: HBASE-18400.000.patch > > > 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-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] [Commented] (HBASE-18400) [C++] ConnectionId Equals/Hash should consider service_name
[ https://issues.apache.org/jira/browse/HBASE-18400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16091827#comment-16091827 ] Xiaobing Zhou commented on HBASE-18400: --- Forgot to mention EXPECT_CALL is the assertion. > [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 > Attachments: HBASE-18400.000.patch > > > 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] [Commented] (HBASE-18400) [C++] ConnectionId Equals/Hash should consider service_name
[ https://issues.apache.org/jira/browse/HBASE-18400?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16091820#comment-16091820 ] Xiaobing Zhou commented on HBASE-18400: --- Hi [~tedyu], thanks for your review. The last 8 lines are just using scope to avoid duplicate variables (e.g. remote_id) declarations, but call GetConnection four times so that ConnectionFactory::Connect and ConnectionFactory::MakeBootstrap are invoked only two times, which is the semantics of connection pool. > [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 > Attachments: HBASE-18400.000.patch > > > 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] [Updated] (HBASE-18400) [C++] ConnectionId Equals/Hash should consider service_name
[ https://issues.apache.org/jira/browse/HBASE-18400?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18400: -- Attachment: HBASE-18400.000.patch Posted v0 for reviews, thx. > [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 > Attachments: HBASE-18400.000.patch > > > 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] [Updated] (HBASE-18400) [C++] ConnectionId Equals/Hash should consider service_name
[ https://issues.apache.org/jira/browse/HBASE-18400?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18400: -- Status: Patch Available (was: Open) > [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 > Attachments: HBASE-18400.000.patch > > > 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-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] [Commented] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16090668#comment-16090668 ] Xiaobing Zhou commented on HBASE-18338: --- Posted v4: # add dispatch code to ping/echo/error ... implementation # did some refactoring to be modular. # did clean work Will reuse RpcClient in the next patch instead of rpc-test-client.h and rpc-test-client-handler.h which exist only for the reason of avoiding dependencies initially. So reviews can skip rpc-test-client.h and rpc-test-client-handler.h. > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch, HBASE-18338.003.patch, HBASE-18338.004.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18338: -- Status: Patch Available (was: Open) > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch, HBASE-18338.003.patch, HBASE-18338.004.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18338: -- Attachment: HBASE-18338.004.patch > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch, HBASE-18338.003.patch, HBASE-18338.004.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16086635#comment-16086635 ] Xiaobing Zhou commented on HBASE-18338: --- Posted v3: # implemented Echo, however, there's no dispatch code to easily add other test functions # added unit test for Echo, see also hbase-rpc-test.cc Will add dispatch code based on method name for next and do some clean work. > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch, HBASE-18338.003.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18338: -- Attachment: HBASE-18338.003.patch > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch, HBASE-18338.003.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16084771#comment-16084771 ] Xiaobing Zhou edited comment on HBASE-18338 at 7/12/17 9:50 PM: Posted v2: # being able to do ping/pong # removed Bonk and Xtruct # fixed all compile issues # changed serde/rpc.h to serde/rpc-serde.h for less confusion. Will port protobuf types into RPC test client/server by protobuf-compiling test.proto and test_rpc_service.proto. was (Author: xiaobingo): Posted v2: # being able to do ping/pong # removed Bonk and Xtruct # fixed all compile issues Will port protobuf types into RPC test client/server by protobuf-compiling test.proto and test_rpc_service.proto. > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16084771#comment-16084771 ] Xiaobing Zhou commented on HBASE-18338: --- Posted v2: # being able to do ping/pong # removed Bonk and Xtruct # fixed all compile issues Will port protobuf types into RPC test client/server by protobuf-compiling test.proto and test_rpc_service.proto. > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18338: -- Attachment: HBASE-18338.002.patch > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch, > HBASE-18338.002.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16081271#comment-16081271 ] Xiaobing Zhou edited comment on HBASE-18338 at 7/10/17 10:16 PM: - Posted v1. # learned from wangle RPC example, built a HBase test client and test server and the corresponding client/server handlers. # bridged native hbase::request and hbase::response into Bonk and Xtruct to do easy test Need some work to make it runnable in context of native hbase::request and hbase::response. was (Author: xiaobingo): Posted v1. # learned from wangle RPC example, built an HBase test client and test server and the corresponding client/server handlers. # bridged native hbase::request and hbase::response into Bonk and Xtruct to do easy test Need some work to make it runnable in context of native hbase::request and hbase::response. > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16081271#comment-16081271 ] Xiaobing Zhou commented on HBASE-18338: --- Posted v1. # learned from wangle RPC example, built an HBase test client and test server and the corresponding client/server handlers. # bridged native hbase::request and hbase::response into Bonk and Xtruct to do easy test Need some work to make it runnable in context of native hbase::request and hbase::response. > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Updated] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Xiaobing Zhou updated HBASE-18338: -- Attachment: HBASE-18338.001.patch > [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 > Attachments: HBASE-18338.000.patch, HBASE-18338.001.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Comment Edited] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16078753#comment-16078753 ] Xiaobing Zhou edited comment on HBASE-18338 at 7/9/17 4:58 PM: --- Posted v0. # simplified the implementation a lot. # added RpcTestServerHandler and RpcTestServerPipelineFactory # added test.proto and test_rpc_service.proto from Java side in order to implement server stubs like echo/ping Will add implementation of server stubs by hooking protobuf engine into RpcTestServerHandler in next patch. was (Author: xiaobingo): Posted v0. # simplified the implementation a lot. # added RpcTestServerHandler and RpcTestServerPipelineFactory # added test.proto and test_rpc_service.proto from Java side in order to implement server stubs like echo/ping Will add implementation of server stubs to hook protobuf engine into RpcTestServerHandler in next patch. > [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 > Attachments: HBASE-18338.000.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18078) [C++] Harden RPC by handling various communication abnormalities
[ https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16078760#comment-16078760 ] Xiaobing Zhou commented on HBASE-18078: --- This ticket will not contain anything related to TestRpcServer, it will be in HBASE-18338. > [C++] Harden RPC by handling various communication abnormalities > > > Key: HBASE-18078 > URL: https://issues.apache.org/jira/browse/HBASE-18078 > Project: HBase > Issue Type: Sub-task >Reporter: Xiaobing Zhou >Assignee: Xiaobing Zhou > Attachments: HBASE-18078.000.patch, HBASE-18078.001.patch, > HBASE-18078.002.patch, HBASE-18078.003.patch > > > RPC layer should handle various communication abnormalities (e.g. connection > timeout, server aborted connection, and so on). Ideally, the corresponding > exceptions should be raised and propagated through handlers of pipeline in > client. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18338) [C++] Implement RpcTestServer
[ https://issues.apache.org/jira/browse/HBASE-18338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16078753#comment-16078753 ] Xiaobing Zhou commented on HBASE-18338: --- Posted v0. # simplified the implementation a lot. # added RpcTestServerHandler and RpcTestServerPipelineFactory # added test.proto and test_rpc_service.proto from Java side in order to implement server stubs like echo/ping Will add implementation of server stubs to hook protobuf engine into RpcTestServerHandler in next patch. > [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 > Attachments: HBASE-18338.000.patch > > > This is a spin-off from HBASE-18078. We need RpcTestServer to simulate > various communication scenarios, e.g. timeout, connection aborted, long > running services and so on. -- This message was sent by Atlassian JIRA (v6.4.14#64029)