HIVE-12634 : Add command to kill an ACID transacton (Wei Zheng, reviewed by Eugene Koifman)
Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/6c4c6369 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/6c4c6369 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/6c4c6369 Branch: refs/heads/master Commit: 6c4c63694b29fc8bddaa230149eac7eb3d57e74e Parents: 10c07d6 Author: Wei Zheng <w...@apache.org> Authored: Mon May 9 15:31:08 2016 -0700 Committer: Wei Zheng <w...@apache.org> Committed: Mon May 9 15:31:08 2016 -0700 ---------------------------------------------------------------------- .../apache/hadoop/hive/common/JavaUtils.java | 5 + metastore/if/hive_metastore.thrift | 5 + .../gen/thrift/gen-cpp/ThriftHiveMetastore.cpp | 2401 +++++----- .../gen/thrift/gen-cpp/ThriftHiveMetastore.h | 125 + .../ThriftHiveMetastore_server.skeleton.cpp | 5 + .../gen/thrift/gen-cpp/hive_metastore_types.cpp | 1400 +++--- .../gen/thrift/gen-cpp/hive_metastore_types.h | 42 + .../hive/metastore/api/AbortTxnsRequest.java | 438 ++ .../metastore/api/AddDynamicPartitions.java | 32 +- .../metastore/api/ClearFileMetadataRequest.java | 32 +- .../hive/metastore/api/FireEventRequest.java | 32 +- .../metastore/api/GetAllFunctionsResponse.java | 36 +- .../api/GetFileMetadataByExprRequest.java | 32 +- .../api/GetFileMetadataByExprResult.java | 48 +- .../metastore/api/GetFileMetadataRequest.java | 32 +- .../metastore/api/GetFileMetadataResult.java | 44 +- .../api/HeartbeatTxnRangeResponse.java | 64 +- .../metastore/api/InsertEventRequestData.java | 32 +- .../hadoop/hive/metastore/api/LockRequest.java | 36 +- .../api/NotificationEventResponse.java | 36 +- .../metastore/api/PutFileMetadataRequest.java | 64 +- .../hive/metastore/api/ShowCompactResponse.java | 36 +- .../hive/metastore/api/ShowLocksResponse.java | 36 +- .../hive/metastore/api/ThriftHiveMetastore.java | 4248 +++++++++++------- .../gen-php/metastore/ThriftHiveMetastore.php | 1445 +++--- .../src/gen/thrift/gen-php/metastore/Types.php | 451 +- .../hive_metastore/ThriftHiveMetastore-remote | 7 + .../hive_metastore/ThriftHiveMetastore.py | 1023 +++-- .../gen/thrift/gen-py/hive_metastore/ttypes.py | 299 +- .../gen/thrift/gen-rb/hive_metastore_types.rb | 17 + .../gen/thrift/gen-rb/thrift_hive_metastore.rb | 58 + .../hadoop/hive/metastore/HiveMetaStore.java | 5 + .../hive/metastore/HiveMetaStoreClient.java | 6 + .../hadoop/hive/metastore/IMetaStoreClient.java | 6 + .../hadoop/hive/metastore/txn/TxnHandler.java | 69 +- .../hadoop/hive/metastore/txn/TxnStore.java | 8 + .../org/apache/hadoop/hive/ql/exec/DDLTask.java | 13 +- .../apache/hadoop/hive/ql/metadata/Hive.java | 9 + .../hive/ql/parse/DDLSemanticAnalyzer.java | 19 + .../org/apache/hadoop/hive/ql/parse/HiveLexer.g | 1 + .../apache/hadoop/hive/ql/parse/HiveParser.g | 11 + .../hadoop/hive/ql/parse/IdentifiersParser.g | 2 +- .../hive/ql/parse/SemanticAnalyzerFactory.java | 2 + .../hadoop/hive/ql/plan/AbortTxnsDesc.java | 36 + .../org/apache/hadoop/hive/ql/plan/DDLWork.java | 16 + .../hadoop/hive/ql/plan/HiveOperation.java | 4 +- .../authorization/plugin/HiveOperationType.java | 1 + .../plugin/sqlstd/Operation2Privilege.java | 3 +- .../queries/clientpositive/dbtxnmgr_abort.q | 6 + .../results/clientpositive/dbtxnmgr_abort.q.out | 8 + 50 files changed, 7801 insertions(+), 4985 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/6c4c6369/common/src/java/org/apache/hadoop/hive/common/JavaUtils.java ---------------------------------------------------------------------- diff --git a/common/src/java/org/apache/hadoop/hive/common/JavaUtils.java b/common/src/java/org/apache/hadoop/hive/common/JavaUtils.java index 87bc99e..3916fe3 100644 --- a/common/src/java/org/apache/hadoop/hive/common/JavaUtils.java +++ b/common/src/java/org/apache/hadoop/hive/common/JavaUtils.java @@ -26,6 +26,7 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.URLClassLoader; import java.util.Arrays; +import java.util.List; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -150,6 +151,10 @@ public final class JavaUtils { return "txnid:" + txnId; } + public static String txnIdsToString(List<Long> txnIds) { + return "Transactions requested to be aborted: " + txnIds.toString(); + } + private JavaUtils() { // prevent instantiation } http://git-wip-us.apache.org/repos/asf/hive/blob/6c4c6369/metastore/if/hive_metastore.thrift ---------------------------------------------------------------------- diff --git a/metastore/if/hive_metastore.thrift b/metastore/if/hive_metastore.thrift index 7558046..44dc824 100755 --- a/metastore/if/hive_metastore.thrift +++ b/metastore/if/hive_metastore.thrift @@ -634,6 +634,10 @@ struct AbortTxnRequest { 1: required i64 txnid, } +struct AbortTxnsRequest { + 1: required list<i64> txn_ids, +} + struct CommitTxnRequest { 1: required i64 txnid, } @@ -1382,6 +1386,7 @@ service ThriftHiveMetastore extends fb303.FacebookService GetOpenTxnsInfoResponse get_open_txns_info() OpenTxnsResponse open_txns(1:OpenTxnRequest rqst) void abort_txn(1:AbortTxnRequest rqst) throws (1:NoSuchTxnException o1) + void abort_txns(1:AbortTxnsRequest rqst) throws (1:NoSuchTxnException o1) void commit_txn(1:CommitTxnRequest rqst) throws (1:NoSuchTxnException o1, 2:TxnAbortedException o2) LockResponse lock(1:LockRequest rqst) throws (1:NoSuchTxnException o1, 2:TxnAbortedException o2) LockResponse check_lock(1:CheckLockRequest rqst)