From cb0056425a2ae512632c0646ae3aad474e16f35e Mon Sep 17 00:00:00 2001 From: wangtianzhou Date: Thu, 26 Mar 2020 14:37:04 +0800 Subject: [PATCH] check useContainerParentsIfAvailable on ExistsBuilderImpl. --- .../framework/imps/ExistsBuilderImpl.java | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/curator-framework/src/main/java/org/apache/curator/framework/imps/ExistsBuilderImpl.java b/curator-framework/src/main/java/org/apache/curator/framework/imps/ExistsBuilderImpl.java index caebd3d8d4..d7b212d320 100644 --- a/curator-framework/src/main/java/org/apache/curator/framework/imps/ExistsBuilderImpl.java +++ b/curator-framework/src/main/java/org/apache/curator/framework/imps/ExistsBuilderImpl.java @@ -18,9 +18,23 @@ */ package org.apache.curator.framework.imps; +import java.util.List; +import java.util.concurrent.Callable; +import java.util.concurrent.Executor; + import org.apache.curator.RetryLoop; import org.apache.curator.drivers.OperationTrace; -import org.apache.curator.framework.api.*; +import org.apache.curator.framework.api.ACLableExistBuilderMain; +import org.apache.curator.framework.api.BackgroundCallback; +import org.apache.curator.framework.api.BackgroundPathable; +import org.apache.curator.framework.api.CuratorEvent; +import org.apache.curator.framework.api.CuratorEventType; +import org.apache.curator.framework.api.CuratorWatcher; +import org.apache.curator.framework.api.ErrorListenerPathable; +import org.apache.curator.framework.api.ExistsBuilder; +import org.apache.curator.framework.api.ExistsBuilderMain; +import org.apache.curator.framework.api.Pathable; +import org.apache.curator.framework.api.UnhandledErrorListener; import org.apache.curator.utils.ZKPaths; import org.apache.zookeeper.AsyncCallback; import org.apache.zookeeper.KeeperException; @@ -28,10 +42,6 @@ import org.apache.zookeeper.data.ACL; import org.apache.zookeeper.data.Stat; -import java.util.List; -import java.util.concurrent.Callable; -import java.util.concurrent.Executor; - public class ExistsBuilderImpl implements ExistsBuilder, BackgroundOperation, ErrorListenerPathable, ACLableExistBuilderMain { private final CuratorFrameworkImpl client; @@ -67,7 +77,9 @@ public ACLableExistBuilderMain creatingParentsIfNeeded() @Override public ACLableExistBuilderMain creatingParentContainersIfNeeded() { - createParentContainersIfNeeded = true; + if (client.useContainerParentsIfAvailable()) { + createParentContainersIfNeeded = true; + } createParentsIfNeeded = false; return this; }