[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2867?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jun Rao updated ZOOKEEPER-2867:
-------------------------------
    Attachment: zk.2.08-02
                zk.0.08-02
                zk.1.08-02

[~hanm], I found some additional info on Jun. 27. I actually do see session 
25cd1e82c110001 being closed in the commit log on 2 of the 3 ZK servers.

First, I saw the following on ZK server 1's log4j log. It appears that it first 
expired session 25cd1e82c110001. Then there was some ZK leader election, 
potentially due to a network issue. Finally, it allowed a client to renew 
session 25cd1e82c110001.

{code:java}
ZK 1 : 
June 27th 2017, 22:04:39.000   org.apache.zookeeper.server.ZooKeeperServer 
Expiring session 0x25cd1e82c110001, timeout of 12000ms exceeded
June 27th 2017, 22:04:39.001   
org.apache.zookeeper.server.quorum.CommitProcessor Processing request:: 
sessionid:0x25cd1e82c110008 type:closeSession cxid:0x0 zxid:0x200000fc5 
txntype:-11 reqpath:n/a
June 27th 2017, 22:04:39.001   
org.apache.zookeeper.server.quorum.CommitProcessor Processing request:: 
sessionid:0x25cd1e82c110001 type:closeSession cxid:0x0 zxid:0x200000fc4 
txntype:-11 reqpath:n/a
June 27th 2017, 22:04:39.001   org.apache.zookeeper.server.quorum.Leader 
Proposing:: sessionid:0x25cd1e82c110001 type:closeSession cxid:0x0 
zxid:0x200000fc4 txntype:-11 reqpath:n/a
June 27th 2017, 22:04:39.001   org.apache.zookeeper.server.quorum.Leader 
Proposing:: sessionid:0x25cd1e82c110008 type:closeSession cxid:0x0 
zxid:0x200000fc5 txntype:-11 reqpath:n/a
June 27th 2017, 22:04:39.001   org.apache.zookeeper.server.PrepRequestProcessor 
Processed session termination for sessionid: 0x25cd1e82c110008
June 27th 2017, 22:04:39.001   org.apache.zookeeper.server.PrepRequestProcessor 
Processed session termination for sessionid: 0x25cd1e82c110001
...
June 27th 2017, 22:04:42.064   org.apache.zookeeper.server.quorum.QuorumPeer 
LOOKING
...
June 27th 2017, 22:04:45.824   org.apache.zookeeper.server.quorum.Learner 
FOLLOWING - LEADER ELECTION TOOK - 3760
...
June 27th 2017, 22:05:20.324   org.apache.zookeeper.server.ZooKeeperServer 
Client attempting to renew session 0x25cd1e82c110001 at /100.96.5.6:47618
June 27th 2017, 22:05:20.324   org.apache.zookeeper.server.quorum.Learner 
Revalidating client: 0x25cd1e82c110001
June 27th 2017, 22:05:20.324   org.apache.zookeeper.server.ZooKeeperServer 
Session establishment request from client /100.96.5.6:47618 client's lastZxid 
is 0x2000003af
June 27th 2017, 22:05:20.325   org.apache.zookeeper.server.ZooKeeperServer 
Established session 0x25cd1e82c110001 with negotiated timeout 12000 for client 
/100.96.5.6:47618
{code}

In ZK server 1's commit log, I saw the following, which indicates that session 
25cd1e82c110001 was closed.
{code:java}
6/27/17 22:04:39 session 0x25cd1e82c110001 cxid 0x0 zxid 0x200000fc4 
closeSession null
{code}

I saw the same session close in ZK server 2's commit log.
{code:java}
6/27/17 22:04:39 session 0x25cd1e82c110001 cxid 0x0 zxid 0x200000fc4 
closeSession null
{code}

However, I don't see the same session close in ZK server 0's commit log.

Also, in ZK server 2 and 0's log4j log, there was no logging for session 
25cd1e82c110001 from 22:04:39.000 (when server 1 expired the session) to 
22:05:20.325 (when server 1 renewed the session). 

So, my questions are 
(1) Does the presence of closeSession indicate that session 25cd1e82c110001 was 
indeed expired on 6/27/17 22:04:39?
(2) Why the closeSession for 25cd1e82c110001 didn't show up in the commit log 
of ZK server 0?

I am also attaching the log around that time in case you need them. Thanks.

> an expired ZK session can be re-established
> -------------------------------------------
>
>                 Key: ZOOKEEPER-2867
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2867
>             Project: ZooKeeper
>          Issue Type: Bug
>    Affects Versions: 3.4.10
>            Reporter: Jun Rao
>         Attachments: zk.0.08-02, zk.0.08-02, zk.0.formatted, zk.1.08-02, 
> zk.1.08-02, zk.1.formatted, zk.2.08-02, zk.2.08-02
>
>
> Not sure if this is a real bug, but I found an instance when a ZK client 
> seems to be able to renew a session already expired by the ZK server.
> From ZK server log, session 25cd1e82c110001 was expired at 22:04:39.
> {code:java}
> June 27th 2017, 22:04:39.000  INFO    
> org.apache.zookeeper.server.ZooKeeperServer     Expiring session 
> 0x25cd1e82c110001, timeout of 12000ms exceeded
> June 27th 2017, 22:04:39.001  DEBUG   
> org.apache.zookeeper.server.quorum.Leader       Proposing:: 
> sessionid:0x25cd1e82c110001 type:closeSession cxid:0x0 zxid:0x200000fc4 
> txntype:-11 reqpath:n/a
> June 27th 2017, 22:04:39.001  INFO    
> org.apache.zookeeper.server.PrepRequestProcessor        Processed session 
> termination for sessionid: 0x25cd1e82c110001
> June 27th 2017, 22:04:39.001  DEBUG   
> org.apache.zookeeper.server.quorum.CommitProcessor      Processing request:: 
> sessionid:0x25cd1e82c110001 type:closeSession cxid:0x0 zxid:0x200000fc4 
> txntype:-11 reqpath:n/a
> June 27th 2017, 22:05:20.324  INFO    
> org.apache.zookeeper.server.quorum.Learner      Revalidating client: 
> 0x25cd1e82c110001
> June 27th 2017, 22:05:20.324  INFO    
> org.apache.zookeeper.server.ZooKeeperServer     Client attempting to renew 
> session 0x25cd1e82c110001 at /100.96.5.6:47618
> June 27th 2017, 22:05:20.325  INFO    
> org.apache.zookeeper.server.ZooKeeperServer     Established session 
> 0x25cd1e82c110001 with negotiated timeout 12000 for client /100.96.5.6:47618
> {code}
> From ZK client's log, it was able to renew the expired session on 22:05:20.
> {code:java}
> June 27th 2017, 22:05:18.590  INFO    org.apache.zookeeper.ClientCnxn Client 
> session timed out, have not heard from server in 4485ms for sessionid 
> 0x25cd1e82c110001, closing socket connection and attempting reconnect      0
> June 27th 2017, 22:05:18.590  WARN    org.apache.zookeeper.ClientCnxn Client 
> session timed out, have not heard from server in 4485ms for sessionid 
> 0x25cd1e82c110001  0
> June 27th 2017, 22:05:19.325  WARN    org.apache.zookeeper.ClientCnxn SASL 
> configuration failed: javax.security.auth.login.LoginException: No JAAS 
> configuration section named 'Client' was found in specified JAAS 
> configuration file: '/opt/confluent/etc/kafka/server_jaas.conf'. Will 
> continue connection to Zookeeper server without SASL authentication, if 
> Zookeeper server allows it. 0
> June 27th 2017, 22:05:19.326  INFO    org.apache.zookeeper.ClientCnxn Opening 
> socket connection to server 100.65.188.168/100.65.188.168:2181  0
> June 27th 2017, 22:05:20.324  INFO    org.apache.zookeeper.ClientCnxn Socket 
> connection established to 100.65.188.168/100.65.188.168:2181, initiating 
> session 0
> June 27th 2017, 22:05:20.327  INFO    org.apache.zookeeper.ClientCnxn Session 
> establishment complete on server 100.65.188.168/100.65.188.168:2181, 
> sessionid = 0x25cd1e82c110001, negotiated timeout = 12000  0
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to