Hi,
last night I let my hudson server do 42 (sic) builds of ZooKeeper trunk. One
of this builds failed:
junit.framework.AssertionFailedError: Leader hasn't joined: 5
at org.apache.zookeeper.test.FLETest.testLE(FLETest.java:312)
I did this many builds of trunk, because in my quest to redo the client netty
integration step by step I made one step which resulted in 2 failed builds out
of 8. The two failures were both:
junit.framework.AssertionFailedError: Threads didn't join
at
org.apache.zookeeper.test.FLERestartTest.testLERestart(FLERestartTest.java:198)
I can't find any relationship between the above test and my changes. The test
does not use the ZooKeeper client code at all. So I begin to believe that
there are some Heisenbugs, Bohrbugs or Mandelbugs[1] in ZooKeeper that just
happen to show up from time to time without any relationship to the current
changes.
I'll try to investigate the cause further, maybe there is some relationship
I've not yet found. But if my assumption should apply, then these kind of bugs
would be a strong argument in favor of refactoring. These bugs are best found
by cleaning the code, most important implementing strict separation of
concerns.
Wouldn't you like to setup Hudson to build ZooKeeper trunk every half an hour?
[1] http://en.wikipedia.org/wiki/Unusual_software_bug
Best regards,
Thomas Koch, http://www.koch.ro