dataroaring commented on code in PR #40562: URL: https://github.com/apache/doris/pull/40562#discussion_r1759660704
########## fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BrokerLoadJob.java: ########## @@ -351,26 +347,48 @@ private void onLoadingTaskFinished(BrokerLoadingTaskAttachment attachment) { cancelJobWithoutCheck(new FailMsg(FailMsg.CancelType.LOAD_RUN_FAIL, e.getMessage()), true, true); return; } - try { - LOG.info(new LogBuilder(LogKey.LOAD_JOB, id) - .add("txn_id", transactionId) - .add("msg", "Load job try to commit txn") - .build()); - Env.getCurrentGlobalTransactionMgr().commitTransaction( - dbId, tableList, transactionId, commitInfos, getLoadJobFinalOperation()); - afterLoadingTaskCommitTransaction(tableList); - afterCommit(); - } catch (UserException e) { - LOG.warn(new LogBuilder(LogKey.LOAD_JOB, id) - .add("database_id", dbId) - .add("error_msg", "Failed to commit txn with error:" + e.getMessage()) - .build(), e); - cancelJobWithoutCheck(new FailMsg(FailMsg.CancelType.LOAD_RUN_FAIL, e.getMessage()), true, true); - } finally { - if (Config.isCloudMode()) { - MetaLockUtils.commitUnlockTables(tableList); - } else { - MetaLockUtils.writeUnlockTables(tableList); + int retryTimes = 0; + boolean finishJob = false; + while (!finishJob) { + try { + if (Config.isCloudMode()) { + MetaLockUtils.commitLockTables(tableList); + } else { + MetaLockUtils.writeLockTablesOrMetaException(tableList); + } + LOG.info(new LogBuilder(LogKey.LOAD_JOB, id) + .add("txn_id", transactionId) + .add("msg", "Load job try to commit txn") + .build()); + Env.getCurrentGlobalTransactionMgr().commitTransaction( + dbId, tableList, transactionId, commitInfos, getLoadJobFinalOperation()); + afterLoadingTaskCommitTransaction(tableList); + afterCommit(); + finishJob = true; Review Comment: just break instead of using finishJob. ```suggestion finishJob = true; ``` -- 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: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org