github-actions[bot] commented on code in PR #65335:
URL: https://github.com/apache/doris/pull/65335#discussion_r3536312292


##########
regression-test/suites/external_table_p0/jdbc/test_jdbc_refresh_catalog_manual_miss_load.groovy:
##########
@@ -146,6 +138,14 @@ suite("test_jdbc_refresh_catalog_manual_miss_load", 
"p0,external") {
         return ((Number) statRows[0][0]).intValue()
     }
 
+    def preheatSchemaCache = { List<String> collisionTableNames ->
+        sql """REFRESH CATALOG ${catalogName}"""
+        collisionTableNames.each { tableName ->
+            sql """DESC ${catalogName}.${remoteDbName}.${tableName}"""
+        }
+        assertEquals(collisionTableCount, getSchemaCacheSize())
+    }
+
     // Run the blocking reproduction once and assert the refresh latency 
profile.

Review Comment:
   The race still will not be exercised because this test enables a debug point 
name that the JDBC path never checks. The implementation sleeps only when 
`JdbcExternalTable.initSchema.sleep` is enabled 
(`JdbcExternalTable.initSchema()` reads that exact name), while this test 
enables/disables `PluginDrivenExternalTable.initSchema.sleep`, which has no FE 
implementation. With no sleep injected, the `DESC` thread can complete 
immediately and the refresh-latency assertions no longer validate the intended 
blocking path. Please use the `JdbcExternalTable.initSchema.sleep` debug point 
here.



##########
regression-test/suites/external_table_p0/jdbc/test_jdbc_refresh_catalog_manual_miss_load.groovy:
##########
@@ -146,6 +138,14 @@ suite("test_jdbc_refresh_catalog_manual_miss_load", 
"p0,external") {
         return ((Number) statRows[0][0]).intValue()
     }
 

Review Comment:
   Once this closure-order fix lets the case reach `runRefreshRace`, it will 
still fail before enabling the FE debug point. The suite is tagged only 
`p0,external`, so `RegressionTest.getGroupExecType()` classifies it as 
`NORMAL`, and `Suite.GetDebugPoint()` throws unless the suite is 
`nonConcurrent` or `docker`. This test checks `enable_debug_points` and then 
calls `GetDebugPoint().enableDebugPointForAllFEs(...)`, so a 
debug-point-enabled JDBC run still errors instead of exercising the refresh 
race. Please add `nonConcurrent` (or `docker`, if that is the intended 
execution model) to the suite groups.



-- 
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