[jboss-dev-forums] [Design of POJO Server] - Re: profile service, farming
scott.stark@jboss.org
do-not-reply at jboss.com
Fri May 23 11:09:21 EDT 2008
"bstansberry at jboss.com" wrote :
| anonymous wrote : So 'hotdeployment' is purely a profile implementation detail, how we reconcile local repositories across a cluster would be part of the org.jboss.profileservice.spi.DeploymentRepository.getModifiedDeployments() implementation.
|
| But that doesn't get to controlling how the profile changes get reflected in the runtime. That's a task of the MainDeployer and the deployers.
|
Ok, that is true. Additions/removals to the profile do need to be passed through the MainDeployer to bring a running system in sync with the profile.
"bstansberry at jboss.com" wrote :
| An ear is deployed on all 4 nodes of a cluster. New version of the ear is deployed. Goal is that the ear be brought to a certain deployment stage (DeploymentStages.REAL?) on all nodes in the cluster such that we know the deployment will work on all nodes. A 2PC "prepare". At that point a cluster-wide "commit" is executed, the deployments are brought to the final stage where they handle requests, and the old version is removed. If there is a failure during the "prepare", the new version is rolled back and the old version left in place.
|
Ok, DeploymentStages.REAL would be too far as real runtime components would start to be created. Maybe we would just need to run it through the DESCRIBE phase, maybe PRE_REAL. The main problem is a disconnect between a system that looks valid in terms of everything being there, vs actually having all of the runtime components in place.
"bstansberry at jboss.com" wrote :
| There can be other variations on the above, but the main point is there is a multistep deployment process that requires intra-cluster communication at various points. Who controls that process is my question -- doesn't seem like its a concern of the DeploymentRepository, also doesn't seem like a proper concern of a deployer. My last post mentioned "some variant of the HDScanner concept" but that's not it either; you're right, HDScanner is just a trivial link between the profile and the MainDeployer and shouldn't be made into something else. Seems like this is at least partly a concern of a cluster-aware MainDeployer.
|
There really is no one controlling entity other than the admin layer. The admin layer calling the profile service api to do the deployment is what triggers everything, dealing with failures and rolling back to the previous version, but all participants need to be properly written with dependencies in place to allow a failure to be unwound.
"bstansberry at jboss.com" wrote :
| This is the part I need to dig into more to get a better understanding of what you mean. Perhaps that will answer my question above. :)
|
It won't. The metadata repository is just a hiearchical source of metadata that has scopes that can be where server/cluster wide defaults are picked up. It has to fit into any cluster wide notions, but solves nothing in of itself.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4152999#4152999
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4152999
More information about the jboss-dev-forums
mailing list