Eugene Koifman created HIVE-12636:
-------------------------------------
Summary: Ensure that all queries (with DbTxnManager) run in a
transaction
Key: HIVE-12636
URL: https://issues.apache.org/jira/browse/HIVE-12636
Project: Hive
Issue Type: Improvement
Components: Transactions
Affects Versions: 1.0.0
Reporter: Eugene Koifman
Assignee: Eugene Koifman
Priority: Critical
Assuming Hive is using DbTxnManager
Currently (as of this writing only auto commit mode is supported), only queries
that write to an Acid table start a transaction.
Read-only queries don't open a txn but still acquire locks.
This makes internal structures confusing/odd.
The are constantly 2 code paths to deal with which is inconvenient and error
prone.
Also, a txn id is convenient "handle" for all locks/resources within a txn.
Doing thing would mean the client no longer needs to track locks that it
acquired. This enables further improvements to metastore side of Acid.
# add metastore call to openTxn() and acquireLocks() in a single call. this it
to make sure perf doesn't degrade for read-only query. (Would also be useful
for auto commit write queries)
# Should RO queries generate txn ids from the same sequence? (they could for
example use negative values of a different sequence). Txnid is part of the
delta/base file name. Currently it's 7 digits. If we use the same sequence,
we'll exceed 7 digits faster. (possible upgrade issue). On the other hand
there is value in being able to pick txn id and commit timestamp out of the
same logical sequence.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)