[
https://issues.apache.org/jira/browse/HBASE-4087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13063983#comment-13063983
]
M. C. Srivas commented on HBASE-4087:
-------------------------------------
I prefer option 2. When the HBaseClient fails to connect to the master, make it
come back once more to the HConnectionManager (via a different API that also
provides the bad handle), so the HConnectionManager can reset its cache.
Periodic checks in a bg thread is not scalable (causes needless load on the
server), and does not really work. For example, what happens if the server
crashed right after the check? We would still need option 2 to say "invalidate
now and get me a new handle" in the client in order to make immediate progress.
> HConnectionManager should perform validation of connection it hands out
> -----------------------------------------------------------------------
>
> Key: HBASE-4087
> URL: https://issues.apache.org/jira/browse/HBASE-4087
> Project: HBase
> Issue Type: Bug
> Reporter: Ted Yu
> Priority: Critical
> Fix For: 0.92.0
>
>
> Through HBASE-3777, HConnectionManager reuses the connection to HBase servers.
> One challenge, discovered in troubleshooting HBASE-4052, is how we invalidate
> connection(s) to server which gets restarted.
> There're at least two ways.
> 1. HConnectionManager utilizes background thread(s) to periodically perform
> validation of connections in HBASE_INSTANCES and remove stale connection(s).
> 2. Allow HBaseClient (including HBaseAdmin) to provide feedback to
> HConnectionManager.
> The solution can be a combination of both of the above.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira