Issue Details (XML | Word | Printable)

Key: GLASSFISH-18322
Type: Bug Bug
Status: Open Open
Priority: Critical Critical
Assignee: Mahesh Kannan
Reporter: lprimak
Votes: 5
Watchers: 12
Operations

If you were logged in you would be able to see more operations.
glassfish

High Availability (HA) Session loses session attributes during replication

Created: 05/Feb/12 06:07 AM   Updated: 03/Oct/12 02:04 AM
Component/s: failover
Affects Version/s: 3.1.2_b20
Fix Version/s: None

Time Tracking:
Not Specified

Environment:
  • Linux, 8GB RAM, 8-core Intel CPU, One Cluster of 2 machines, no traffic
  • Availability enabled
  • relaxCacheVersionSemantics enabled
  • Everything else is install default

Tags: 3_1_2-exclude 3_1_2-next
Participants: hmeerlo, jjackb, Joe Di Pol, lprimak and Mahesh Kannan


 Description  « Hide

See thread:
http://www.java.net/forum/topic/glassfish/glassfish/glassfish-31-final-high-availability-web-apps-slow-and-loses-session-state

See other related JIRA issue:
http://java.net/jira/browse/GLASSFISH-17344

Running Ajax applications reproduces this quickly.
Running non-Ajax applications it happens rarely, but still does.

I tested this in a single machine with a browser with my app in one window
and HaJsp.jsp in the other to see what's going on with the sessions.


I just tried 3.1.2b20 release, and while the performance is good now and TimeoutExceptions are gone, the Sessino state replication does not work correctly.

It seems the node with the older data is overwriting the node with the newer data:

  • a session attribute1 gets added to node1
  • a session attribute2 gets added to node2
  • node 1 all of the sudden only sees attribute2, attribute1 gets lost

This happens only with Availability turned on



lprimak added a comment - 03/Oct/12 02:04 AM

The session state replication now works as of GF 3.1.2.2 and relaxVersionSemantics=true

Failover of AJAX application doesn't happen seamlessly though, although reloading the page after failover
does work. Not sure if that's related to this problem.

I believe it's good enough to close this issue


hmeerlo added a comment - 20/Jul/12 02:43 PM

Hi,

any news or progress on this issue? This seems like a rather important problem. Right now I am forced to use synchronous replication which makes the whole thing very slow.

Thanx


Joe Di Pol added a comment - 17/Feb/12 07:49 PM

Too late to address in 3.1.2. Tagging for consideration in next release.


jjackb added a comment - 06/Feb/12 06:48 AM

As mentioned in another related (but closed issue), i have difficulties with testing session failover.

With gf3.1.1 it was possible to create a cluster with two local instances and emulating a session failover by calling e.g.:

http://localhost:28080/your/Servlet

then change URL to the second instance:

http://localhost:28081/your/Servlet

While gf 3.1.1 made the (session) failover, gf 3.1.2 always creates a new session (maybe since fixing #17504).

Is it a bug or feature? Please respond on this. Thanks.