-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/71589/
-----------------------------------------------------------
(Updated Oct. 10, 2019, 4:09 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 bcd4600683
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
Diff: https://reviews.apache.org/r/71589/diff/1/
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
Thanks,
Denys Kuzmenko