diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/CommonNodeLabelsManager.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/CommonNodeLabelsManager.java index bf34837..2d57982 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/CommonNodeLabelsManager.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/nodelabels/CommonNodeLabelsManager.java @@ -220,10 +220,6 @@ protected void serviceInit(Configuration conf) throws Exception { isDistributedNodeLabelConfiguration = YarnConfiguration.isDistributedNodeLabelConfiguration(conf); - - if (nodeLabelsEnabled) { - initNodeLabelStore(conf); - } labelCollections.put(NO_LABEL, new RMNodeLabel(NO_LABEL)); } @@ -243,6 +239,10 @@ protected void startDispatcher() { @Override protected void serviceStart() throws Exception { + if (nodeLabelsEnabled) { + initNodeLabelStore(getConfig()); + } + // init dispatcher only when service start, because recover will happen in // service init, we don't want to trigger any event handling at that time. initDispatcher(getConfig());