Fix Flaky TestHoodieTimelineArchiver
- Dominant language
- Java
- Stars
- 6.2k
- Forks
- 2.5k
- Avg merge
- 2d 8h
- Merged PRs (30d)
- 111
Description
Ref link:
[https://dev.azure.com/apache-hudi-ci-org/785b6ef4-2f42-4a89-8f0e-5f0d7039a0cc/_apis/build/builds/19769/logs/25]
{code:java}
2023-09-09T04:23:56.7004686Z [ERROR] Tests run: 46, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 285.205 s <<< FAILURE! - in org.apache.hudi.io.TestHoodieTimelineArchiver
2023-09-09T04:23:56.7022653Z [ERROR] testArchivalWithMultiWritersMDTDisabled Time elapsed: 1.093 s <<< ERROR!
2023-09-09T04:23:56.7023308Z java.util.concurrent.ExecutionException: java.util.concurrent.CancellationException
2023-09-09T04:23:56.7023916Z at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:357)
2023-09-09T04:23:56.7025347Z at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908)
2023-09-09T04:23:56.7112002Z at org.apache.hudi.io.TestHoodieTimelineArchiver.testArchivalWithMultiWriters(TestHoodieTimelineArchiver.java:666)
2023-09-09T04:23:56.7113737Z at org.apache.hudi.io.TestHoodieTimelineArchiver.testArchivalWithMultiWritersMDTDisabled(TestHoodieTimelineArchiver.java:608)
2023-09-09T04:23:56.7115095Z at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2023-09-09T04:23:56.7116358Z at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
2023-09-09T04:23:56.7117681Z at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
2023-09-09T04:23:56.7118945Z at java.lang.reflect.Method.invoke(Method.java:498)
2023-09-09T04:23:56.7120227Z at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688)
2023-09-09T04:23:56.7121614Z at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
2023-09-09T04:23:56.7123002Z at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
2023-09-09T04:23:56.7124383Z at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
2023-09-09T04:23:56.7125755Z at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)
2023-09-09T04:23:56.7127115Z at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)
2023-09-09T04:23:56.7128531Z at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
2023-09-09T04:23:56.7129915Z at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
2023-09-09T04:23:56.7131319Z at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
2023-09-09T04:23:56.7133214Z at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
2023-09-09T04:23:56.7134182Z at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
2023-09-09T04:23:56.7135026Z at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
2023-09-09T04:23:56.7135427Z at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
2023-09-09T04:23:56.7135910Z at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
2023-09-09T04:23:56.7136346Z at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210)
2023-09-09T04:23:56.7136775Z at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-09-09T04:23:56.7137212Z at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206)
2023-09-09T04:23:56.7137648Z at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131)
2023-09-09T04:23:56.7138203Z at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65)
2023-09-09T04:23:56.7138628Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
2023-09-09T04:23:56.7139058Z at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-09-09T04:23:56.7139686Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
2023-09-09T04:23:56.7140070Z at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
2023-09-09T04:23:56.7140461Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
2023-09-09T04:23:56.7140889Z at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-09-09T04:23:56.7141295Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
2023-09-09T04:23:56.7141705Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
2023-09-09T04:23:56.7142041Z at java.util.ArrayList.forEach(ArrayList.java:1259)
2023-09-09T04:23:56.7142447Z at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
2023-09-09T04:23:56.7142946Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
2023-09-09T04:23:56.7143377Z at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-09-09T04:23:56.7143795Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
2023-09-09T04:23:56.7144184Z at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
2023-09-09T04:23:56.7144576Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
2023-09-09T04:23:56.7145000Z at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-09-09T04:23:56.7145400Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
2023-09-09T04:23:56.7145794Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
2023-09-09T04:23:56.7146125Z at java.util.ArrayList.forEach(ArrayList.java:1259)
2023-09-09T04:23:56.7146525Z at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
2023-09-09T04:23:56.7147015Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
2023-09-09T04:23:56.7147442Z at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-09-09T04:23:56.7147859Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
2023-09-09T04:23:56.7148338Z at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
2023-09-09T04:23:56.7148728Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
2023-09-09T04:23:56.7149138Z at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
2023-09-09T04:23:56.7149548Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
2023-09-09T04:23:56.7149944Z at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
2023-09-09T04:23:56.7150393Z at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
2023-09-09T04:23:56.7150958Z at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
2023-09-09T04:23:56.7151407Z at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
2023-09-09T04:23:56.7151837Z at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:108)
2023-09-09T04:23:56.7152246Z at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:88)
2023-09-09T04:23:56.7152687Z at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0(EngineExecutionOrchestrator.java:54)
2023-09-09T04:23:56.7153151Z at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams(EngineExecutionOrchestrator.java:67)
2023-09-09T04:23:56.7153585Z at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute(EngineExecutionOrchestrator.java:52)
2023-09-09T04:23:56.7153983Z at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:96)
2023-09-09T04:23:56.7154354Z at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:75)
2023-09-09T04:23:56.7154743Z at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150)
2023-09-09T04:23:56.7155172Z at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124)
2023-09-09T04:23:56.7155592Z at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
2023-09-09T04:23:56.7155977Z at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
2023-09-09T04:23:56.7156348Z at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
2023-09-09T04:23:56.7156693Z at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
2023-09-09T04:23:56.7156975Z Caused by: java.util.concurrent.CancellationException
2023-09-09T04:23:56.7157270Z at java.util.concurrent.CompletableFuture.cancel(CompletableFuture.java:2276)
2023-09-09T04:23:56.7157648Z at org.apache.hudi.io.TestHoodieTimelineArchiver.lambda$null$8(TestHoodieTimelineArchiver.java:679)
2023-09-09T04:23:56.7157970Z at java.util.ArrayList.forEach(ArrayList.java:1259)
2023-09-09T04:23:56.7158341Z at org.apache.hudi.io.TestHoodieTimelineArchiver.lambda$allOfTerminateOnFailure$9(TestHoodieTimelineArchiver.java:679)
2023-09-09T04:23:56.7158754Z at java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:884)
2023-09-09T04:23:56.7159115Z at java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:866)
2023-09-09T04:23:56.7159486Z at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
2023-09-09T04:23:56.7159845Z at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1609)
2023-09-09T04:23:56.7160190Z at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
2023-09-09T04:23:56.7160544Z at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
2023-09-09T04:23:56.7160910Z at java.lang.Thread.run(Thread.java:750)
2023-09-09T04:23:56.7161019Z {code}
## JIRA info
- Link: https://issues.apache.org/jira/browse/HUDI-6841
- Type: Test
- Epic: https://issues.apache.org/jira/browse/HUDI-4302
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with org.apache.hudi.io.TestHoodieTimelineArchiver, especially testArchivalWithMultiWritersMDTDisabled, testArchivalWithMultiWriters, and allOfTerminateOnFailure around lines 608, 666, and 679. Reproduce the failure and trace the CompletableFuture cancellation; done means the test completes reliably without the reported CancellationException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- testing-qa
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 48/100