[ 
https://issues.apache.org/jira/browse/CURATOR-364?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15750637#comment-15750637
 ] 

Imesha Sudasingha commented on CURATOR-364:
-------------------------------------------

If we completely move the 

{code}
createMethod = useProtection ? 
client.create().creatingParentContainersIfNeeded().withProtection() : 
client.create().creatingParentContainersIfNeeded();
{code}

code segment to the *createNode()* method, will it solve the problem? Then, an 
exception will be raised only when you call the *start()* method of the 
PersistentNode without starting the client. This should be the expected 
behavior I guess?

> Persistent Node Constructor Requires a Started ZK Connection
> ------------------------------------------------------------
>
>                 Key: CURATOR-364
>                 URL: https://issues.apache.org/jira/browse/CURATOR-364
>             Project: Apache Curator
>          Issue Type: Bug
>          Components: Recipes
>    Affects Versions: 2.11.1
>            Reporter: Ilya Biryukov
>
> *Steps to reproduce:*
> 1. Initialise an instance of PersistentNode
> 2. Ensure that CuratorFramework is Not Started (Latent)
> *Expected behaviour:*
> PersistentNode constructor should work without an active CuratorFramework 
> connection to ZK
> *Actual behaviour*:
> An Exception is thrown:
> {code}
> Caused by: java.lang.IllegalStateException: instance must be started before 
> calling this methodDEBUG [2016-12-14 10:25:25,641] akka.event.EventStream: 
> logger log1-Slf4jLogger started
>       at 
> com.google.common.base.Preconditions.checkState(Preconditions.java:150)
>       at 
> org.apache.curator.framework.imps.CuratorFrameworkImpl.create(CuratorFrameworkImpl.java:351)
>       at 
> org.apache.curator.framework.recipes.nodes.PersistentNode.<init>(PersistentNode.java:173)
> {code}
> *Thoughts*
> This behaviour is inconsistent with other Zk recepies based on Closable 
> interface. PersistentNode should not attempt any Zk communication until 
> start() method is called.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to