----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/72387/#review220426 -----------------------------------------------------------
Ship it! ql/src/java/org/apache/hadoop/hive/ql/ValidTxnManager.java Lines 96 (patched) <https://reviews.apache.org/r/72387/#comment308814> nit: new line? ql/src/java/org/apache/hadoop/hive/ql/ValidTxnManager.java Line 113 (original), 112 (patched) <https://reviews.apache.org/r/72387/#comment308813> Isn't reference level check is risky here? - Peter Vary On ápr. 22, 2020, 2:29 du, Denys Kuzmenko wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/72387/ > ----------------------------------------------------------- > > (Updated ápr. 22, 2020, 2:29 du) > > > Review request for hive, Marton Bod and Peter Vary. > > > Bugs: HIVE-19369 > https://issues.apache.org/jira/browse/HIVE-19369 > > > Repository: hive-git > > > Description > ------- > > Hive Locking with Micro-managed and full-ACID tables needs a better locking > implementation which allows for no-wait readers always. > > EXCL_DROP > EXCL_WRITE > SHARED_WRITE > SHARED_READ > > Short write-up > > EXCL_DROP is a "drop partition" or "drop table" and waits for all others to > exit > EXCL_WRITE excludes all writes and will wait for all existing SHARED_WRITE to > exit. > SHARED_WRITE allows all SHARED_WRITES to go through, but will wait for an > EXCL_WRITE & EXCL_DROP (waiting so that you can do drop + insert in different > threads). > > SHARED_READ does not wait for any lock - it fails fast for a pending > EXCL_DROP, because even if there is an EXCL_WRITE or SHARED_WRITE pending, > there's no semantic reason to wait for them to succeed before going ahead > with a SHARED_WRITE. > > a select * => SHARED_READ > an insert into => SHARED_WRITE > an insert overwrite or MERGE => EXCL_WRITE > a drop table => EXCL_DROP > > > Diffs > ----- > > common/src/java/org/apache/hadoop/hive/conf/HiveConf.java 16bae920df > ql/src/java/org/apache/hadoop/hive/ql/ValidTxnManager.java 4885e437aa > ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java 77878ca40b > ql/src/test/org/apache/hadoop/hive/metastore/txn/TestTxnHandler.java > 1d211857bf > ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDbTxnManager2.java > 73d3b91585 > ql/src/test/queries/clientpositive/explain_locks.q 3c11560c5f > ql/src/test/results/clientpositive/llap/explain_locks.q.out 3183533478 > > standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/LockRequestBuilder.java > 22902a9c20 > > standalone-metastore/metastore-common/src/main/java/org/apache/hadoop/hive/metastore/LockTypeComparator.java > PRE-CREATION > > standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java > d080df417b > > standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/utils/LockTypeUtil.java > f928bf781b > > standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/utils/LockTypeUtilTest.java > 3d69a6e7dc > > > Diff: https://reviews.apache.org/r/72387/diff/5/ > > > Testing > ------- > > Added number of tests under TestDbTxnManager2, TestTxnHandler & extended > explain_locks.q test. > > > Thanks, > > Denys Kuzmenko > >