[
https://issues.apache.org/jira/browse/HBASE-18078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16025824#comment-16025824
]
Xiaobing Zhou commented on HBASE-18078:
---------------------------------------
Coming next are:
# apply the APIs (e.g. ConnectionFactory and ConnectionPool) changes to all
related places.
# In order to simulate various abnormal behaviors, it necessitates building a
TestRpcServer, which can be started from samples in
[BootstrapTest|https://github.com/facebook/wangle/blob/master/wangle/bootstrap/BootstrapTest.cpp]
# handle other abnormal cases such as defined in folly::AsyncSocketException
{code}
class AsyncSocketException : public std::runtime_error {
public:
enum AsyncSocketExceptionType {
UNKNOWN = 0,
NOT_OPEN = 1,
ALREADY_OPEN = 2,
TIMED_OUT = 3,
END_OF_FILE = 4,
INTERRUPTED = 5,
BAD_ARGS = 6,
CORRUPTED_DATA = 7,
INTERNAL_ERROR = 8,
NOT_SUPPORTED = 9,
INVALID_STATE = 10,
SSL_ERROR = 12,
COULD_NOT_BIND = 13,
SASL_HANDSHAKE_TIMEOUT = 14,
NETWORK_ERROR = 15
};
{code}
# add unit tests to cover them.
> [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
>
>
> 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.3.15#6346)