This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.1 by this push:
new ea75d35fa0a branch-3.1: [fix](editlog) do not write editlog if not
master #56896 (#56982)
ea75d35fa0a is described below
commit ea75d35fa0a56509af18992ac4c9aabaf47889c8
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Oct 16 10:27:35 2025 +0800
branch-3.1: [fix](editlog) do not write editlog if not master #56896
(#56982)
Cherry-picked from #56896
Co-authored-by: Yongqiang YANG <[email protected]>
---
.../apache/doris/service/FrontendServiceImpl.java | 203 +++++++--------------
1 file changed, 68 insertions(+), 135 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
index cf02cf43b51..888aa33f27f 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java
@@ -354,9 +354,11 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
@Override
public TConfirmUnusedRemoteFilesResult
confirmUnusedRemoteFiles(TConfirmUnusedRemoteFilesRequest request)
throws TException {
- if (!Env.getCurrentEnv().isMaster()) {
- throw new TException("FE is not master");
+ TStatus status = checkMaster();
+ if (status.getStatusCode() != TStatusCode.OK) {
+ throw new TException(status.getErrorMsgs().get(0));
}
+
TConfirmUnusedRemoteFilesResult res = new
TConfirmUnusedRemoteFilesResult();
if (!request.isSetConfirmList()) {
throw new TException("confirm_list in null");
@@ -1088,11 +1090,19 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
@Override
public TMasterResult finishTask(TFinishTaskRequest request) throws
TException {
+ TStatus status = checkMaster();
+ if (status.getStatusCode() != TStatusCode.OK) {
+ return new TMasterResult().setStatus(status);
+ }
return masterImpl.finishTask(request);
}
@Override
public TMasterResult report(TReportRequest request) throws TException {
+ TStatus status = checkMaster();
+ if (status.getStatusCode() != TStatusCode.OK) {
+ return new TMasterResult().setStatus(status);
+ }
return masterImpl.report(request);
}
@@ -1265,14 +1275,10 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
}
TLoadTxnBeginResult result = new TLoadTxnBeginResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- LOG.error("failed to loadTxnBegin:{}, request:{}, backend:{}",
- NOT_MASTER_ERR_MSG, request, clientAddr);
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -1360,14 +1366,10 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
}
TBeginTxnResult result = new TBeginTxnResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- result.setMasterAddress(getMasterAddress());
- LOG.error("failed to get beginTxn: {}", NOT_MASTER_ERR_MSG);
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -1478,15 +1480,9 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
}
TLoadTxnCommitResult result = new TLoadTxnCommitResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- LOG.error("failed to loadTxnPreCommit:{}, request:{}, backend:{}",
- NOT_MASTER_ERR_MSG, request, clientAddr);
- return result;
- }
+
try {
loadTxnPreCommitImpl(request);
} catch (UserException e) {
@@ -1510,13 +1506,9 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
}
TGetEncryptionKeysResult result = new TGetEncryptionKeysResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- LOG.error("failed to getDataKeys:{}, request:{}, backend:{}",
- NOT_MASTER_ERR_MSG, request, clientAddr);
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
try {
@@ -1631,13 +1623,10 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
}
TLoadTxn2PCResult result = new TLoadTxn2PCResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- LOG.error("failed to loadTxn2PC:{}, request:{}, backend:{}",
- NOT_MASTER_ERR_MSG, request, clientAddr);
+
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -1725,13 +1714,10 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
}
TLoadTxnCommitResult result = new TLoadTxnCommitResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- LOG.error("failed to loadTxnCommit:{}, request:{}, backend:{}",
- NOT_MASTER_ERR_MSG, request, clientAddr);
+
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -1819,14 +1805,10 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
}
TCommitTxnResult result = new TCommitTxnResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- result.setMasterAddress(getMasterAddress());
- LOG.error("failed to get commitTxn: {}", NOT_MASTER_ERR_MSG);
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -1960,13 +1942,9 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
LOG.debug("receive txn rollback request: {}, backend: {}",
request, clientAddr);
}
TLoadTxnRollbackResult result = new TLoadTxnRollbackResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- LOG.error("failed to loadTxnRollback:{}, request:{}, backend:{}",
- NOT_MASTER_ERR_MSG, request, clientAddr);
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
try {
@@ -2048,13 +2026,9 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
LOG.debug("receive txn rollback request: {}, client: {}", request,
clientAddr);
}
TRollbackTxnResult result = new TRollbackTxnResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- result.setMasterAddress(getMasterAddress());
- LOG.error("failed to get rollbackTxn: {}", NOT_MASTER_ERR_MSG);
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -2915,15 +2889,11 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
LOG.info("[auto-inc] receive getAutoIncrementRange request: {},
backend: {}", request, clientAddr);
TAutoIncrementRangeResult result = new TAutoIncrementRangeResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
+ if (status.getStatusCode() != TStatusCode.OK) {
result.setMasterAddress(getMasterAddress());
- LOG.error("[auto-inc] failed to getAutoIncrementRange:{},
request:{}, backend:{}",
- NOT_MASTER_ERR_MSG, request, getClientAddrAsString());
return result;
}
@@ -3075,14 +3045,10 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
LOG.trace("receive get snapshot info request: {}", request);
TGetSnapshotResult result = new TGetSnapshotResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- result.setMasterAddress(getMasterAddress());
- LOG.error("failed to get getSnapshot: {}", NOT_MASTER_ERR_MSG);
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -3193,14 +3159,10 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
LOG.trace("receive restore snapshot info request: {}", request);
TRestoreSnapshotResult result = new TRestoreSnapshotResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- result.setMasterAddress(getMasterAddress());
- LOG.error("failed to get restoreSnapshot: {}", NOT_MASTER_ERR_MSG);
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -3354,13 +3316,9 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
@Override
public TPlsqlStoredProcedureResult
addPlsqlStoredProcedure(TAddPlsqlStoredProcedureRequest request) {
TPlsqlStoredProcedureResult result = new TPlsqlStoredProcedureResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- LOG.error("failed to addPlsqlStoredProcedure:{}, request:{},
backend:{}",
- NOT_MASTER_ERR_MSG, request, getClientAddrAsString());
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -3384,13 +3342,9 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
@Override
public TPlsqlStoredProcedureResult
dropPlsqlStoredProcedure(TDropPlsqlStoredProcedureRequest request) {
TPlsqlStoredProcedureResult result = new TPlsqlStoredProcedureResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- LOG.error("failed to dropPlsqlStoredProcedure:{}, request:{},
backend:{}",
- NOT_MASTER_ERR_MSG, request, getClientAddrAsString());
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -3408,13 +3362,9 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
@Override
public TPlsqlPackageResult addPlsqlPackage(TAddPlsqlPackageRequest
request) throws TException {
TPlsqlPackageResult result = new TPlsqlPackageResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- LOG.error("failed to addPlsqlPackage:{}, request:{}, backend:{}",
- NOT_MASTER_ERR_MSG, request, getClientAddrAsString());
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -3438,13 +3388,9 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
@Override
public TPlsqlPackageResult dropPlsqlPackage(TDropPlsqlPackageRequest
request) throws TException {
TPlsqlPackageResult result = new TPlsqlPackageResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- LOG.error("failed to dropPlsqlPackage:{}, request:{}, backend:{}",
- NOT_MASTER_ERR_MSG, request, getClientAddrAsString());
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -3465,13 +3411,9 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
}
TGetMasterTokenResult result = new TGetMasterTokenResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- result.setMasterAddress(getMasterAddress());
- LOG.error("failed to get getMasterToken: {}", NOT_MASTER_ERR_MSG);
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -3499,14 +3441,10 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
}
TGetBinlogLagResult result = new TGetBinlogLagResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- result.setMasterAddress(getMasterAddress());
- LOG.error("failed to get binlog lag: {}", NOT_MASTER_ERR_MSG);
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -3605,14 +3543,10 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
}
TLockBinlogResult result = new TLockBinlogResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- result.setMasterAddress(getMasterAddress());
- LOG.error("failed to lock binlog: {}", NOT_MASTER_ERR_MSG);
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -3920,6 +3854,7 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
List<Long> reqPartitionIds = request.getPartitionIds();
long taskGroupId = request.getOverwriteGroupId();
TReplacePartitionResult result = new TReplacePartitionResult();
+
TStatus errorStatus = new TStatus(TStatusCode.RUNTIME_ERROR);
if (!Env.getCurrentEnv().isMaster()) {
errorStatus.setStatusCode(TStatusCode.NOT_MASTER);
@@ -4144,14 +4079,10 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
}
TGetMetaResult result = new TGetMetaResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- result.setMasterAddress(getMasterAddress());
- LOG.error("failed to get beginTxn: {}", NOT_MASTER_ERR_MSG);
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -4262,14 +4193,11 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
@Override
public TGetColumnInfoResult getColumnInfo(TGetColumnInfoRequest request) {
TGetColumnInfoResult result = new TGetColumnInfoResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
long dbId = request.getDbId();
long tableId = request.getTableId();
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- LOG.error("failed to getColumnInfo: {}", NOT_MASTER_ERR_MSG);
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -4304,14 +4232,10 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
}
TGetBackendMetaResult result = new TGetBackendMetaResult();
- TStatus status = new TStatus(TStatusCode.OK);
+ TStatus status = checkMaster();
result.setStatus(status);
- if (!Env.getCurrentEnv().isMaster()) {
- status.setStatusCode(TStatusCode.NOT_MASTER);
- status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
- result.setMasterAddress(getMasterAddress());
- LOG.error("failed to get beginTxn: {}", NOT_MASTER_ERR_MSG);
+ if (status.getStatusCode() != TStatusCode.OK) {
return result;
}
@@ -4548,4 +4472,13 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
result.setAlgorithm(tdeAlgorithm).setStatus(status);
return result;
}
+
+ private TStatus checkMaster() {
+ TStatus status = new TStatus(TStatusCode.OK);
+ if (!Env.getCurrentEnv().isMaster()) {
+ status.setStatusCode(TStatusCode.NOT_MASTER);
+ status.addToErrorMsgs(NOT_MASTER_ERR_MSG);
+ }
+ return status;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]