Thursday Jun 11, 2009

2-Node Cluster Memory Replication Issue Resolved

Glassfish V2 Memory ReplicationOne

Glassfish V2 Memory Replication

A number of GlassFish v2 have encountered issues with memory replication for 2-node clusters. This issue has been fixed:

Check out:

This fix is available for support customers in patch1 of GFv2.1.

This issue is also fixed in GFv2.1.1 build 17 available at: GlassFish v2.1.1-b17



Memory Replication & Multi-threaded Concurrent Access to HttpSessions

Glassfish V2 Memory ReplicationOne

Glassfish V2 Memory Replication

If you are using Memory Replication with GlassFish v2 and your web application involves multiple client threads concurrently accessing the same session id, then you may experience session loss even without any instance failure. The issue here is that our memory replication framework makes use of session versioning. This feature was designed with the more traditional http request/response communication pattern in mind.

For a number of types of applications however, this traditional pattern does not hold. Examples include many Ajax-related frameworks, the use of Frames, etc. Another example is when a page includes many static resources (e.g. jpg's). In these situations, most browsers will optimize the loading of these resources by using multiple parallel connections, each of which is handled by a separate request processing thread. If the application has already established a session then this too will involve more than one thread at a time accessing a single HttpSession.

We have provided a solution for these situations. Use the "relaxVersionSemantics" property in sun-web.xml - this allows the web container to return (for each requesting thread) whatever version of the session is in the active cache regardless of the version number. This is critical when multiple threads are interacting in an essentially non-deterministic fashion with the container.

Here is an example snippet from a sun-web.xml that demonstrates where to add this property:

    <session-manager persistence-type="replicated">
	<property name="relaxCacheVersionSemantics" value="true"/>




Tuesday May 15, 2007

JavaOne 2007 Technical Overview of GlassFish v2

Glassfish V2 Memory ReplicationOne

Glassfish V2 Memory Replication

The talk that Dhiru and I gave at Java One was very well attended - about 800 people. We heard there was a good size rush of people to check out the GlassFish pods right after the talk - so GlassFish really seems to be getting some name recognition.

We've gotten requests for the preso slides so here they are. JavaOne preso - Technical Overview of Glassfish V2



Friday May 04, 2007

Clustering Screencast from Kedar Mhaswade

Glassfish V2 Memory ReplicationOne

Glassfish V2 Memory Replication

Thanks to Kedar Mhaswade we have a screencast demonstrating the fundamentals of GlassFish v2 clustering and failover using memory replication. It gives a sense of the ease of use of clustering features. Check out: Glassfish V2 Clustering Screencast

Our technical session on GlassFish V2 (TS-4436) is scheduled for Thursday morning. Hope to see you there.



Thursday Apr 05, 2007

By way of introduction...

Glassfish V2 Memory ReplicationOne

Glassfish V2 Memory Replication

Glassfish V2 includes clustering and failover capabilities to provide JavaEE 5 applications with high availability. State replication for http session state and stateful EJB session state is accomplished using memory replication.  Support for failover of single sign-on state (SSO) is also included.

Hi - my name is Larry White. I am the HA Architect for Glassfish and tech lead for this feature.

I hope to provide you with information, answer your questions (if I can) and get your feedback.

I have been pretty "heads down" with this work, so apologies to all who have been asking, cajoling, pleading and even at times growling (I won't mention any names ;-) for me to start blogging about this.

I'm pretty pleased with the way this feature is turning out and I think as you learn about it and experience it, you will be too.  (note: anyone who knows me knows I'm fairly tough to please).

One of the first things I plan is to set up a FAQ page for clustering/failover questions.  Look for it very soon.

I'll also be including links to useful documentation and examples.

I'll be speaking about Glassfish V2 (with Dhiru Pandey) at JavaOne (TS-4436) and I look forward to meeting many of you who have expressed interest in  clustering and high availability.  Maybe we can get together for coffee (or better, beer) and talk about it.






« February 2016