Skip to content

[fix][test] Improve deleteNamespaceWithRetry#20431

Merged
lhotari merged 4 commits into
apache:masterfrom
lhotari:lh-fix-test-flakiness-namespace-delete
May 30, 2023
Merged

[fix][test] Improve deleteNamespaceWithRetry#20431
lhotari merged 4 commits into
apache:masterfrom
lhotari:lh-fix-test-flakiness-namespace-delete

Conversation

@lhotari

@lhotari lhotari commented May 29, 2023

Copy link
Copy Markdown
Member

Motivation

There are this type of flaky test failures:
https://github.com/apache/pulsar/actions/runs/5111571116/jobs/9188966524?pr=20428#step:10:1449

  Error:  Tests run: 83, Failures: 1, Errors: 0, Skipped: 50, Time elapsed: 629.104 s <<< FAILURE! - in org.apache.pulsar.broker.admin.AdminApi2Test
  Error:  org.apache.pulsar.broker.admin.AdminApi2Test.resetClusters  Time elapsed: 5.296 s  <<< FAILURE!
  org.testcontainers.shaded.org.awaitility.core.ConditionTimeoutException: Condition with org.apache.pulsar.broker.auth.MockedPulsarServiceBaseTest was not fulfilled within 5 seconds.
  	at org.testcontainers.shaded.org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
  	at org.testcontainers.shaded.org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
  	at org.testcontainers.shaded.org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
  	at org.testcontainers.shaded.org.awaitility.core.ConditionFactory.until(ConditionFactory.java:985)
  	at org.testcontainers.shaded.org.awaitility.core.ConditionFactory.until(ConditionFactory.java:954)
  	at org.apache.pulsar.broker.auth.MockedPulsarServiceBaseTest.deleteNamespaceWithRetry(MockedPulsarServiceBaseTest.java:618)
  	at org.apache.pulsar.broker.auth.MockedPulsarServiceBaseTest.deleteNamespaceWithRetry(MockedPulsarServiceBaseTest.java:609)
  	at org.apache.pulsar.broker.admin.AdminApi2Test.resetClusters(AdminApi2Test.java:178)
  	at jdk.internal.reflect.GeneratedMethodAccessor413.invoke(Unknown Source)
  	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.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:69)
  	at org.testng.internal.invokers.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:361)
  	at org.testng.internal.invokers.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:296)
  	at org.testng.internal.invokers.TestInvoker.runConfigMethods(TestInvoker.java:823)
  	at org.testng.internal.invokers.TestInvoker.runAfterConfigurations(TestInvoker.java:792)
  	at org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:768)
  	at org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:221)
  	at org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:50)
  	at org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:969)
  	at org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:194)
  	at org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:148)
  	at org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:128)
  	at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
  	at org.testng.TestRunner.privateRun(TestRunner.java:829)
  	at org.testng.TestRunner.run(TestRunner.java:602)
  	at org.testng.SuiteRunner.runTest(SuiteRunner.java:437)
  	at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:431)
  	at org.testng.SuiteRunner.privateRun(SuiteRunner.java:391)
  	at org.testng.SuiteRunner.run(SuiteRunner.java:330)
  	at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
  	at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95)
  	at org.testng.TestNG.runSuitesSequentially(TestNG.java:1256)
  	at org.testng.TestNG.runSuitesLocally(TestNG.java:1176)
  	at org.testng.TestNG.runSuites(TestNG.java:1099)
  	at org.testng.TestNG.run(TestNG.java:1067)
  	at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:155)
  	at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeSingleClass(TestNGDirectoryTestSuite.java:102)
  	at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.executeLazy(TestNGDirectoryTestSuite.java:117)
  	at org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.execute(TestNGDirectoryTestSuite.java:86)
  	at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:137)
  	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:385)
  	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:162)
  	at org.apache.maven.surefire.booter.ForkedBooter.run(ForkedBooter.java:507)
  	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:495)

Since the exception is swallowed, it's hard to find out the reason. This PR attempts to fix the issue.

Modifications

Documentation

  • doc
  • doc-required
  • doc-not-needed
  • doc-complete

- don't fail when ns is already deleted
- don't swallow the last exception
@lhotari lhotari added this to the 3.1.0 milestone May 29, 2023
@lhotari lhotari self-assigned this May 29, 2023
@github-actions github-actions Bot added the doc-not-needed Your PR changes do not impact docs label May 29, 2023
@lhotari lhotari requested a review from tisonkun May 30, 2023 05:26
@lhotari lhotari force-pushed the lh-fix-test-flakiness-namespace-delete branch from ed8ca76 to 2b2a3e5 Compare May 30, 2023 06:35
@lhotari lhotari merged commit e0b9531 into apache:master May 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

doc-not-needed Your PR changes do not impact docs ready-to-test type/flaky-tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants