Gopal V created HIVE-20890:
------------------------------
Summary: ACID: Allow whole table ReadLocks to skip all partition
locks
Key: HIVE-20890
URL: https://issues.apache.org/jira/browse/HIVE-20890
Project: Hive
Issue Type: Bug
Components: Transactions
Reporter: Gopal V
HIVE-19369 proposes adding a EXCL_WRITE lock which does not wait for any
SHARED_READ locks for insert operations - in the presence of that lock, the
insert overwrite no longer takes an exclusive lock.
The only exclusive operation will be a schema change or drop table, which
should take an exclusive lock on the entire table directly.
{code}
explain locks select * from tpcds_bin_partitioned_orc_1000.store_sales where
ss_sold_date_sk=2452626
+----------------------------------------------------+
| Explain |
+----------------------------------------------------+
| LOCK INFORMATION: |
| tpcds_bin_partitioned_orc_1000.store_sales -> SHARED_READ |
| tpcds_bin_partitioned_orc_1000.store_sales.ss_sold_date_sk=2452626 ->
SHARED_READ |
+----------------------------------------------------+
{code}
So the per-partition SHARED_READ locks are no longer necessary, if the lock
builder already includes the table-wide SHARED_READ locks.
The removal of entire partitions is the only part which needs to be taken care
of within this semantics as row-removal instead of directory removal (i.e "drop
partition" -> "truncate partition" and have the truncation trigger a whole
directory cleaner, so that the partition disappears when there are 0 rows left).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)