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
commit 45f6a51d8bb29d7d8eb987949e0e59bba21c2dac Author: Mingyu Chen <morning...@163.com> AuthorDate: Mon Aug 19 11:44:46 2024 +0800 [fix](catalog) remove backend in black list from candidate backends for external table (#38984) (#39451) When select backends for external table's query, skip the backends in black list --- .../src/main/java/org/apache/doris/system/BeSelectionPolicy.java | 6 ++++++ .../test/java/org/apache/doris/system/SystemInfoServiceTest.java | 2 ++ 2 files changed, 8 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/system/BeSelectionPolicy.java b/fe/fe-core/src/main/java/org/apache/doris/system/BeSelectionPolicy.java index ece95f1b007..59cb4f19139 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/system/BeSelectionPolicy.java +++ b/fe/fe-core/src/main/java/org/apache/doris/system/BeSelectionPolicy.java @@ -17,6 +17,8 @@ package org.apache.doris.system; +import org.apache.doris.common.Config; +import org.apache.doris.qe.SimpleScheduler; import org.apache.doris.resource.Tag; import org.apache.doris.thrift.TStorageMedium; @@ -209,6 +211,10 @@ public class BeSelectionPolicy { } else { candidates.addAll(filterBackends); } + // filter out backends in black list + if (!Config.disable_backend_black_list) { + candidates = candidates.stream().filter(b -> SimpleScheduler.isAvailable(b)).collect(Collectors.toList()); + } Collections.shuffle(candidates); return candidates; } diff --git a/fe/fe-core/src/test/java/org/apache/doris/system/SystemInfoServiceTest.java b/fe/fe-core/src/test/java/org/apache/doris/system/SystemInfoServiceTest.java index b36f4b2a815..62ade50c919 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/system/SystemInfoServiceTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/system/SystemInfoServiceTest.java @@ -21,6 +21,7 @@ import org.apache.doris.catalog.DiskInfo; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.ReplicaAllocation; import org.apache.doris.common.AnalysisException; +import org.apache.doris.common.Config; import org.apache.doris.common.FeMetaVersion; import org.apache.doris.common.Pair; import org.apache.doris.meta.MetaContext; @@ -133,6 +134,7 @@ public class SystemInfoServiceTest { @Test public void testSelectBackendIdsByPolicy() throws Exception { + Config.disable_backend_black_list = true; // 1. no backend BeSelectionPolicy policy = new BeSelectionPolicy.Builder().needLoadAvailable().build(); Assert.assertEquals(0, infoService.selectBackendIdsByPolicy(policy, 1).size()); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org