[ 
https://issues.apache.org/jira/browse/HIVE-20890?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17142024#comment-17142024
 ] 

Denys Kuzmenko commented on HIVE-20890:
---------------------------------------

Hi [~pvary]. I can create pull request if necessary. In regards to 1st 
question, we are going to lock whole table if number of partitions we want to 
acquire lock on exceeds the threshold. In this case we are not locking 
partitions only table.

> 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: Improvement
>          Components: Transactions
>            Reporter: Gopal Vijayaraghavan
>            Assignee: Denys Kuzmenko
>            Priority: Major
>         Attachments: HIVE-20890.1.patch, HIVE-20890.2.patch, 
> HIVE-20890.3.patch, HIVE-20890.4.patch
>
>
> HIVE-19369 proposes adding a EXCL_WRITE lock which does not wait for any 
> SHARED_READ locks for read 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
(v8.3.4#803005)

Reply via email to