nickSoul created HIVE-19950: ------------------------------- Summary: Hive ACID NOT LOCK LockComponent Correctly Key: HIVE-19950 URL: https://issues.apache.org/jira/browse/HIVE-19950 Project: Hive Issue Type: Bug Affects Versions: 2.3.2 Reporter: nickSoul
Hi, When using Streaming Mutation recently, I found LockComponents were not locked correctly by current transaction. I wonder if i use in a wrong way or misunderstand about ACID in hive. Below is my test case: # Begin the transaction with a transactionId 126, and the transaction locks a table. Then hangs the transaction. The lock information were correctly restored in mariaDB {code:java} MariaDB [hive]> select HL_LOCK_EXT_ID,HL_LOCK_INT_ID,HL_TXNID,HL_DB,HL_TABLE,HL_PARTITION,HL_LOCK_STATE,HL_LOCK_TYPE,HL_ACQUIRED_AT,HL_BLOCKEDBY_EXT_ID,HL_BLOCKEDBY_INT_ID 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_ACQUIRED_AT | HL_BLOCKEDBY_EXT_ID | HL_BLOCKEDBY_INT_ID | +----------------+----------------+----------+-----------+-----------+---- | 384 | 1 | 126 | test_acid | acid_test | NULL | a | w | 1529512857000 | NULL | NULL | +----------------+----------------+----------+-----------+-----------+----{code} # Begin the other transaction with a transactionId 127 before previous transaction 126 finished. Transaction 127 tries to lock the same table too, but failed at first attempt. {code:java} //Log Information{code} # -- This message was sent by Atlassian JIRA (v7.6.3#76005)