[ 
https://issues.apache.org/jira/browse/CURATOR-257?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14729733#comment-14729733
 ] 

Martin Serrano commented on CURATOR-257:
----------------------------------------

Initial results show a service discovery failure:

{noformat}
sts run: 8, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 42.701 sec <<< 
FAILURE! - in org.apache.curator.x.discovery.details.TestServiceDiscovery
testNoServerOnStart(org.apache.curator.x.discovery.details.TestServiceDiscovery)
  Time elapsed: 30.906 sec  <<< FAILURE!
org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode 
for /test
        at org.apache.zookeeper.KeeperException.create(KeeperException.java:111)
        at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
        at org.apache.zookeeper.ZooKeeper.getChildren(ZooKeeper.java:1590)
        at 
org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:214)
        at 
org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:203)
        at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107)
        at 
org.apache.curator.framework.imps.GetChildrenBuilderImpl.pathInForeground(GetChildrenBuilderImpl.java:200)
        at 
org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:191)
        at 
org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:38)
        at 
org.apache.curator.x.discovery.details.ServiceDiscoveryImpl.queryForNames(ServiceDiscoveryImpl.java:279)
        at 
org.apache.curator.x.discovery.details.TestServiceDiscovery.testNoServerOnStart(TestServiceDiscovery.java:286)
{noformat}


> Thread.sleep in TestingZooKeeperMain.blockUntilStarted is costly for unit 
> tests
> -------------------------------------------------------------------------------
>
>                 Key: CURATOR-257
>                 URL: https://issues.apache.org/jira/browse/CURATOR-257
>             Project: Apache Curator
>          Issue Type: Improvement
>          Components: Tests
>            Reporter: Martin Serrano
>            Priority: Minor
>
> The {{TestingZooKeeperMain.blockUntilStarted()}} contains a 
> {{Thread.sleep(1000)}} call.  In a large battery of unit level tests (which 
> are otherwise quick and depend on curator service discovery) this time adds 
> up.
> Recent communication from JZ regarding the code:
> {quote}
> As I recall, it takes some time for the server to start up and this was a 
> hack to make sure it’s ready.  However, I no longer remember the details. Do 
> tests work with the timeout removed?
> {quote}
> We are in the midst of running our battery of tests to see if removal of this 
> sleep call causes any issues.   Our set of tests starts and stops the testing 
> server a few hundred times within the same process, so I think it will show 
> any such issues within a few runs.  If no issues appear (and the curator 
> tests pass of course) I will post a pull request.  
> A sleep of this sort is unreliable to ensure startup anyway.  While it may be 
> very unlikely for the server not to be up after 1 second, I've found with 
> similar approaches that these types of solutions will still fail once it a 
> while, leading to odd and hard to reproduce test failures.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to