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

ASF GitHub Bot commented on CURATOR-247:
----------------------------------------

Github user cammckenzie commented on a diff in the pull request:

    https://github.com/apache/curator/pull/97#discussion_r38378657
  
    --- Diff: 
curator-framework/src/main/java/org/apache/curator/framework/imps/CuratorFrameworkImpl.java
 ---
    @@ -103,23 +106,34 @@
         public CuratorFrameworkImpl(CuratorFrameworkFactory.Builder builder)
         {
             ZookeeperFactory localZookeeperFactory = 
makeZookeeperFactory(builder.getZookeeperFactory());
    -        this.client = new CuratorZookeeperClient(localZookeeperFactory, 
builder.getEnsembleProvider(), builder.getSessionTimeoutMs(), 
builder.getConnectionTimeoutMs(), new Watcher()
    -        {
    -            @Override
    -            public void process(WatchedEvent watchedEvent)
    -            {
    -                CuratorEvent event = new 
CuratorEventImpl(CuratorFrameworkImpl.this, CuratorEventType.WATCHED, 
watchedEvent.getState().getIntValue(), 
unfixForNamespace(watchedEvent.getPath()), null, null, null, null, null, 
watchedEvent, null, null);
    -                processEvent(event);
    -            }
    -        }, builder.getRetryPolicy(), builder.canBeReadOnly());
    +        this.client = new CuratorZookeeperClient
    +            (
    +                localZookeeperFactory,
    +                builder.getEnsembleProvider(),
    +                builder.getSessionTimeoutMs(),
    +                builder.getConnectionTimeoutMs(),
    +                new Watcher()
    +                {
    +                    @Override
    +                    public void process(WatchedEvent watchedEvent)
    +                    {
    +                        CuratorEvent event = new 
CuratorEventImpl(CuratorFrameworkImpl.this, CuratorEventType.WATCHED, 
watchedEvent.getState().getIntValue(), 
unfixForNamespace(watchedEvent.getPath()), null, null, null, null, null, 
watchedEvent, null, null);
    +                        processEvent(event);
    +                    }
    +                },
    +                builder.getRetryPolicy(),
    +                builder.canBeReadOnly(),
    +                builder.getConnectionHandlingPolicy()
    +            );
     
    +        internalConnectionHandler = 
builder.getConnectionHandlingPolicy().isEmulatingClassicHandling() ? new 
ClassicInternalConnectionHandler() : new StandardInternalConnectionHandler();
    --- End diff --
    
    Is there a reason that this needs to be a separate instance rather than 
just a reference to the connection handler from the builder?


> Extend Curator's connection state to support SESSION_LOST
> ---------------------------------------------------------
>
>                 Key: CURATOR-247
>                 URL: https://issues.apache.org/jira/browse/CURATOR-247
>             Project: Apache Curator
>          Issue Type: Sub-task
>          Components: Framework
>    Affects Versions: 2.8.0
>            Reporter: Jordan Zimmerman
>            Assignee: Jordan Zimmerman
>             Fix For: 3.0.0
>
>
> Currently, Curator has a connection state for LOST that confuses users. It 
> does _not_ mean that the session is lost. Instead it means that the retry 
> policy has given up retrying. Introduce a new connection state that roughly 
> corresponds to the ZooKeeper session expiring. Possibly require that clients 
> request this support via a new new builder method in CuratorFrameworkFactory



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

Reply via email to