apache / apache/pulsar

Flaky-test: TransactionBufferCloseTest.deleteTopicCloseTransactionBufferTest

Open
#20,673 11 comments 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/5401760645/jobs/9812478081?pr=20671#step:10:913

### Exception stacktrace

```
Error: Tests run: 14, Failures: 1, Errors: 0, Skipped: 13, Time elapsed: 52.953 s <<< FAILURE! - in org.apache.pulsar.broker.transaction.buffer.TransactionBufferCloseTest
Error: org.apache.pulsar.broker.transaction.buffer.TransactionBufferCloseTest.deleteTopicCloseTransactionBufferTest[true](3) Time elapsed: 10.058 s <<< FAILURE!
org.testng.internal.thread.ThreadTimeoutException: Method org.apache.pulsar.broker.transaction.buffer.TransactionBufferCloseTest.deleteTopicCloseTransactionBufferTest() didn't finish within the time-out 10000
at java.base@17.0.7/jdk.internal.misc.Unsafe.park(Native Method)
at java.base@17.0.7/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
at java.base@17.0.7/java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1866)
at java.base@17.0.7/java.util.concurrent.ForkJoinPool.unmanagedBlock(ForkJoinPool.java:3463)
at java.base@17.0.7/java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3434)
at java.base@17.0.7/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1939)
at java.base@17.0.7/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2095)
at app//org.apache.pulsar.client.admin.internal.BaseResource.sync(BaseResource.java:342)
at app//org.apache.pulsar.client.admin.internal.TopicsImpl.deletePartitionedTopic(TopicsImpl.java:457)
at app//org.apache.pulsar.client.admin.Topics.deletePartitionedTopic(Topics.java:802)
at app//org.apache.pulsar.broker.transaction.buffer.TransactionBufferCloseTest.deleteTopic(TransactionBufferCloseTest.java:81)
at app//org.apache.pulsar.broker.transaction.buffer.TransactionBufferCloseTest.deleteTopicCloseTransactionBufferTest(TransactionBufferCloseTest.java:72)
at java.base@17.0.7/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base@17.0.7/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base@17.0.7/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base@17.0.7/java.lang.reflect.Method.invoke(Method.java:568)
at app//org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:139)
at app//org.testng.internal.invokers.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:47)
at app//org.testng.internal.invokers.InvokeMethodRunnable.call(InvokeMethodRunnable.java:76)
at app//org.testng.internal.invokers.InvokeMethodRunnable.call(InvokeMethodRunnable.java:11)
at java.base@17.0.7/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base@17.0.7/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base@17.0.7/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base@17.0.7/java.lang.Thread.run(Thread.java:833)
```

### Are you willing to submit a PR?

- [ ] I'm willing to submit a PR!

Contributor guide

Open the contributing guide

Research direction

Start with TransactionBufferCloseTest.deleteTopicCloseTransactionBufferTest and its deleteTopic helper at TransactionBufferCloseTest.java:72 and :81. Run the failing test and inspect the timeout path through TopicsImpl.deletePartitionedTopic and BaseResource.sync. Done means the test no longer intermittently exceeds its timeout and passes reliably.

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
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.