This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new 64a5781867b [fix](replica) Get tablet replica infos should return all
primary backends except for warmup jobs (#54131)
64a5781867b is described below
commit 64a5781867b31c25653c2014a3ef73e35cc8012a
Author: Siyang Tang <[email protected]>
AuthorDate: Mon Aug 4 19:30:07 2025 +0800
[fix](replica) Get tablet replica infos should return all primary backends
except for warmup jobs (#54131)
### What problem does this PR solve?
Problem Summary:
Fix logic conflict of https://github.com/apache/doris/pull/52514 and
https://github.com/apache/doris/pull/52440
### Release note
None
### Check List (For Author)
- Test <!-- At least one of them must be included. -->
- [ ] Regression test
- [ ] Unit Test
- [ ] Manual test (add detailed scripts or steps below)
- [ ] No need to test or manual test. Explain why:
- [ ] This is a refactor/code format and no logic has been changed.
- [ ] Previous test can cover this change.
- [ ] No code files have been changed.
- [ ] Other reason <!-- Add your reason? -->
- Behavior changed:
- [ ] No.
- [ ] Yes. <!-- Explain the behavior change -->
- Does this need documentation?
- [ ] No.
- [ ] Yes. <!-- Add document PR link here. eg:
https://github.com/apache/doris-website/pull/1214 -->
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->
---
.../apache/doris/service/FrontendServiceImpl.java | 35 +++++++++++++---------
1 file changed, 21 insertions(+), 14 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 a1966a036cf..9169f560309 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
@@ -2775,23 +2775,30 @@ public class FrontendServiceImpl implements
FrontendService.Iface {
LOG.warn("replica {} not normal", replica.getId());
continue;
}
- Backend backend;
+ List<Backend> backends;
if (Config.isCloudMode()) {
- CloudReplica cloudReplica = (CloudReplica) replica;
- backend = cloudReplica.getPrimaryBackend(clusterId);
+ if (request.isSetWarmUpJobId()) {
+ CloudReplica cloudReplica = (CloudReplica) replica;
+ Backend primaryBackend =
cloudReplica.getPrimaryBackend(clusterId);
+ backends = Lists.newArrayList(primaryBackend);
+ } else {
+ CloudReplica cloudReplica = (CloudReplica) replica;
+ backends = cloudReplica.getAllPrimaryBes();
+ }
} else {
- backend =
Env.getCurrentSystemInfo().getBackend(replica.getBackendIdWithoutException());
+ Backend backend =
Env.getCurrentSystemInfo().getBackend(replica.getBackendIdWithoutException());
+ backends = Lists.newArrayList(backend);
}
- if (backend != null) {
- TReplicaInfo replicaInfo = new TReplicaInfo();
- replicaInfo.setHost(backend.getHost());
- replicaInfo.setBePort(backend.getBePort());
- replicaInfo.setHttpPort(backend.getHttpPort());
- replicaInfo.setBrpcPort(backend.getBrpcPort());
- replicaInfo.setIsAlive(backend.isAlive());
- replicaInfo.setBackendId(backend.getId());
- replicaInfo.setReplicaId(replica.getId());
- replicaInfos.add(replicaInfo);
+ for (Backend backend : backends) {
+ if (backend != null) {
+ TReplicaInfo replicaInfo = new TReplicaInfo();
+ replicaInfo.setHost(backend.getHost());
+ replicaInfo.setBePort(backend.getBePort());
+ replicaInfo.setHttpPort(backend.getHttpPort());
+ replicaInfo.setBrpcPort(backend.getBrpcPort());
+ replicaInfo.setReplicaId(replica.getId());
+ replicaInfos.add(replicaInfo);
+ }
}
}
tabletReplicaInfos.put(tabletId, replicaInfos);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]