Kishen Das created HIVE-24794:
---------------------------------
Summary: Populate tableId in the response of get_valid_write_ids
API
Key: HIVE-24794
URL: https://issues.apache.org/jira/browse/HIVE-24794
Project: Hive
Issue Type: Sub-task
Components: HiveServer2
Reporter: Kishen Das
In HS2, after query compilation phase, we acquire lock in DriverTxnHandler.
isValidTxnListState and later ensure there are no conflicting transactions by
using driverContext.getTxnManager().getLatestTxnIdInConflict(); . This doesn't
work well, if there are external entities that drop and recreate the table with
the same name. So, we should also make sure the tableId itself is not changed,
after lock has been acquired. This Jira is to enhance getValidWriteIdList to
return tableId as well. Idea is to cache the tableId in SessionState and later
compare it with what getValidWriteIdList returns. If the table was dropped and
recreated, the tableId will not match and we have to recompile the query.
Caching the tableId in SessionState will be done as part of a separate Jira.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)