I am curious if anyone who is using JBoss clustering, or is trying to, has some thoughts on various test case scenarios on how to test various scenarios that may arise. I thought of a couple:
partition node failure
Basically when a node goes down, make sure other nodes are still handling requests. Bring failed node back up and make sure it gets back into the game.
Deploy an app on a node, make sure it gets deployed (Farmed) to all other nodes. This assumes all nodes are "clean" to begin with.
Opposite of above, delete an app out of farm dir, see that it undeploys on local machine as well as other nodes where it should undeploy and delete it out of their farm dirs.
Drop in a newer version of an app on one node, see that it redeploys on that node and farms and redeploys on all other nodes.
add new node
In a parititon with nodes already running and have an app deployed, add a new node that is clean, make sure the app gets farmed to it from any of the other nodes so that it too has the same app deployed and is effectively brought online.
Other scenarios? I can think of a few more, but not sure how to test them. Such as HttpSession fail-over, EJB fail-over, JMS fail-over, JNDI fail-over, etc. Others might include high-stress load testing in various scenarios such as a linear test of x virtual users hitting one ejb on one server, then two, and so forth, keeping stats on how much each handles, figuring out the scale of that test. Then possibly having virtual users send various sized data to a single ejb on one, two and three nodes. Finally have a client (or mutliple clients) send random amounts of data to random number of beans.
I was hoping we could append this thread with information and perhaps provide some real-world or realistic test cases that can be used to help others figure out how to test the JBoss cluster.