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

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

                Author: ASF GitHub Bot
            Created on: 04/Jan/23 11:38
            Start Date: 04/Jan/23 11:38
    Worklog Time Spent: 10m 
      Work Description: veghlaci05 commented on code in PR #3908:
URL: https://github.com/apache/hive/pull/3908#discussion_r1061364735


##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnErrorMsg.java:
##########
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.metastore.txn;
+
+/**
+ * The following class represents all the error messages that are handled for 
aborts.
+ */
+public enum TxnErrorMsg {
+    // 50000 to 59999: Txn Errors Codes.
+    // Query runtime aborts
+    NONE(50000, "None"),
+    ABORT_QUERY(50001, " Txn aborted by Abort Query Command"),
+    ABORT_CONCURRENT(50002, " Txn aborted due to concurrent committed 
transaction"),
+    ABORT_WRITE_CONFLICT(50003, " Txn aborted due to write conflicts"),
+    ABORT_TIMEOUT(50004, " Txn aborted due to heartbeat time-out"),
+    ABORT_ROLLBACK(50005, "Txn aborted due to rollback"),
+    ABORT_COMPACTION_TXN(50006, "Compaction txn is aborted"),
+    ABORT_MSCK_TXN(50007, "Msck txn is aborted"),
+    ABORT_MIGRATION_TXN(50008, "Managed Migration transaction is aborted"),
+
+    // Replication related aborts
+    ABORT_DEFAULT_REPL_TXN(50009, " Replication:" +

Review Comment:
   You should reserve digits for error grouping. For example 50000-50999 can be 
reserved for runtime errors, and 51000-51999 can be reserved for replication 
errors, and so on. As a result you can add new codes later in the same group, 
and even users/code can categorize the errors by their code.



##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnErrorMsg.java:
##########
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.metastore.txn;
+
+/**
+ * The following class represents all the error messages that are handled for 
aborts.
+ */
+public enum TxnErrorMsg {

Review Comment:
   Some messages are not real reasons, rather indicate only the type of the 
aborted txn. Please try to add a real reason as well, whenever possible. 



##########
standalone-metastore/metastore-server/src/main/java/org/apache/hadoop/hive/metastore/txn/TxnErrorMsg.java:
##########
@@ -0,0 +1,83 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.hadoop.hive.metastore.txn;
+
+/**
+ * The following class represents all the error messages that are handled for 
aborts.
+ */
+public enum TxnErrorMsg {
+    // 50000 to 59999: Txn Errors Codes.
+    // Query runtime aborts
+    NONE(50000, "None"),
+    ABORT_QUERY(50001, " Txn aborted by Abort Query Command"),
+    ABORT_CONCURRENT(50002, " Txn aborted due to concurrent committed 
transaction"),
+    ABORT_WRITE_CONFLICT(50003, " Txn aborted due to write conflicts"),
+    ABORT_TIMEOUT(50004, " Txn aborted due to heartbeat time-out"),
+    ABORT_ROLLBACK(50005, "Txn aborted due to rollback"),
+    ABORT_COMPACTION_TXN(50006, "Compaction txn is aborted"),
+    ABORT_MSCK_TXN(50007, "Msck txn is aborted"),
+    ABORT_MIGRATION_TXN(50008, "Managed Migration transaction is aborted"),
+
+    // Replication related aborts
+    ABORT_DEFAULT_REPL_TXN(50009, " Replication:" +
+            "Abort default replication transaction"),
+    ABORT_REPLAYED_REPL_TXN(50010, " Replication:" +
+            "Abort replayed replication transaction"),
+    ABORT_REPL_WRITEID_TXN(50011, " Replication:" +
+            "Abort all the allocated txns so that the mapped write ids are 
referred as aborted ones."),
+    ABORT_FETCH_FAILOVER_METADATA(50012, " Replication:" +
+            "Abort all transactions while trying to fetch failover metadata."),
+    ABORT_WRITE_TXN_AFTER_TIMEOUT(50013, " Replication:" +
+            "Abort only write transactions for the db under replication"),
+    ABORT_ONGOING_TXN_FOR_TARGET_DB(50014, " Replication:" +
+            "Abort the ongoing transactions(opened prior to failover) for the 
target database.");
+
+    private final long errorCode;
+    private final String txnErrorMsg;
+
+    TxnErrorMsg(int errorCode, String txnErrorMsg) {
+      this.errorCode = errorCode;
+      this.txnErrorMsg = txnErrorMsg;
+    }
+
+    public long getErrorCode() {
+        return errorCode;
+    }
+
+    public String getTxnErrorMsg() {

Review Comment:
   getTxnErrorMsg is not used at all. Where the error code translates to error 
message? How the users will know which code means what?





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

    Worklog Id:     (was: 836869)
    Time Spent: 2h 40m  (was: 2.5h)

> Add aborted reason to transaction information.
> ----------------------------------------------
>
>                 Key: HIVE-11495
>                 URL: https://issues.apache.org/jira/browse/HIVE-11495
>             Project: Hive
>          Issue Type: Improvement
>          Components: Metastore, Transactions
>    Affects Versions: 1.0.0
>            Reporter: Eugene Koifman
>            Assignee: Sourabh Badhya
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> Should add TXNS.COMMENT field or something like that so that if the system 
> aborts a transaction (due to timeout, for example) we can add a message to 
> that effect to the aborted transaction.
> Another reason: Commit can fail due to a conflicting write from another txn 
> (since HIVE-13395)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to