diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/EmbeddedElectorService.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/EmbeddedElectorService.java index 0aa292f..c7b7768 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/EmbeddedElectorService.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/EmbeddedElectorService.java @@ -109,8 +109,14 @@ protected void serviceStart() throws Exception { @Override protected void serviceStop() throws Exception { - elector.quitElection(false); - elector.terminateConnection(); + /** + * When error occurs in serviceInit(), serviceStop() can be called. + * We need null check for the case. + */ + if (elector != null) { + elector.quitElection(false); + elector.terminateConnection(); + } super.serviceStop(); }