Flaky-test: TransactionBufferClientTest.testAbortOnTopic
- Dominant language
- Java
- Stars
- 15.3k
- Forks
- 3.8k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 160
Description
### Search before asking
- [X] I searched in the [issues](https://github.com/apache/pulsar/issues) and found nothing similar.
### Example failure
https://github.com/apache/pulsar/actions/runs/3581022993/jobs/6023785340#step:10:817
### Exception stacktrace
Full exception stacktrace
Error: Tests run: 57, Failures: 1, Errors: 0, Skipped: 55, Time elapsed: 70.181 s <<< FAILURE! - in org.apache.pulsar.broker.transaction.buffer.TransactionBufferClientTest
Error: testAbortOnTopic(org.apache.pulsar.broker.transaction.buffer.TransactionBufferClientTest) Time elapsed: 3.345 s <<< FAILURE!
java.util.concurrent.ExecutionException: org.apache.pulsar.client.api.transaction.TransactionBufferClientException$RequestTimeoutException: Transaction buffer request timeout.
at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073)
at org.apache.pulsar.broker.transaction.buffer.TransactionBufferClientTest.testAbortOnTopic(TransactionBufferClientTest.java:126)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:139)
at org.testng.internal.invokers.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:47)
at org.testng.internal.invokers.InvokeMethodRunnable.call(InvokeMethodRunnable.java:76)
at org.testng.internal.invokers.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:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:[833](https://github.com/apache/pulsar/actions/runs/3581022993/jobs/6023785340#step:10:834))
Caused by: org.apache.pulsar.client.api.transaction.TransactionBufferClientException$RequestTimeoutException: Transaction buffer request timeout.
at org.apache.pulsar.broker.transaction.buffer.impl.TransactionBufferHandlerImpl.lambda$endTxn$0(TransactionBufferHandlerImpl.java:140)
at io.netty.util.HashedWheelTimer$HashedWheelTimeout.run(HashedWheelTimer.java:715)
at io.netty.util.concurrent.ImmediateExecutor.execute(ImmediateExecutor.java:34)
at io.netty.util.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:703)
at io.netty.util.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:790)
at io.netty.util.HashedWheelTimer$Worker.run(HashedWheelTimer.java:503)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
... 1 more
### Are you willing to submit a PR?
- [ ] I'm willing to submit a PR!
Contributor guide
Research direction
Start with org.apache.pulsar.broker.transaction.buffer.TransactionBufferClientTest.testAbortOnTopic, especially line 126, and inspect the timeout path in TransactionBufferHandlerImpl.endTxn at line 140. Re-run the named test and compare it with the linked CI failure. Done means the test no longer intermittently fails with a Transaction buffer request timeout.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- distributed-systems, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100