[
https://issues.apache.org/jira/browse/HBASE-5682?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13243589#comment-13243589
]
Lars Hofhansl commented on HBASE-5682:
--------------------------------------
"perversion" is hard word. :) It is just rechecking before each use whether the
trackers are still usable. The timeout is handled through the HConnection's
abort().
The testing I've done:
# ZK down, HBase down, start a client. Then start ZK, then HBase.
# ZK up, HBase down, start client. Then start HBase
# both ZK and HBase up, start client, kill HBase, restart HBase
# both ZK and HBase up, start client, kill ZK and HBase restart
The client just create a new HTable and then tries to get some rows in a loop.
In all cases the client should successfully be able to reconnect when both ZK
and HBase are up.
The problem I have seen in 0.94/0.92 without this patch even with managed
connections is that after HConnection times out, it is unusable and even
getting a new HTable does not fix the problem since behind the scenes the same
HConnection is retrieved.
Will think about an automated test. Do you like the version better that always
does the recheck (and hence all the conditional for "managed" go away)?
> Allow HConnectionImplementation to recover from ZK connection loss (for 0.94
> only)
> ----------------------------------------------------------------------------------
>
> Key: HBASE-5682
> URL: https://issues.apache.org/jira/browse/HBASE-5682
> Project: HBase
> Issue Type: Improvement
> Components: client
> Reporter: Lars Hofhansl
> Assignee: Lars Hofhansl
> Fix For: 0.94.0
>
> Attachments: 5682-all.txt, 5682-v2.txt, 5682.txt
>
>
> Just realized that without this HBASE-4805 is broken.
> I.e. there's no point keeping a persistent HConnection around if it can be
> rendered permanently unusable if the ZK connection is lost temporarily.
> Note that this is fixed in 0.96 with HBASE-5399 (but that seems to big to
> backport)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira