This discussion is archived
2 Replies Latest reply: Jan 23, 2008 11:08 AM by 807581 RSS

Separate deployments into each node of cluster - advisable?

807581 Newbie
Currently Being Moderated

Having just launched our application to the public, we are still in stabilization mode and sometimes we come across a showstopper corner case during the day. The fix is usually pretty trivial and we are ready with a patch within an hour of discovery. However, it is difficult to obtain approval for deployment downtime of even 3 minutes and on a clustered environment, deployment takes as long as 5-7 minutes (2-3 minutes to undeploy existing EAR and 3-5 minutes more to deploy the new one). Precompiling JSPs may already take up to a minute or so. Usually my deployment command line looks like this:
$GLASSFISH_HOME/bin/asadmin undeploy --target=my-cluster my-ear-RELEASE-V1.02-20080123-0100;  $GLASSFISH_HOME/bin/asadmin deploy --availabilityenabled=true --precompilejsp=true --enabled=true --target=my-cluster /tmp/my-ear-RELEASE-V1.02-20080123-0400.ear
After reading the deploy options more carefully, I figured that I can do a staggered deployment into each node (assuming 2 nodes in a cluster) like the following:
$GLASSFISH_HOME/bin/asadmin undeploy --target=my-instance-01 my-ear-RELEASE-V1.02-20080123-0100;  $GLASSFISH_HOME/bin/asadmin deploy --availabilityenabled=true --precompilejsp=true --enabled=true --target=my-instance-01 /tmp/my-ear-RELEASE-V1.02-20080123-0400.ear
$GLASSFISH_HOME/bin/asadmin undeploy --target=my-instance-02 my-ear-RELEASE-V1.02-20080123-0100;  $GLASSFISH_HOME/bin/asadmin deploy --availabilityenabled=true --precompilejsp=true --enabled=true --target=my-instance-02 /tmp/my-ear-RELEASE-V1.02-20080123-0400.ear
Can anybody advise if this is a good idea (practically speaking), considering the shared sessions which may run out of sync temporarily (I can imagine scenarios where session variables become invalid in a new deployment or even cause an error).

The SJSAS cluster is fronted by a SJSWS running in load balanced reverse proxy mode.

If this works out, it would save me and the help desk a lot of pressure from clients who are bumping into the bug during the entire day when we could have put in the fix early that morning itself.