[ https://issues.apache.org/jira/browse/HIVE-27319?focusedWorklogId=861094&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-861094 ]
ASF GitHub Bot logged work on HIVE-27319: ----------------------------------------- Author: ASF GitHub Bot Created on: 09/May/23 00:45 Start Date: 09/May/23 00:45 Worklog Time Spent: 10m Work Description: dengzhhu653 commented on code in PR #4299: URL: https://github.com/apache/hive/pull/4299#discussion_r1188013427 ########## standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/ExceptionHandler.java: ########## @@ -127,7 +128,7 @@ public ExceptionHandler toMetaExceptionIfInstance(String message, Class<?>... cl */ public static void rethrowException(Exception e) throws TException { throw handleException(e) - .throwIfInstance(MetaException.class, NoSuchObjectException.class) + .throwIfInstance(MetaException.class, NoSuchObjectException.class, InvalidObjectException.class) Review Comment: The `rethrowException` is called in multiple APIs, we should make sure these APIs able to throw InvalidObjectException, otherwise the client will only see `TApplicationException`, which makes things worse. The `MetaException` at least will convey the message of `InvalidObjectException` to the client. I think we'd better modify the way `get_partition_by_names_req()` handles the exception. Issue Time Tracking ------------------- Worklog Id: (was: 861094) Time Spent: 1h 20m (was: 1h 10m) > HMS server should throw InvalidObjectException in get_partitions_by_names() > when the table is missing/dropped > ------------------------------------------------------------------------------------------------------------- > > Key: HIVE-27319 > URL: https://issues.apache.org/jira/browse/HIVE-27319 > Project: Hive > Issue Type: Bug > Components: Hive, Standalone Metastore > Reporter: Sai Hemanth Gantasala > Assignee: Sai Hemanth Gantasala > Priority: Major > Labels: pull-request-available > Time Spent: 1h 20m > Remaining Estimate: 0h > > When the table object is dropped by a concurrent thread, the > get_partitions_by_names_req() API is currently throwing a > TApplicationException to the client. Instead, the HMS server should propagate > the InvalidObjectException thrown by getTable() to the HMS client. By doing > this, other services using HMS client will understand the exception better. -- This message was sent by Atlassian Jira (v8.20.10#820010)