Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
OD-DD Sync Multiple Tables Deployed/Sync is OFF!
System
Using OD and DD 5.6 with TS 5.5.2:
When running an OpenDeploy-DataDeploy sync we seem to be getting multiple tables of our content
Deployed to our production database server. Opendeploy is doing everything fine, it deploys the assets and it deletes DCR's correctly. However, the Datadeploy production database server does not delete metadata content. If I delete a DCR from our
staging Teamsite server then run the OD-DD sync - the metadata database attritubutes are still in the production database while the staging deletes them as it should
Note - we are using DAS with UDS but it appears that setting up TEAMSITE_METADATA is required?
If you have more questions I can explain
Find more posts tagged with
Comments
Migrateduser
When you deploy teamsite_metadata OD-DD sync does a XML-formatted-data to DB deployment. Is there an entry in the xml-formatted file ( dump file) for the deleted file?
BTW are you doing a full or differential deployment?
Migrateduser
The deployment (dump file) for metadata only shows the following:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<xml-tuple-data version="2.0.0">
<data-tuple>
<tuple-field name="state">NotPresent</tuple-field>
<tuple-field name="path">\templatedata\teamsite\metadata</tuple-field>
<tuple-field name="iw_internal_area">/default/main/fii/STAGING</tuple-field>
</data-tuple>
</xml-tuple-data>
I don't see antyhing about files being deleted - also we are going a full deployment
Migrateduser
In your DD config file loaddb.cfg for metadata deployment :
You probably have
<update type="base" state-field="state">
in the destination section, can you change this to:
<update type="standalone" state-field="state"> and rerun the deployment.
Migrateduser
Should I do this even though - In the loadb.cfg I'm pulling the UDS entered metadata from the dump files like this
<source>
<!-- Pull DCRs of same type from XML tuple file -->
<xml-formatted-data file = "e:\iwov_dumpdir\dumpdir\commentary_commentary.dump" />
</source>
Migrateduser
OK - with setting that up as standalone - the only entry I get in iwtracker is for teamsite_metadata - also, I still get multiple tables created
Migrateduser
Yes. Look at the ex below:
<deployment name="teamsite_web_metadata">
<source>
<!-- Pull data tuples from XML file -->
<xml-formatted-data file="e:/cfgfiles/xml2db/teamsite_metadata.dump" />
</source>
<destinations>
<database use ="sybase-sqlanywhere-ms"
update-type = "standalone"
state-field = "state">
<dbschema>
......
Migrateduser
Another funny entry I get is in iwov_idmaps - an entry for TEAMSITE_METADATA_KEY has a type of 4 (which is a constraint)
Also - the duplicate tables it appears are becacause on the production database the iwov_idmaps maps table has duplicate entries for several of the datatypes - our staging database is clean - no duplicates?
Are you only using teamsite_metadata - because in a perfect world - I'd just love to not even have an entry for it in the loaddb.cfg - since we're using purely a user entered only data model
Migrateduser
Did the previous solution work for you?
Also - the duplicate tables it appears are becacause on the production database the iwov_idmaps maps table has duplicate entries for several of the datatypes - our staging database is clean - no duplicates?
Can you post sample duplicate entries you have.
Do You mean there are duplicates in shortid or longid?
Are you only using teamsite_metadata - because in a perfect world - I'd just love to not even have an entry for it in the loaddb.cfg - since we're using purely a user entered only data model
Do you mean you dont really need the teamsite_metadata deployment.
Migrateduser
The previous solution - created only an entry for the TEAMSITE_METADATA table in IWOV_IDMAPS and IWTRACKER but none of my other tables
Here's a sample of the enrties from production:
TYPE SHORTID LONGID
1 IWT_A02A422D7A5 ABOUT_US_ABOUT_US__ABOUT_US
1 IWT_A029847A338 ABOUT_US_ABOUT_US__ABOUT_US
1 IWT_A029E67244C ABOUT_US_ABOUT_US__ABOUT_US
1 IWT_A4E9C940C3 ABOUT_US_ABOUT_US__COMPONENT
1 IWT_A4E4BD91AF8 ABOUT_US_ABOUT_US__COMPONENT
1 IWT_A4E20BCFACE ABOUT_US_ABOUT_US__COMPONENT
1 IWT_14C699D0FB38 ABOUT_US_CAREER_OPPORTUNITIES__CAREER_OPPORTUNITIES
1 IWT_14C6A2BCB932 ABOUT_US_CAREER_OPPORTUNITIES__CAREER_OPPORTUNITIES
1 IWT_14C661D0B746 ABOUT_US_CAREER_OPPORTUNITIES__CAREER_OPPORTUNITIES
1 IWT_F06649F907C ABOUT_US_INVESTOR_FACT_SHEET__COMPONENT
1 IWT_F067380568A ABOUT_US_INVESTOR_FACT_SHEET__COMPONENT
1 IWT_F068C4AE98D ABOUT_US_INVESTOR_FACT_SHEET__COMPONENT
1 IWT_F70A0B238D6 ABOUT_US_INVESTOR_FACT_SHEET__FACT_SHEET
1 IWT_F7077304DBD ABOUT_US_INVESTOR_FACT_SHEET__FACT_SHEET
1 IWT_F7051597AD8 ABOUT_US_INVESTOR_FACT_SHEET__FACT_SHEET
What's odd is sometimes we get 3 entries for a dataype - I clear out the IWOV_IDMAPS - re-run the deployment then I'll get 5 entries for the same dataype
Ideally - I don't need teamsite_metadata at all - however if you look at iwsyncdb.ipl in depth - you'll notice that teamsite/metadat is hardcoded into this script - so that's why when one generates the loaddb.cfg - they always get a teamsite_metadata entry - it appears by default whether one likes it or not - teamsite_metdata must be configured - so we've set it up as such
Migrateduser
The duplicates in iwov_idmaps doesnt look right and I am not able to reproduce the problem. Please post your cfg file and log file for the deployment.
Also if you dont really need teamsite_metadata deployment you could remove it from your loaddb.cfg. And can you post what you have in dcrtypes array in ddsync.ipl
my
@dcrtypes
= (
"internet/medical",
"internet/pr",
);
Migrateduser
Ok - I've attached today's log for opendeploy as well as loadb.cfg, ddsync.ipl, tsxml.cfg and the od deployment
Migrateduser
Ok - I've attached a zip file with today's log for opendeploy as well as loadb.cfg, ddsync.ipl, tsxml.cfg and the od deployment, the logs for the od_dd_sync (*.out), as well as a sample datacapture.cfg, dbschema.cfg etc
Migrateduser
This time should have attachment
Migrateduser
This attachment has the majorlogs for the load uds! -
Had to break this all up to meet attachment specs via forum
Migrateduser
Here are the iwddd.log and the od log
Migrateduser
One problem I can see right away is that you are using a unsupported configuration, i.e. xml-formatted-data as source to UDS tables (this is not officially supported nor tested)
Can you change the source section to a filelist instead or area instead of xml-formatted-data. There is no point in converting DCR-to-xml and then moving it to db instead you could do it in one shot dcr-to-db on target side.
Also can you go and change the
update-type="standalone" (you have update-type = "base" )
Also you can remove the unwanted deployments from loaddb.cfg.
Migrateduser
If I understand you correctly - I should just create the loadb.cfg like this:
iwsyncdb.ipl -genloadcfg loaddb.cfg -dumpdir e:\iwov_dumpdir -targetdir e:\iwov_content \default\main\fii\STAGING
Which by default creates the filelists -
What do you mean when you say: "area instead of xml-formatted-data"
Then I assume in tsxml.cfg is where I can change base to standalone - or I can just change it directly in loaddb.cfg
Migrateduser
Ok in the loaddb.cfg I changed the source to look like the following:
<source>
<!-- Pull DCRs of same type from XML tuple file -->
<filelist = "e:\iwov_dumpdir\dumpdir\commentary_commentary.filelist" />
</source>
<destinations>
<database use = "UseOracle8iProd"
update-type = "standalone"
state-field = "state">
<!--BEGIN { Database sub-elements for UDS tables-->
I get the following error when I run the deployment:
client: DEPLOYING - [Y:\default\main\fii\STAGING] to [E:\iwov_content]
(3) client: Received 'get' request for (.\templatedata\about_us\press_release\data\CN_07_23_03_press_release_2156_28810.xml)
client: Sending [.\templatedata\about_us\press_release\data\CN_07_23_03_press_release_2156_28810.xml] [reason missing-in-dest] -- OK
client: DEPLOYING - [E:\iwov_dumpdir] to [E:\iwov_dumpdir]
client: DEPLOYING not required
client: Deploying local_directory[.] of area[E:\iwov_dumpdir] was UNENCRYPTED
client: COMMITTING Transactional Deployment
(2) client: Executed script [d:\iw-home\interwoven\teamsite\iw-perl\bin\iwperl.exe d:\iw-home\interwoven\DataDeploy\bin\ddsync.ipl e:\iwov_dumpdir dumpdir loaduds full] where [d:/iw-home/interwoven/OpenDeploy/OpenDeployNG/conf] as [] FAILED
ERROR: client_after_deploy DNR script failed during commit phase.
ERROR: Failed to deploy local_directory[.] of area[E:\iwov_dumpdir]
ERROR: Failed 1 of 2 local_directories
client: ROLLBACK Transactional Deployment
client: Remote status: server-OK
Note: I get *.filelist files which are empty deployed to my localhost
and I get *.dump files which contain the metadata
Then I changed the loaddb.cfg source to look like this:
<source>
<!-- Pull DCRs of same type from filelist -->
<xml-source mode="wide,full"
area="e:\iwov_content/templatedata/commentary/commentary/data"
area-type="os-filesystem">
<path filelist = "e:\\iwov_dumpdir\\commentary_commentary.filelist"
encoding = "UTF8" />
</xml-source>
</source>
I get this error:
client: DEPLOYING - [Y:\default\main\fii\STAGING] to [E:\iwov_content]
(3) client: Received 'get' request for (.\templatedata\about_us\press_release\data\CN_07_23_03_press_release_2156_28810.xml)
client: Sending [.\templatedata\about_us\press_release\data\CN_07_23_03_press_release_2156_28810.xml] [reason missing-in-dest] -- OK
client: DEPLOYING - [E:\iwov_dumpdir] to [E:\iwov_dumpdir]
client: DEPLOYING not required
client: Deploying local_directory[.] of area[E:\iwov_dumpdir] was UNENCRYPTED
client: COMMITTING Transactional Deployment
(2) client: Executed script [d:\iw-home\interwoven\teamsite\iw-perl\bin\iwperl.exe d:\iw-home\interwoven\DataDeploy\bin\ddsync.ipl e:\iwov_dumpdir dumpdir loaduds full] where [d:/iw-home/interwoven/OpenDeploy/OpenDeployNG/conf] as [] FAILED
ERROR: client_after_deploy DNR script failed during commit phase.
ERROR: Failed to deploy local_directory[.] of area[E:\iwov_dumpdir]
ERROR: Failed 1 of 2 local_directories
client: ROLLBACK Transactional Deployment
which actually created multiple tables on our production db
and again I got I get *.filelist files which are empty deployed to my localhost
and I get *.dump files which contain the metadata
Additional Note: for now I only have a handful of DCR's created to test with - thus some dataypes don't have any DCR's
Migrateduser
The filelist is probably empty because your target area already has those files from a previous deploy and OD did not deploy any files.
Migrateduser
OK - the deployment completes - however I still get multiple tables being generated for some of the dataypes ?
and in my iwtracker table I get only one entry:
NAME BASE UPDATETIME BRANCH
TEAMSITE_METADATA __NO_BASE__ 0 __unknown__
Migrateduser
OK - I just noticed that on each target server - it is deploying *.dump files since in my tsxml.cfg each dataype entry look like the following:
<deployment name="about_us_about_us">
<source>
<teamsite-templating-records
options = "full,wide,$mode"
base-area = "$mybasearea"
area = "$myarea" >
<path name = "/templatedata/about_us/about_us"
visit-directory = "deep" />
</teamsite-templating-records>
</source>
<destinations>
<xml-formatted-data file="e:\iwov_dumpdir\dumpdir\about_us_about_us.dump" />
</destinations>
</deployment>
Thus - I assume if I change xml-formatted-data to be filelist I'm in business? - I thought however tsxml.cfg was only used to to be the template for loaddb.cfg
Migrateduser
The dump files are only used if you are transferring metadata or if you are using wide table. If you are using UDS for DCR's you really dont need the dump files, its getting generated only because you have a source dnr which is doing the dump:
<execDeploymentTask useDefinition="SEND-OVER-FILES-AND-METADATA" >
<deployNRun>
<!-- Include following DNR script invocation if using -->
<!-- DCR wide-table format and TeamSite metadata -->
<!-- NOTE: This source side DNR is not required if using -->
<!-- user-defined-schemas and NOT TeamSite MetaData -->
<dnrDeployment location="source"
when="before"
state="success">
Migrateduser
The reason you are seeing duplicates in iwov_idmaps is because you might be running multiple oddd deployments at the same time. After you run the first oddd deployment you are probably invoking the second one before the first one has comitted hence the second deployment does not find an entry for a longid created in the first deployment and hence the duplication.
To avoid this you could start DD in daemon mode on the target machine and replace the instances of iwdd.ipl in ddsync.ipl to iwexecdascmd.exe. (This is available only if you are using DD5.6 )