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]