Details
-
Improvement
-
Status: Open
-
Critical
-
Resolution: Unresolved
-
3.0.0
-
None
-
None
Description
HIVE-18825 moves the valid transaction list generation logic before query optimization. In order to support lock-based concurrency control correctly, the logic to acquire the locks has to be moved before query optimization too, and before the valid transaction list is generated.
This requires a bit of work/refactoring, since lock acquisition logic relies on read/write entities, and it is heavily dependent on the QueryPlan object too, e.g., it sets some properties in the file sink descriptors for the plan. Currently, all these data structures (except for read entities) are only available after query has been optimized, hence we will need to 1) generate some of this data structures before query optimization, e.g., write entities, and 2) create and propagate some of the properties so they are set during query optimization, e.g., those properties contained in the file sink descriptors.
Attachments
Issue Links
- is related to
-
HIVE-19382 Acquire locks before generating valid transaction list for some operations
- Closed
- is required by
-
HIVE-18570 ACID IOW implemented using base may delete too much data
- Resolved
- relates to
-
HIVE-18609 Results cache invalidation based on ACID table updates
- Closed
-
HIVE-18825 Define ValidTxnList before starting query optimization
- Closed