zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Hunt <ph...@apache.org>
Subject Re: New flaky: testLearnerMetricsTest
Date Tue, 23 Jul 2019 20:29:38 GMT
Yea, thread sleep (without some sort of retry/timeout logic) is an
antipattern. Committers - please be on the lookout for such things and flag
them during review as they are a significant cause of flakeys. In a heavily
loaded or virtualized environment even seconds can be insufficient.

QuorumTest line 320 or so is a better example. In many places we use
countdownlatches instead...

I see someone attempted to add "waitFor" but it never caught on? Might be
better approach.

zookeeper-server/src/test/java/org/apache/zookeeper/ZKTestCase.java
95:    public void waitFor(String msg, WaitForCondition condition, int
timeout)

Patrick

On Mon, Jul 22, 2019 at 1:47 AM Andor Molnar <andor@apache.org> wrote:

> Hi team,
>
> New test testLearnerMetricsTest() added by the following commit failed 2
> times on master with the same error:
>
> junit.framework.AssertionFailedError: expected:<10> but was:<9>
>         at
> org.apache.zookeeper.server.quorum.LearnerMetricsTest.testLearnerMetricsTest(LearnerMetricsTest.java:88)
>         at
> org.apache.zookeeper.JUnit4ZKTestRunner$LoggedInvokeMethod.evaluate(JUnit4ZKTestRunner.java:80)
>
> https://github.com/apache/zookeeper/pull/856
> Submitted by: jhuan31
>
> Maybe we should just blame the Thread.sleep(200) in line:77 and replace it
> with some clever logic.
> Please take a look.
>
> Regards,
> Andor
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message