[
https://issues.apache.org/jira/browse/HBASE-5549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13406763#comment-13406763
]
Himanshu Vashishtha commented on HBASE-5549:
--------------------------------------------
This seems to fix the HBaseTestingUtility#expiresession method as it introduced
a new logic of creating a monitor and then expiring the session. But it seems
this fix needs some more work? For example, TestReplicationPeer occasionally
fails even with this change on the trunk, citing improper session termination.
{code}
testResetZooKeeperSession(org.apache.hadoop.hbase.replication.TestReplicationPeer):
ReplicationPeer ZooKeeper session was not properly expired.
{code}
On another note, I wonder whether this patch can be backported to 0.92/0.94?
> Master can fail if ZooKeeper session expires
> --------------------------------------------
>
> Key: HBASE-5549
> URL: https://issues.apache.org/jira/browse/HBASE-5549
> Project: HBase
> Issue Type: Bug
> Components: master, zookeeper
> Affects Versions: 0.96.0
> Environment: all
> Reporter: nkeywal
> Assignee: nkeywal
> Priority: Minor
> Fix For: 0.96.0
>
> Attachments: 5549.v10.patch, 5549.v11.patch, 5549.v6.patch,
> 5549.v7.patch, 5549.v8.patch, 5549.v9.patch, nochange.patch
>
>
> There is a retry mechanism in RecoverableZooKeeper, but when the session
> expires, the whole ZooKeeperWatcher is recreated, hence the retry mechanism
> does not work in this case. This is why a sleep is needed in
> TestZooKeeper#testMasterSessionExpired: we need to wait for ZooKeeperWatcher
> to be recreated before using the connection.
> This can happen in real life, it can happen when:
> - master & zookeeper starts
> - zookeeper connection is cut
> - master enters the retry loop
> - in the meantime the session expires
> - the network comes back, the session is recreated
> - the retries continues, but on the wrong object, hence fails.
--
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