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]