github-actions[bot] commented on code in PR #69632:
URL: https://github.com/apache/doris/pull/69632#discussion_r4385088975
##########
fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalTable.java:
##########
@@ -235,7 +235,14 @@ public boolean isSupportedHmsTable() {
return true;
}
- protected synchronized void makeSureInitialized() {
+ protected void makeSureInitialized() {
+ withMissingTableRepair(() -> {
Review Comment:
[P2] Guard the live HMS partition listing after initialization
This guard returns before
`ShowPartitionsCommand.handleShowHMSTablePartitions()` directly calls
`client.listPartitionNames(...)`. Warm `SHOW TABLES` and `DESC ctl.db.t` for a
partitioned HMS table, drop `t` externally, then run `SHOW PARTITIONS FROM
ctl.db.t`: validation uses the warm `remoteTable` in
`isPartitionedTable()`/`isView()`, so it succeeds without a live read. Hive
3.1.3's [partition-name handler checks the base table and throws
`NoSuchObjectException`](https://github.com/apache/hive/blob/rel/release-3.1.3/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java#L4160-L4168),
with the [pre-event listener installed by
default](https://github.com/apache/hive/blob/rel/release-3.1.3/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java#L521-L523).
`ThriftHMSCachedClient` preserves that cause, but no repair guard surrounds
this later RPC, so the command fails while subsequent `SHOW TABLES` still lists
`t`. Route
both command listing overloads through the resolved table's repair boundary
and add a warm-object partition-listing negative test. This is a separate
reader from the existing schema and SHOW CREATE threads.
--
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]