From 355120d228d66a57984ea23cf988677920b6d50f Mon Sep 17 00:00:00 2001 From: wangxiangyu Date: Tue, 19 Dec 2023 10:54:23 +0800 Subject: [PATCH 1/2] [Enhancement](tablet-stat) No need to get tablet stat if backend is not alive. --- .../src/main/java/org/apache/doris/catalog/TabletStatMgr.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/TabletStatMgr.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/TabletStatMgr.java index 202f0f3246efbc..bb799ab802a999 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/TabletStatMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/TabletStatMgr.java @@ -55,7 +55,8 @@ protected void runAfterCatalogReady() { ImmutableMap backends = Env.getCurrentSystemInfo().getIdToBackend(); long start = System.currentTimeMillis(); taskPool.submit(() -> { - backends.values().parallelStream().forEach(backend -> { + // no need to get tablet stat if backend is not alive + backends.values().stream().filter(Backend::isAlive).parallel().forEach(backend -> { BackendService.Client client = null; TNetworkAddress address = null; boolean ok = false; From f074988795322403210c8f89796bc2ad3993b247 Mon Sep 17 00:00:00 2001 From: wangxiangyu Date: Tue, 19 Dec 2023 12:58:41 +0800 Subject: [PATCH 2/2] [Enhancement](tablet-stat) No need to get stream load record if backend is not alive. --- .../main/java/org/apache/doris/load/StreamLoadRecordMgr.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadRecordMgr.java b/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadRecordMgr.java index 2848311f895cf4..758ceebe845d38 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadRecordMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/StreamLoadRecordMgr.java @@ -236,6 +236,9 @@ protected void runAfterCatalogReady() { int pullRecordSize = 0; Map beIdToLastStreamLoad = Maps.newHashMap(); for (Backend backend : backends.values()) { + if (!backend.isAlive()) { + continue; + } BackendService.Client client = null; TNetworkAddress address = null; boolean ok = false;