users@glassfish.java.net

Re: Http session data lost in replicated cluster on glassfish v2ur1-b09d

From: <glassfish_at_javadesktop.org>
Date: Sun, 10 Feb 2008 09:50:13 PST

Hi jmetcalf:

I'm sorry to hear you're having issues with your Stripes based app. It's helpful that you
have already run a test with a lightweight simple web app and confirmed that nothing goes wrong with replication in that case.

And it is important to note that whatever is going wrong occurs irregardless of failover occurring - ie the problem exists even in repeated requests to a single instance. Normally, when subsequent requests go to an instance (based on load balancer sticky behavior), an already created session will be found in the local manager cache based on a match of the session id and the version number. These values are supposed to come in via cookie values the client uses to form the subsequent request. It appears something has gone wrong with this when using your Stripes based app.

I'm afraid I don't know much about how Stripes works but I can tell you that our replication framework requires client behavior like a normal browser with respect to handling of cookies. I suspect that the issue might perhaps reside there. In addition to the
JSESSIONID cookie we place and must receive back from the client a JSESSIONIDVERSION cookie. I do see hints of both in the log snippets you have included. One line is copied here from your note.
cookie: JSESSIONID=c82f5129382aab803d1d67e53985; JSESSIONIDVERSION=/mprt:9
[Message sent by forum member 'lwhite' (lwhite)]

http://forums.java.net/jive/thread.jspa?messageID=258247