zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hanm <...@git.apache.org>
Subject [GitHub] zookeeper issue #191: ZOOKEEPER-2722: fix flaky testSessionEstablishment tes...
Date Thu, 16 Mar 2017 18:10:32 GMT
Github user hanm commented on the issue:

    >> if that creation is failing due to connection loss, shouldn't the places that
check the watcher connection fail there instead of in your check?
    ConnectionLossException can happen *after* a connection between ZooKeeper client and server
has been established, right? So having the check only in watcher is not enough. A pass in
watcher does not guarantee ConnectionLossException will not occur in a later point in time.
Imagine an extreme case where the a network partition happened between client / server after
a session establishment - the client will first get a connected event, and watcher happily
reports everything is fine, then subsequent operation (e.g. create) will fail with ConnectionLossException
until the network healed. 
    >> I think it's worth understanding why we are getting a connection event in the
watcher that should be waiting for connection, but still failing by not connecting, instead
of fixing this with additional waiting.
    Yes I'd like to know what causes this though I had a hard time to reproduce this failure
locally / in internal Jenkins. It is so far only reproducible in Apache Jenkins. I can add
some loggings to capture more contexts when the failure happens on Apache Jenkins, but in
that case the retry logic in create is still needed, unless we can prove it is not possible
to get a ConnectionLossException after a session establishment.

If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.

View raw message