You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@curator.apache.org by "João Alves (Jira)" <ji...@apache.org> on 2022/07/19 14:52:00 UTC

[jira] [Created] (CURATOR-648) CuratorFramework#blockUntilConnected does now wait forever if waitTime <= 0

João Alves created CURATOR-648:
----------------------------------

             Summary: CuratorFramework#blockUntilConnected does now wait forever if waitTime <= 0
                 Key: CURATOR-648
                 URL: https://issues.apache.org/jira/browse/CURATOR-648
             Project: Apache Curator
          Issue Type: Bug
            Reporter: João Alves
            Assignee: Jordan Zimmerman


CuratorFramework#blockUntilConnected documentation remarks the following: 
{noformat}
maxWaitTime - The maximum wait time. Specify a value <= 0 to wait indefinitely{noformat}
This does not seem to be correct, if _maxWaitTime <= 0_ then _blockUntilConnected_ returns immediately.

I am able to reproduce this behaviour locally and from the code it is apparent to me that the cause is the logic in {_}ConnectionStateManager#blockUntilConnected{_}:
{code:java}
boolean hasMaxWait = (units != null);{code}
Not sure what if the current behaviour is intended but I think misalignment probably should be fixed to prevent unexpected behaviour.

What is the suggested fix here for this mismatch?

If the implementation is changed to wait indefinitely, would it make sense to introduce a new method in _CuratorFramework_  to check the current curator connection state without having to wait?

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)