Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.0.0
-
None
Description
To ensure correctness, in particular for operations that require exclusive (INSERT OVERWRITE) and semishared (UPDATE/DELETE) locks.
This is a temporary fix till lock acquisition is moved before analyze in HIVE-18948.
With this fix, system proceed as follows. The driver will acquire the snapshot, compile the query wrt that snapshot, and then, it will acquire locks. If snapshot is still valid, it will continue as usual. But if snapshot is not valid anymore, it will recompile the query.
This is easier to implement than full solution described in HIVE-18948 because we do not need to move the logic to extract the read/write entities from a query before compilation (actually while parsing).
Attachments
Attachments
Issue Links
- is caused by
-
HIVE-18825 Define ValidTxnList before starting query optimization
- Closed
- is related to
-
HIVE-19907 Driver.isValidTxnListState should rely on global txn list
- Resolved
-
HIVE-19859 Inspect lock components for DBHiveLock while verifying whether transaction list is valid
- Closed
-
HIVE-19876 Multiple fixes for Driver.isValidTxnListState
- Closed
- relates to
-
HIVE-18948 Acquire locks before generating the valid transaction list
- Open
- links to