Skip to content

Commit 9392c1c

Browse files
liutang123liutang123
andauthored
[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 <liulijia@gmail.com>
1 parent 712ac5a commit 9392c1c

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

fe/fe-core/src/main/java/org/apache/doris/cloud/system/CloudSystemInfoService.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -280,8 +280,6 @@ public void updateCloudBackendsUnLock(List<Backend> toAdd, List<Backend> toDel)
280280
for (Backend be : toAdd) {
281281
Env.getCurrentEnv().getEditLog().logAddBackend(be);
282282
LOG.info("added cloud backend={} ", be);
283-
// backends is changed, regenerated tablet number metrics
284-
MetricRepo.generateBackendsTabletMetrics();
285283

286284
String host = be.getHost();
287285
if (existedHostToBeList.keySet().contains(host)) {
@@ -306,8 +304,6 @@ public void updateCloudBackendsUnLock(List<Backend> toAdd, List<Backend> toDel)
306304
be.setLastMissingHeartbeatTime(System.currentTimeMillis());
307305
Env.getCurrentEnv().getEditLog().logDropBackend(be);
308306
LOG.info("dropped cloud backend={}, and lastMissingHeartbeatTime={}", be, be.getLastMissingHeartbeatTime());
309-
// backends is changed, regenerated tablet number metrics
310-
MetricRepo.generateBackendsTabletMetrics();
311307
}
312308

313309
// Update idToBackendRef
@@ -316,6 +312,10 @@ public void updateCloudBackendsUnLock(List<Backend> toAdd, List<Backend> toDel)
316312
toDel.forEach(i -> copiedBackends.remove(i.getId()));
317313
ImmutableMap<Long, Backend> newIdToBackend = ImmutableMap.copyOf(copiedBackends);
318314
idToBackendRef = newIdToBackend;
315+
// backends is changed, regenerated tablet number metrics
316+
// metric repo should be regenerated after setting `idToBackendRef`
317+
LOG.info("Add {} and delete {} backend metrics", toAdd.size(), toDel.size());
318+
MetricRepo.generateBackendsTabletMetrics();
319319

320320
// Update idToReportVersionRef
321321
Map<Long, AtomicLong> copiedReportVersions = Maps.newHashMap(idToReportVersionRef);

0 commit comments

Comments
 (0)