[ 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)