This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 9392c1c1d3d [fix](metric) fix backend metrics missing in fe (#57935)
9392c1c1d3d is described below
commit 9392c1c1d3d52f9f31861ce9f68a88ce461e719b
Author: Lijia Liu <[email protected]>
AuthorDate: Thu Nov 20 06:28:48 2025 +0800
[fix](metric) fix backend metrics missing in fe (#57935)
### What problem does this PR solve?
In cloud mode, the FE master generates backend metrics before
`idToBackendRef` is assigned.
But, backend metrics's generation depend on `idToBackendRef`.
Co-authored-by: liutang123 <[email protected]>
---
.../org/apache/doris/cloud/system/CloudSystemInfoService.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java
b/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java
index 5878f655801..0bdd33dd308 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java
@@ -280,8 +280,6 @@ public class CloudSystemInfoService extends
SystemInfoService {
for (Backend be : toAdd) {
Env.getCurrentEnv().getEditLog().logAddBackend(be);
LOG.info("added cloud backend={} ", be);
- // backends is changed, regenerated tablet number metrics
- MetricRepo.generateBackendsTabletMetrics();
String host = be.getHost();
if (existedHostToBeList.keySet().contains(host)) {
@@ -306,8 +304,6 @@ public class CloudSystemInfoService extends
SystemInfoService {
be.setLastMissingHeartbeatTime(System.currentTimeMillis());
Env.getCurrentEnv().getEditLog().logDropBackend(be);
LOG.info("dropped cloud backend={}, and
lastMissingHeartbeatTime={}", be, be.getLastMissingHeartbeatTime());
- // backends is changed, regenerated tablet number metrics
- MetricRepo.generateBackendsTabletMetrics();
}
// Update idToBackendRef
@@ -316,6 +312,10 @@ public class CloudSystemInfoService extends
SystemInfoService {
toDel.forEach(i -> copiedBackends.remove(i.getId()));
ImmutableMap<Long, Backend> newIdToBackend =
ImmutableMap.copyOf(copiedBackends);
idToBackendRef = newIdToBackend;
+ // backends is changed, regenerated tablet number metrics
+ // metric repo should be regenerated after setting `idToBackendRef`
+ LOG.info("Add {} and delete {} backend metrics", toAdd.size(),
toDel.size());
+ MetricRepo.generateBackendsTabletMetrics();
// Update idToReportVersionRef
Map<Long, AtomicLong> copiedReportVersions =
Maps.newHashMap(idToReportVersionRef);
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]