From 0be26811f3db49abb62d12e6a051a31553495da8 Mon Sep 17 00:00:00 2001 From: Eric Yang Date: Mon, 29 Jun 2020 09:21:24 -0700 Subject: [PATCH] YARN-10328. Fixed ZK Curator NodeExists exception in YARN service AM logs Contributed by Bilwa S T via eyang --- .../yarn/service/registry/YarnRegistryViewForProviders.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/registry/YarnRegistryViewForProviders.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/registry/YarnRegistryViewForProviders.java index cecca5f6cf2..06066d546e0 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/registry/YarnRegistryViewForProviders.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-services/hadoop-yarn-services-core/src/main/java/org/apache/hadoop/yarn/service/registry/YarnRegistryViewForProviders.java @@ -143,7 +143,10 @@ public class YarnRegistryViewForProviders { ServiceRecord record) throws IOException { String path = RegistryUtils.componentPath( user, serviceClass, serviceName, componentName); - registryOperations.mknode(RegistryPathUtils.parentOf(path), true); + String parentPath = RegistryPathUtils.parentOf(path); + if (!registryOperations.exists(parentPath)) { + registryOperations.mknode(parentPath, true); + } registryOperations.bind(path, record, BindFlags.OVERWRITE); }