[
https://issues.apache.org/jira/browse/HBASE-17453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15855004#comment-15855004
]
Tianying Chang commented on HBASE-17453:
----------------------------------------
Thanks [~tedyu] [~stack] for the comments. We need a method to reliably know
if a connection with the RS still live. Previously, we rely on
GetProtocolVersion(). When there is no traffic received within certain time,
this could be either really there is no traffic, or the connection is bad. By
sending a "Ping" and get response back, we know for sure it is not because
connection is bad, therefore, no need to reconnect. If there is no response
back from "Ping", we will reconnect. So we just need a lightweight response so
that we know the communication link is healthy. The PintProtocol.proto you
mentioned above matches what we need. If it is a live API hosted by the RS, we
can definitely use that.
> add Ping into HBase server for deprecated GetProtocolVersion
> ------------------------------------------------------------
>
> Key: HBASE-17453
> URL: https://issues.apache.org/jira/browse/HBASE-17453
> Project: HBase
> Issue Type: Improvement
> Components: regionserver
> Affects Versions: 1.2.2
> Reporter: Tianying Chang
> Assignee: Tianying Chang
> Priority: Minor
> Attachments: HBASE-17453-1.2.patch
>
>
> Our HBase service is hosted in AWS. We saw cases where the connection between
> the client (Asynchbase in our case) and server stop working but did not throw
> any exception, therefore traffic stuck. So we added a "Ping" feature in
> AsyncHBase 1.5 by utilizing the GetProtocolVersion() API provided at RS side,
> if no traffic for given time, we send the "Ping", if no response back for
> "Ping", we assume the connect is bad and reconnect.
> Now we are upgrading cluster from 94 to 1.2. However, GetProtocolVersion() is
> deprecated. To be able to support same detect/reconnect feature, we added
> Ping() in our internal HBase 1.2 branch, and also patched accordingly in
> Asynchbase 1.7.
> We would like to open source this feature since it is useful for use case in
> AWS environment.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)