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]

Reply via email to