Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
THRUST SERVICES & TOOLS
CLOUD EDITIONS
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
Rollback on a per-site basis
pr0fess0r
Hi
At the moment we have OD deploying to two different websites but if one fails, it rolls back BOTH the sites, not just the one that failed.
Looking at the config file...
Even though transactional is set to no here:
<deployment transactional="no" >
<execDeploymentTask useDefinition="site1.com" />
<execDeploymentTask useDefinition="site2.com" />
</deployment>
it is set to yes at the top of the config file, here:
<replicationFarmSet >
<replicationFarm name="MYFARMNAME" quorum="" >
<nodeRef useNode="server2" transactional="yes">
</nodeRef>
</replicationFarm>
<replicationFarm name="MYFARMNAMELOCAL" quorum="" >
<nodeRef useNode="MyLocalHost" transactional="yes">
</nodeRef>
</replicationFarm>
</replicationFarmSet>
so if I want rollbacks to occur on a per-site basis, should I do this:
<replicationFarmSet >
<replicationFarm name="MYFARMNAME" quorum="" >
<nodeRef useNode="server2" transactional="no">
</nodeRef>
</replicationFarm>
<replicationFarm name="MYFARMNAMELOCAL" quorum="" >
<nodeRef useNode="MyLocalHost" transactional="no">
</nodeRef>
</replicationFarm>
</replicationFarmSet>
<deployment transactional="yes" >
<execDeploymentTask useDefinition="site1.com" />
</deployment>
<deployment transactional="yes" >
<execDeploymentTask useDefinition="site2.com" />
</deployment>
so each site deployment is a separate transaction that rolls back if it fails, independent of the other deployments?
can I have two <deployment> elements in the same config?
it's been suggested i could make this into two separate deployment config files, but another deployment we have here has dozens of site deployments in one file. having separate files for each of these would be a pain
cheers
Find more posts tagged with
Comments
Adam Stoller
...
<deployment transactional="yes" >
<execDeploymentTask useDefinition="site1.com" />
</deployment>
<deployment transactional="yes" >
<execDeploymentTask useDefinition="site2.com" />
</deployment>so each site deployment is a separate transaction that rolls back if it fails, independent of the other deployments?
can I have two elements in the same config?
The former (above snippet) is not syntactically correct and thus will not provide the result you are looking for.
The latter would work - by changing the above to look like:
<deployment transactional="yes">
<execDeploymentTask useDefinition="
$site^
"/>
</deployment>
and change the invokation of the deployment to include:
iwodcmd start
deployment
-k site="site1.com"
and/or:
iwodcmd start
deployment
-k size="site2.com"
If you want to be able to run
both
deployments at the same time you would need to further modify the invokation to:
iwodcmd start
deployment
-k site="site1.com" -inst
unique_string
and/or:
iwodcmd start
deployment
-k size="site2.com" -inst
unique_string
--fish
Senior Consultant, Quotient Inc.
http://www.quotient-inc.com
pr0fess0r
Thanks. It was suggested that I use the quorum feature and do something like this:
<replicationFarmSet >
<replicationFarm name="MYFARMNAME" quorum="1" >
<nodeRef useNode="server1">
</nodeRef>
</replicationFarm>
<replicationFarm name="MYFARMNAMELOCAL" quorum="1" >
<nodeRef useNode="server2">
</nodeRef>
</replicationFarm>
</replicationFarmSet>
... rest of config file...
<deployment transactional="yes" >
<execDeploymentTask useDefinition="definition1" />
<execDeploymentTask useDefinition="definition2" />
</deployment>
would that work?
cheers
Adam Stoller
Don't know - I've never used the quorum feature.
I don't see how that would differ from your existing situation though.
A quorum of 0 might work - but then you wouldn't get the rollback at all.
All I can suggest is try it out and see if it works (you'll have to test a failure on one or the other paths)
--fish
Senior Consultant, Quotient Inc.
http://www.quotient-inc.com
Migrateduser
Try a single replication farm with quorum value set to 1. That will cause each target in the quorum to either commit or roll back without affecting the other targets.
Todd Scallan
Director of Product Management
Interwoven
t: 408-530-7167
e:
tscallan@interwoven.com
pr0fess0r
Um, no luck. I get:
***ERROR - Replication farm MYFARMNAME can not use quorum when there are multiple execDeploymentTask elements.
cheers
Edited by pr0fess0r on 03/16/05 11:54 AM (server time).
Migrateduser
Try with one replication farm. All your target nodes would be defined within the one farm.
Todd Scallan
Director of Product Management
Interwoven
t: 408-530-7167
e:
tscallan@interwoven.com
test.zip
pr0fess0r
Hi
I do only have one farm defined, and all of the definitions refer to that one farm. I have one <deployment> element, containing a number of execDeploymentTask nodes. the error above seems to indicate you cant use the quorum feature if you have more than one execDeploymentTask node. But the DTD seems to imply you cant have more than one <deployment> element...
Migrateduser
Sorry. I meant try a single definition referencing a single farm, invoked using a single execDeploymentTask. If I understood your use case, I think that's all you need.
Todd Scallan
Director of Product Management
Interwoven
t: 408-530-7167
e:
tscallan@interwoven.com