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)

Reply via email to