public interface HiveTxnManager
HiveTxnManagerImpl
rather than
implementing this directly.Modifier and Type | Method and Description |
---|---|
void |
acquireLocks(QueryPlan plan,
Context ctx,
String username)
Acquire all of the locks needed by a query.
|
void |
closeTxnManager()
This call closes down the transaction manager.
|
void |
commitTxn()
Commit the current transaction.
|
HiveLockManager |
getLockManager()
Get the lock manager.
|
ValidTxnList |
getValidTxns()
Get the transactions that are currently valid.
|
void |
heartbeat()
Send a heartbeat to the transaction management storage so other Hive
clients know that the transaction and locks held by this client are
still valid.
|
long |
openTxn(String user)
Open a new transaction.
|
void |
rollbackTxn()
Abort the current transaction.
|
boolean |
supportsAcid()
Indicate whether this transaction manager supports ACID operations
|
boolean |
supportsExplicitLock()
Indicate whether this lock manager supports the use of
lock
database or lock table . |
boolean |
useNewShowLocksFormat()
Indicate whether this transaction manager returns information about locks in the new format
for show locks or the old one.
|
long openTxn(String user) throws LockException
user
- Hive user who is opening this transaction.LockException
- if a transaction is already open.HiveLockManager getLockManager() throws LockException
LockException
- if there is an issue obtaining the lock manager.void acquireLocks(QueryPlan plan, Context ctx, String username) throws LockException
openTxn(String)
.
A list of acquired locks will be stored in the
Context
object and can be retrieved
via Context.getHiveLocks()
.plan
- query planctx
- Context for this queryusername
- name of the user for this queryLockException
- if there is an error getting the locksvoid commitTxn() throws LockException
acquireLocks(org.apache.hadoop.hive.ql.QueryPlan,
org.apache.hadoop.hive.ql.Context, java.lang.String)
.LockException
- if there is no current transaction or the
transaction has already been committed or aborted.void rollbackTxn() throws LockException
acquireLocks(org.apache.hadoop.hive.ql.QueryPlan,
org.apache.hadoop.hive.ql.Context, java.lang.String)
.LockException
- if there is no current transaction or the
transaction has already been committed or aborted.void heartbeat() throws LockException
LockException
- If current transaction exists or the transaction
has already been committed or aborted.ValidTxnList getValidTxns() throws LockException
ValidTxnList
object is a thrift object and can
be passed to the processing
tasks for use in the reading the data. This call should be made once up
front by the planner and should never be called on the backend,
as this will violate the isolation level semantics.LockException
void closeTxnManager()
boolean supportsExplicitLock()
lock
database
or lock table
.boolean useNewShowLocksFormat()
boolean supportsAcid()
Copyright © 2017 The Apache Software Foundation. All rights reserved.