----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/71589/ -----------------------------------------------------------
(Updated Oct. 28, 2019, 1:40 p.m.) Review request for hive, Laszlo Pinter and Peter Vary. Bugs: HIVE-21114 https://issues.apache.org/jira/browse/HIVE-21114 Repository: hive-git Description ------- With HIVE-21036 we have a way to indicate that a txn is read only. We should (at least in auto-commit mode) determine if the single stmt is a read and mark the txn accordingly. Then we can optimize TxnHandler.commitTxn() so that it doesn't do any checks in write_set etc. TxnHandler.commitTxn() already starts with lockTransactionRecord(stmt, txnid, TXN_OPEN) so it can read the txn type in the same SQL stmt. HiveOperation only has QUERY, which includes Insert and Select, so this requires figuring out how to determine if a query is a SELECT. By the time Driver.openTransaction(); is called, we have already parsed the query so there should be a way to know if the statement only reads. For multi-stmt txns (once these are supported) we should allow user to indicate that a txn is read-only and then not allow any statements that can make modifications in this txn. This should be a different jira. Diffs ----- ql/src/java/org/apache/hadoop/hive/ql/Driver.java 91910d1c0c ql/src/java/org/apache/hadoop/hive/ql/io/AcidUtils.java fcf499d53a ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DbTxnManager.java 943aa383bb ql/src/java/org/apache/hadoop/hive/ql/lockmgr/DummyTxnManager.java ac813c8288 ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveTxnManager.java 1c53426966 ql/src/test/org/apache/hadoop/hive/ql/lockmgr/TestDbTxnManager.java cc86afedbf ql/src/test/org/apache/hadoop/hive/ql/parse/TestParseUtils.java PRE-CREATION standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java 504e6b12a1 standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStoreTxns.java 46fc3ed1e0 Diff: https://reviews.apache.org/r/71589/diff/5/ Testing ------- Unit + manual test File Attachments (updated) ---------------- HIVE-21114.1.patch https://reviews.apache.org/media/uploaded/files/2019/10/10/0929ed4a-17be-4098-8c61-0819a30613fd__HIVE-21114.1.patch HIVE-21114.5.patch https://reviews.apache.org/media/uploaded/files/2019/10/17/80cbb092-97d6-48d2-b603-24213141cb5e__HIVE-21114.5.patch HIVE-21114.8.patch https://reviews.apache.org/media/uploaded/files/2019/10/22/b14eedb4-a2f1-4f77-9676-c258b6804b98__HIVE-21114.8.patch HIVE-21114.8.patch https://reviews.apache.org/media/uploaded/files/2019/10/22/9096f402-3d2e-4cd2-9f85-df1dfeb25863__HIVE-21114.8.patch HIVE-21114.8.patch https://reviews.apache.org/media/uploaded/files/2019/10/28/a001316c-bcf4-43a2-83fa-7d49183b2a7f__HIVE-21114.8.patch Thanks, Denys Kuzmenko