[ https://issues.apache.org/jira/browse/HBASE-17453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15924772#comment-15924772 ]
stack commented on HBASE-17453: ------------------------------- [~tychang] what about doing something low cost like List<HRegionInfo> getOnlineRegions(final ServerName sn) throws IOException; from the Admin Interface? On server-side it does this: {code} @Override public List<Region> getOnlineRegions() { List<Region> allRegions = new ArrayList<>(); synchronized (this.onlineRegions) { // Return a clone copy of the onlineRegions allRegions.addAll(onlineRegions.values()); } return allRegions; } {code} ... which is small potatoes in the scheme of things? On adding a ping, should it be added to Admin rather than to Client? Or you could do a noop coprocessor endpoint? Then you'd need no change in hbase? Otherwise, patch seems fine (caveat above feedback). Good on you [~tychang] > 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 > Fix For: 2.0.0, 1.2.5 > > Attachments: HBASE-17453-1.2.patch, HBASE-17453-master.patch, > HBASE-17453-master-v1.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)