This was raised in http://www.jboss.org/index.html?module=bb&op=viewtopic&t=64186 and I wanted to discuss a proposal for resolving the issue without clouding the discussion in the other item.
I would like to work towards ensuring that there is a consistent set of applications deployed on the cluster as a goal for farm deployment.
With this goal in mind, I don't think that server nodes joining the JBoss cluster should pull applications from every other cluster node. I believe that there should be a concept of the cluster coordinator that the applications are pulled from only. The cluster coordinator is the oldest cluster member (replaced by the next oldest during a failure).
This will make clustered server startup faster as fewer applications will be transferred. I believe that this will also simplify the http://jira.jboss.com/jira/browse/JBCLUSTER-33 task that deals with large file deployments.
This doesn't address the following issues which I won't to mention:
1. If you delete a clusterer application, you should remove the application manually from any cluster node member that was down at the time of deletion. This would cover the case that the downed node later becomes the cluster coordinator (to prevent the deleted application from coming back to life). I have reproduced this case.
2. If two server nodes are started while the network is down, when they later see each other, one will become the cluster coordinator but applications are not propagated to the other node. I haven't reproduced this case but I believe it exists.
These two cases are present with or without the proposed change and are only mentioned here to document them (will create Jira issues for them later.)
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3879313#3879313
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3879313