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]

Reply via email to