[ 
https://issues.apache.org/jira/browse/HIVE-25346?focusedWorklogId=649857&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-649857
 ]

ASF GitHub Bot logged work on HIVE-25346:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 13/Sep/21 07:43
            Start Date: 13/Sep/21 07:43
    Worklog Time Spent: 10m 
      Work Description: pvary commented on a change in pull request #2547:
URL: https://github.com/apache/hive/pull/2547#discussion_r707081936



##########
File path: 
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/CompactionTxnHandler.java
##########
@@ -531,7 +531,7 @@ public void cleanTxnToWriteIdTable() throws MetaException {
         String s = "SELECT MIN(\"RES\".\"ID\") AS \"ID\" FROM (" +
             "SELECT MAX(\"TXN_ID\") + 1 AS \"ID\" FROM \"TXNS\" " +
             "UNION " +
-            "SELECT MIN(\"WS_COMMIT_ID\") AS \"ID\" FROM \"WRITE_SET\" " +
+            "SELECT MIN(\"WS_TXNID\") AS \"ID\" FROM \"WRITE_SET\" " +

Review comment:
       This was the `findMinOpenTxnGLB`
   ```
     /**
      * See doc at {@link TxnStore#findMinOpenTxnId()}
      * Note that {@link #openTxns(OpenTxnRequest)} makes update of NEXT_TXN 
and MIN_HISTORY_LEVEL
      * a single atomic operation (and no one else should update these tables 
except the cleaner
      * which deletes rows from MIN_HISTORY_LEVEL which can only allow 
minOpenTxn to move higher)
      */
     private long findMinOpenTxnGLB(Statement stmt) throws MetaException, 
SQLException {
       String s = "SELECT \"NTXN_NEXT\" FROM \"NEXT_TXN_ID\"";
       LOG.debug("Going to execute query <" + s + ">");
       ResultSet rs = stmt.executeQuery(s);
       if (!rs.next()) {
         throw new MetaException("Transaction tables not properly " +
             "initialized, no record found in next_txn_id");
       }
       long hwm = rs.getLong(1);
       s = "SELECT MIN(\"MHL_MIN_OPEN_TXNID\") FROM \"MIN_HISTORY_LEVEL\"";
       LOG.debug("Going to execute query <" + s + ">");
       rs = stmt.executeQuery(s);
       rs.next();
       long minOpenTxnId = rs.getLong(1);
       if(rs.wasNull()) {
         return hwm;
       }
       //since generating new txnid uses select for update on single row in 
NEXT_TXN_ID
       assert hwm >= minOpenTxnId : "(hwm, minOpenTxnId)=(" + hwm + "," + 
minOpenTxnId + ")";
       return minOpenTxnId;
     }
   ```




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 649857)
    Time Spent: 6h 10m  (was: 6h)

> cleanTxnToWriteIdTable breaks SNAPSHOT isolation
> ------------------------------------------------
>
>                 Key: HIVE-25346
>                 URL: https://issues.apache.org/jira/browse/HIVE-25346
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Zoltan Chovan
>            Assignee: Zoltan Chovan
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 6h 10m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to