Hi Flavio, thanks for replying.
Yes, pretty much sure serviceZKSessionId value corresponds to a valid ZooKeeper session: on the target ZooKeeper handle side I can see a few log lines upon running the previous code: 16-04-13-09-15-52 ZK event: WatchedEvent state:Disconnected type:None path:null. 16-04-13-09-15-58 ZK event: WatchedEvent state:SyncConnected type:None path:null. 16-04-13-09-15-58 ZK Session connected. State:CONNECTED Timeout:40000 sessionid:0x15408ce9fb6c36b ..... queuedevents:0; session id: xxxxxxxxxxxxxx; session password: xxxxxxxxx These are lines present for debug purpose on the Watcher set on the target ZooKeeper handle; current sessionID and password are also printed: these are the same value exploited on the code to trigger session expiration. >From the above log lines, looks like target handle disconnects upon init of >the "expiration" handle and then immediately reconnects (instead of expiring >as we should expect) leading at the same time to session expiration on the >same "expiration" handle. This seems strange given that we adopted the very same code on several unit tests and we got no issue of any sort. Any help is going to be appreciated. Thanks again, Matteo -----Messaggio originale----- Da: Flavio Junqueira [mailto:[email protected]] Inviato: mercoledì 13 aprile 2016 10:20 A: [email protected] Oggetto: Re: Code to Simulate ZooKeeper Session Expiration does not Work Are you sure serviceZKSessionId is valid? -Flavio > On 13 Apr 2016, at 08:39, Matteo Casadei - Diennea > <[email protected]> wrote: > > Hi everybody, > > I have an issue on testing ZooKeeper's session expiration. > > Basically, I am using the chunk of code below to make a "target" > ZooKeeper handle expire: > > > ... > final ZooKeeper zk = new ZooKeeper(zkAddress , zkTimeout, new Watcher() { > > @Override > public void process(WatchedEvent event) { > System.out.println("Received event: " + event); > > } > > }, serviceZKSessionId, serviceZKpasswd); > > while (zk.getState() != States.CONNECTED) { > Thread.sleep(100); > } > zk.close(); > ... > > > however when running the code above, the only event a receive is an expired > event while the target ZooKeeper handle (the one I want to actually expire) > simply gets disconnected and immediately reconnected afterwards. > > Can anybody give me a clue on what is actually wrong with this code? > > > Thanks in advance, > Matteo > > -- > Matteo Casadei > > ________________________________ ________________________________ Iscriviti alla nostra newsletter per rimanere aggiornato su digital ed email marketing! http://www.magnews.it/newsletter/ The information in this email is confidential and may be legally privileged. If you are not the intended recipient please notify the sender immediately and destroy this email. Any unauthorized, direct or indirect, disclosure, copying, storage, distribution or other use is strictly forbidden.
