xiangfu0 opened a new pull request, #17049: URL: https://github.com/apache/pinot/pull/17049
In ControllerTest.cleanup(): add a final wait to ensure no tables, logical tables, or schemas remain, guaranteeing a purely empty cluster. **Background**: Tests intermittently failed with 409 Conflict when creating tables because Helix ExternalViews lingered briefly after deletion, e.g., “External view for testTable_REALTIME still exists.” Ref: https://github.com/apache/pinot/actions/runs/18666752118/job/53219563439?pr=17042 ``` Error: org.apache.pinot.controller.helix.LogicalTableMetadataCacheTest.testCacheWithMultipleLogicalTables -- Time elapsed: 0.343 s Error: org.apache.pinot.controller.helix.LogicalTableMetadataCacheTest.testLogicalTableCacheWithUpdates -- Time elapsed: 0.248 s Error: org.apache.pinot.controller.helix.LogicalTableMetadataCacheTest.beforeMethod -- Time elapsed: 0.322 s <<< FAILURE! java.io.IOException: org.apache.pinot.common.exception.HttpErrorStatusException: Got error status code: 409 (Conflict) with reason: "External view for testTable_REALTIME still exists. If the table is just deleted, please wait for the clean up to finish before recreating it. If the external view is not removed after a long time, try restarting the servers showing up in the external view" while sending request: /tables to controller: runnervmwhb2z.0y4ggixqpiae5jt5tzqp2bomxe.ex.internal.cloudapp.net, version: Unknown at org.apache.pinot.controller.helix.ControllerRequestClient.addTableConfig(ControllerRequestClient.java:137) at org.apache.pinot.controller.helix.ControllerTest.addTableConfig(ControllerTest.java:775) at org.apache.pinot.controller.helix.LogicalTableMetadataCacheTest.beforeMethod(LogicalTableMetadataCacheTest.java:87) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:141) at org.testng.internal.invokers.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:71) at org.testng.internal.invokers.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:400) at org.testng.internal.invokers.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:333) at org.testng.internal.invokers.TestInvoker.runConfigMethods(TestInvoker.java:836) at org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:601) at org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:230) at org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:63) at org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:995) at org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:203) at org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:154) at org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:134) at java.base/java.util.ArrayList.forEach(ArrayList.java:1541) at org.testng.TestRunner.privateRun(TestRunner.java:741) at org.testng.TestRunner.run(TestRunner.java:616) at org.testng.SuiteRunner.runTest(SuiteRunner.java:421) at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:413) at org.testng.SuiteRunner.privateRun(SuiteRunner.java:373) at org.testng.SuiteRunner.run(SuiteRunner.java:312) at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95) at org.testng.TestNG.runSuitesSequentially(TestNG.java:1274) at org.testng.TestNG.runSuitesLocally(TestNG.java:1208) at org.testng.TestNG.runSuites(TestNG.java:1112) at org.testng.TestNG.run(TestNG.java:1079) at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:308) at org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:71) at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:113) 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) Caused by: org.apache.pinot.common.exception.HttpErrorStatusException: Got error status code: 409 (Conflict) with reason: "External view for testTable_REALTIME still exists. If the table is just deleted, please wait for the clean up to finish before recreating it. If the external view is not removed after a long time, try restarting the servers showing up in the external view" while sending request: /tables to controller: runnervmwhb2z.0y4ggixqpiae5jt5tzqp2bomxe.ex.internal.cloudapp.net, version: Unknown at org.apache.pinot.common.utils.http.HttpClient.wrapAndThrowHttpException(HttpClient.java:523) at org.apache.pinot.controller.helix.ControllerRequestClient.addTableConfig(ControllerRequestClient.java:133) ... 38 more ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
