924060929 commented on code in PR #69806:
URL: https://github.com/apache/doris/pull/69806#discussion_r4440057297


##########
fe/fe-connector/fe-connector-hms/src/main/java/org/apache/doris/connector/hms/ThriftHmsClient.java:
##########
@@ -180,8 +182,12 @@ public boolean tableExists(String dbName, String 
tableName) {
     @Override
     public HmsTableInfo getTable(String dbName, String tableName) {
         return execute(client -> {
-            Table table = client.getTable(dbName, tableName);
-            return convertTable(table);
+            try {
+                return convertTable(client.getTable(dbName, tableName));
+            } catch (NoSuchObjectException | UnknownTableException failure) {

Review Comment:
   Fixed in c96b4861d98d. Both ThriftHmsClient partition-name overloads now 
call one table-scoped native RPC helper. 
NoSuchObjectException/UnknownTableException become the existing exact-db/table 
ConnectorTableNotFoundException inside execute/executeScanCall, preserving 
HmsClientException as the adapter boundary and the original native cause. 
Cancellation, pooling/taint, maxParts, successful empty results and ordinary 
failures keep their existing paths. Individual getPartition absence is 
explicitly not promoted; no generic execute-wide classifier or extra remote 
probe is added.
   
   Verified Hive3.1.3 get_partition_names calls fireReadTablePreEvent before 
its broad exception wrapper: 
https://github.com/apache/hive/blob/rel/release-3.1.3/standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java#L4422-L4426
 .
   
   Native tests exercise both absence types, both overloads and pooled/unpooled 
clients, asserting exact coordinates and the preserved cause chain; controls 
cover permission/connection errors, scan cancellation, empty results and a 
missing individual partition. The new native identity test fails on the 
previous head. Four FE integration cases use a real ThriftHmsClient -> 
CachingHmsClient -> HiveConnectorMetadata chain with only the native RPC client 
controlled. They warm the real HMS table cache, assert handle reuse after the 
remote drop, and drive real SHOW PARTITIONS/PARTITIONS consumers. Confirmed 
absence retires FE identity and actual HMS caches; delayed absence preserves a 
same-name replacement's numeric route, schema and actual newly cached metadata. 
These do not inject an already-typed failure.
   
   Validation combines the focused suite and final four-case integration rerun: 
278 unique cases across 16 classes, including 102 missing-table cases. FE build 
and Checkstyle passed with UI disabled. Controlled native RPCs; no live 
Hive-service integration claim.



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