You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Alan Gates (JIRA)" <ji...@apache.org> on 2014/10/14 20:27:38 UTC
[jira] [Updated] (HIVE-8459) DbLockManager locking table in
addition to partitions
[ https://issues.apache.org/jira/browse/HIVE-8459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alan Gates updated HIVE-8459:
-----------------------------
Description:
Queries and operations on partitioned tables are generating locks on the whole table when they should only be locking the partition. For example:
{code}
select count(*) from concur_orc_tab_part where ds = 'today';
{code}
This should only be locking the partition ds='today'. But instead:
{code}
mysql> select * from HIVE_LOCKS;
+----------------+----------------+----------+---------+---------------------+--------------+---------------+--------------+-------------------+----------------+---------+--------------------+
| HL_LOCK_EXT_ID | HL_LOCK_INT_ID | HL_TXNID | HL_DB | HL_TABLE | HL_PARTITION | HL_LOCK_STATE | HL_LOCK_TYPE | HL_LAST_HEARTBEAT | HL_ACQUIRED_AT | HL_USER | HL_HOST |
+----------------+----------------+----------+---------+---------------------+--------------+---------------+--------------+-------------------+----------------+---------+--------------------+
| 428 | 1 | 0 | default | concur_orc_tab_part | NULL | a | r | 1413311172000 | 1413311171000 | hive | node-1.example.com |
| 428 | 2 | 0 | default | concur_orc_tab_part | ds=today | a | r | 1413311172000 | 1413311171000 | hive | node-1.example.com |
+----------------+----------------+----------+---------+---------------------+--------------+---------------+--------------+-------------------+----------------+---------+--------------------+
{code}
was:
Queries and operations on partitioned tables are generating locks on the whole table when they should only be locking the partition. For example:
{code}
insert into table concur_orc_tab_part partition (ds='today') values ('fred flintstone', 43, 1.95);
{code}
This should only be locking the partition ds='today'. But instead:
{code}
mysql> select * from HIVE_LOCKS;
+----------------+----------------+----------+---------+-----------------------+--------------+---------------+--------------+-------------------+----------------+---------+--------------------+
| HL_LOCK_EXT_ID | HL_LOCK_INT_ID | HL_TXNID | HL_DB | HL_TABLE | HL_PARTITION | HL_LOCK_STATE | HL_LOCK_TYPE | HL_LAST_HEARTBEAT | HL_ACQUIRED_AT | HL_USER | HL_HOST |
+----------------+----------------+----------+---------+-----------------------+--------------+---------------+--------------+-------------------+----------------+---------+--------------------+
| 425 | 1 | 204 | default | values__tmp__table__1 | NULL | a | r | 1413310740000 | 1413310738000 | hive | node-1.example.com |
| 425 | 2 | 204 | default | concur_orc_tab_part | ds=today | a | r | 1413310740000 | 1413310738000 | hive | node-1.example.com |
+----------------+----------------+----------+---------+-----------------------+--------------+---------------+--------------+-------------------+----------------+---------+--------------------+
{code}
> DbLockManager locking table in addition to partitions
> -----------------------------------------------------
>
> Key: HIVE-8459
> URL: https://issues.apache.org/jira/browse/HIVE-8459
> Project: Hive
> Issue Type: Bug
> Components: Locking
> Affects Versions: 0.14.0
> Reporter: Alan Gates
> Assignee: Alan Gates
> Priority: Critical
>
> Queries and operations on partitioned tables are generating locks on the whole table when they should only be locking the partition. For example:
> {code}
> select count(*) from concur_orc_tab_part where ds = 'today';
> {code}
> This should only be locking the partition ds='today'. But instead:
> {code}
> mysql> select * from HIVE_LOCKS;
> +----------------+----------------+----------+---------+---------------------+--------------+---------------+--------------+-------------------+----------------+---------+--------------------+
> | HL_LOCK_EXT_ID | HL_LOCK_INT_ID | HL_TXNID | HL_DB | HL_TABLE | HL_PARTITION | HL_LOCK_STATE | HL_LOCK_TYPE | HL_LAST_HEARTBEAT | HL_ACQUIRED_AT | HL_USER | HL_HOST |
> +----------------+----------------+----------+---------+---------------------+--------------+---------------+--------------+-------------------+----------------+---------+--------------------+
> | 428 | 1 | 0 | default | concur_orc_tab_part | NULL | a | r | 1413311172000 | 1413311171000 | hive | node-1.example.com |
> | 428 | 2 | 0 | default | concur_orc_tab_part | ds=today | a | r | 1413311172000 | 1413311171000 | hive | node-1.example.com |
> +----------------+----------------+----------+---------+---------------------+--------------+---------------+--------------+-------------------+----------------+---------+--------------------+
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)