apache / apache/pulsar

Flaky-test: TransactionBufferClientTest.testAbortOnTopic

Open
#18,684 1 comment 0 reactions 0 assignees View on GitHub
area/test Stale type/flaky-tests
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.