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

    https://github.com/apache/zookeeper/pull/447#discussion_r205922937
  
    --- Diff: 
src/java/main/org/apache/zookeeper/server/quorum/LeaderSessionTracker.java ---
    @@ -85,31 +85,43 @@ public boolean isGlobalSession(long sessionId) {
             return globalSessionTracker.isTrackingSession(sessionId);
         }
     
    -    public boolean addGlobalSession(long sessionId, int sessionTimeout) {
    -        boolean added =
    -            globalSessionTracker.addSession(sessionId, sessionTimeout);
    -        if (localSessionsEnabled && added) {
    +    public boolean trackSession(long sessionId, int sessionTimeout) {
    +        boolean tracked =
    +            globalSessionTracker.trackSession(sessionId, sessionTimeout);
    +        if (localSessionsEnabled && tracked) {
                 // Only do extra logging so we know what kind of session this 
is
                 // if we're supporting both kinds of sessions
    -            LOG.info("Adding global session 0x" + 
Long.toHexString(sessionId));
    +            LOG.info("Tracking global session 0x" + 
Long.toHexString(sessionId));
             }
    -        return added;
    +        return tracked;
         }
     
    -    public boolean addSession(long sessionId, int sessionTimeout) {
    -        boolean added;
    -        if (localSessionsEnabled && !isGlobalSession(sessionId)) {
    -            added = localSessionTracker.addSession(sessionId, 
sessionTimeout);
    --- End diff --
    
    When local session feature is enabled, the createSession method in 
ZooKeeperServer will create, track and 'commit' (update the local session in 
memory map) the local session immediately.


---

Reply via email to