hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eugene Koifman (JIRA)" <>
Subject [jira] [Created] (HIVE-12636) Ensure that all queries (with DbTxnManager) run in a transaction
Date Wed, 09 Dec 2015 20:21:11 GMT
Eugene Koifman created HIVE-12636:

             Summary: Ensure that all queries (with DbTxnManager) run in a transaction
                 Key: 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

View raw message