You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by sz...@apache.org on 2019/10/28 12:55:39 UTC

[hive] branch master updated: HIVE-22367: Transaction type not retrieved from OpenTxnRequest (Denys Kuzmenko, reviewed by Adam Szita and Peter Vary)

This is an automated email from the ASF dual-hosted git repository.

szita pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new 0360a79  HIVE-22367: Transaction type not retrieved from OpenTxnRequest (Denys Kuzmenko, reviewed by Adam Szita and Peter Vary)
0360a79 is described below

commit 0360a7926950ddfc50caf94d97fc110310ad1291
Author: Denys Kuzmenko <dk...@cloudera.com>
AuthorDate: Mon Oct 28 13:54:44 2019 +0100

    HIVE-22367: Transaction type not retrieved from OpenTxnRequest (Denys Kuzmenko, reviewed by Adam Szita and Peter Vary)
---
 .../java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java    | 2 +-
 .../org/apache/hadoop/hive/metastore/TestHiveMetaStoreTxns.java  | 9 +++++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java
index 504e6b1..355c4f5 100644
--- a/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java
+++ b/standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnHandler.java
@@ -572,7 +572,7 @@ abstract class TxnHandler implements TxnStore, TxnStore.MutexAPI {
     int numTxns = rqst.getNum_txns();
     ResultSet rs = null;
     List<PreparedStatement> insertPreparedStmts = null;
-    TxnType txnType = TxnType.DEFAULT;
+    TxnType txnType = rqst.isSetTxn_type() ? rqst.getTxn_type() : TxnType.DEFAULT;
     try {
       if (rqst.isSetReplPolicy()) {
         List<Long> targetTxnIdList = getTargetTxnIdList(rqst.getReplPolicy(), rqst.getReplSrcTxnIds(), dbConn);
diff --git a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStoreTxns.java b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStoreTxns.java
index 46fc3ed..b5f2209 100644
--- a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStoreTxns.java
+++ b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/TestHiveMetaStoreTxns.java
@@ -308,6 +308,15 @@ public class TestHiveMetaStoreTxns {
     Assert.assertTrue(validTxns.isTxnValid(txnId));
   }
 
+  @Test
+  public void testTxnTypePersisted() throws Exception {
+    long txnId = client.openTxn("me", TxnType.READ_ONLY);
+    Statement stm = conn.createStatement();
+    ResultSet rs = stm.executeQuery("SELECT txn_type FROM TXNS WHERE txn_id = " + txnId);
+    Assert.assertTrue(rs.next());
+    Assert.assertEquals(TxnType.findByValue(rs.getInt(1)), TxnType.READ_ONLY);
+  }
+
   @Before
   public void setUp() throws Exception {
     conf.setBoolean(ConfVars.HIVE_IN_TEST.getVarname(), true);