apache / apache/pulsar

Flaky-test: RackAwareTest.testPlacement

Open
#14,106 5 comments 0 reactions 0 assignees View on GitHub
help wanted lifecycle/stale type/flaky-tests
Dominant language
Java
Stars
15.3k
Forks
3.8k
Avg merge
1d 14h
Merged PRs (30d)
160

Description


Flaky-test: org.apache.pulsar.broker.service.RackAwareTest.testPlacement
Number of failures: 12

org.apache.pulsar.broker.service.RackAwareTest is flaky. The testPlacement test method fails sporadically.

```
java.lang.AssertionError: first bookie in rack 0 not included in ensemble expected [true] but found [false]
at org.testng.Assert.fail(Assert.java:99)
at org.testng.Assert.failNotEquals(Assert.java:1037)
at org.testng.Assert.assertTrue(Assert.java:45)
at org.apache.pulsar.broker.service.RackAwareTest.testPlacement(RackAwareTest.java:144)
```

Usage tip: To enable automatic navigation to failure message, open the following links with CTRL/CMD-click.
[example failure 2022-02-02T20:50:48.0192198Z](https://github.com/apache/pulsar/runs/5042884373?check_suite_focus=true?check_suite_focus=true#step:9:295)
[example failure 2022-02-02T02:30:44.8993147Z](https://github.com/apache/pulsar/runs/5031138214?check_suite_focus=true?check_suite_focus=true#step:9:295)
[example failure 2022-01-30T11:09:35.6750537Z](https://github.com/apache/pulsar/runs/4996340846?check_suite_focus=true?check_suite_focus=true#step:9:295)
[example failure 2022-01-30T10:23:16.6468139Z](https://github.com/apache/pulsar/runs/4996173817?check_suite_focus=true?check_suite_focus=true#step:9:295)
[example failure 2022-01-29T05:38:44.1136071Z](https://github.com/apache/pulsar/runs/4989526517?check_suite_focus=true?check_suite_focus=true#step:9:307)
[example failure 2022-01-29T04:31:36.9932064Z](https://github.com/apache/pulsar/runs/4989272961?check_suite_focus=true?check_suite_focus=true#step:9:249)
[example failure 2022-01-28T12:07:36.1877113Z](https://github.com/apache/pulsar/runs/4980157601?check_suite_focus=true?check_suite_focus=true#step:9:293)
[example failure 2022-01-28T10:32:37.8836639Z](https://github.com/apache/pulsar/runs/4978579988?check_suite_focus=true?check_suite_focus=true#step:9:291)
[example failure 2022-01-27T18:30:58.6029528Z](https://github.com/apache/pulsar/runs/4970761502?check_suite_focus=true?check_suite_focus=true#step:9:289)
[example failure 2022-01-27T11:18:25.6525106Z](https://github.com/apache/pulsar/runs/4964583087?check_suite_focus=true?check_suite_focus=true#step:9:301)
[example failure 2022-01-27T09:37:36.5674813Z](https://github.com/apache/pulsar/runs/4964005789?check_suite_focus=true?check_suite_focus=true#step:9:289)

Full exception stacktrace

java.lang.AssertionError: first bookie in rack 0 not included in ensemble expected [true] but found [false]

at org.testng.Assert.fail(Assert.java:99)
at org.testng.Assert.failNotEquals(Assert.java:1037)
at org.testng.Assert.assertTrue(Assert.java:45)
at org.apache.pulsar.broker.service.RackAwareTest.testPlacement(RackAwareTest.java:144)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
at org.testng.internal.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:45)
at org.testng.internal.InvokeMethodRunnable.call(InvokeMethodRunnable.java:73)
at org.testng.internal.InvokeMethodRunnable.call(InvokeMethodRunnable.java:11)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

```
java.lang.AssertionError: first bookie in rack 0 not included in ensemble expected [true] but found [false]
at org.testng.Assert.fail(Assert.java:99)
at org.testng.Assert.failNotEquals(Assert.java:1037)
at org.testng.Assert.assertTrue(Assert.java:45)
at org.apache.pulsar.broker.service.RackAwareTest.testPlacement(RackAwareTest.java:135)
```

Usage tip: To enable automatic navigation to failure message, open the following links with CTRL/CMD-click.
[example failure 2022-02-01T21:03:17.7727542Z](https://github.com/apache/pulsar/runs/5027932245?check_suite_focus=true?check_suite_focus=true#step:9:291)

Full exception stacktrace

java.lang.AssertionError: first bookie in rack 0 not included in ensemble expected [true] but found [false]

at org.testng.Assert.fail(Assert.java:99)
at org.testng.Assert.failNotEquals(Assert.java:1037)
at org.testng.Assert.assertTrue(Assert.java:45)
at org.apache.pulsar.broker.service.RackAwareTest.testPlacement(RackAwareTest.java:135)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
at org.testng.internal.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:45)
at org.testng.internal.InvokeMethodRunnable.call(InvokeMethodRunnable.java:73)
at org.testng.internal.InvokeMethodRunnable.call(InvokeMethodRunnable.java:11)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)

Contributor guide

Open the contributing guide

Research direction

Start with org.apache.pulsar.broker.service.RackAwareTest.testPlacement and the assertions at RackAwareTest.java lines 135 and 144. Compare the linked CI failure runs and inspect how the test selects bookies and builds the ensemble. Done means the sporadic assertion failures are addressed and the test reliably includes the expected bookie in rack 0.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.