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 494fbd5db3..13f65baf1b 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 @@ -500,14 +500,20 @@ public class DeleteHandler implements Writable { TransactionStatus status = null; try { unprotectedCommitJob(job, db, table, timeoutMs); - status = Env.getCurrentGlobalTransactionMgr() - .getTransactionState(db.getId(), job.getTransactionId()).getTransactionStatus(); + 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(); } 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("'");