curator-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CURATOR-247) Extend Curator's connection state to support SESSION_LOST
Date Tue, 01 Sep 2015 01:37:45 GMT

    [ 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)

Mime
View raw message