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

kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git

commit e10d58f75c4193a4e0a7bc4f954f46b5f54cf808
Author: Siyang Tang <82279870+tangsiyang2...@users.noreply.github.com>
AuthorDate: Thu Sep 21 21:21:06 2023 +0800

    [enhancement](delete) avoid null txn state after delete job committed 
(#24741)
---
 .../src/main/java/org/apache/doris/load/DeleteHandler.java  | 13 +++----------
 1 file changed, 3 insertions(+), 10 deletions(-)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/DeleteHandler.java 
b/fe/fe-core/src/main/java/org/apache/doris/load/DeleteHandler.java
index 13f65baf1b..dbf303f10f 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/load/DeleteHandler.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/load/DeleteHandler.java
@@ -497,23 +497,16 @@ public class DeleteHandler implements Writable {
 
     private void commitJob(DeleteJob job, Database db, Table table, long 
timeoutMs)
             throws DdlException, QueryStateException {
-        TransactionStatus status = null;
+        TransactionStatus status = TransactionStatus.UNKNOWN;
         try {
-            unprotectedCommitJob(job, db, table, timeoutMs);
-            GlobalTransactionMgr transactionMgr = 
Env.getCurrentGlobalTransactionMgr();
-            long dbId = db.getId();
-            long transactionId = job.getTransactionId();
-            TransactionState transactionState = 
transactionMgr.getTransactionState(dbId, transactionId);
-            Preconditions.checkNotNull(transactionState,
-                    "got null txn state with: dbId=%s, txnId=%s", dbId, 
transactionId);
-            status = transactionState.getTransactionStatus();
+            boolean isVisible = unprotectedCommitJob(job, db, table, 
timeoutMs);
+            status = isVisible ? TransactionStatus.VISIBLE : 
TransactionStatus.COMMITTED;
         } catch (UserException e) {
             if (cancelJob(job, CancelType.COMMIT_FAIL, e.getMessage())) {
                 throw new DdlException(e.getMessage(), e);
             }
         }
 
-        Preconditions.checkNotNull(status, "got null txn status, jobId=%s", 
job.getId());
         StringBuilder sb = new StringBuilder();
         sb.append("{'label':'").append(job.getLabel()).append("', 
'status':'").append(status.name());
         sb.append("', 'txnId':'").append(job.getTransactionId()).append("'");


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to