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)
DataDeploy: Error deploying a DCR multiple times
sabih
I have written a data deployment config that deploys to a DB table without any issue for the first time but the next time whenever the same DCR is deployed is gives the following error.
DD:Index: 1, value: 1258
DD:ERROR:Exception occured: null
java.lang.NullPointerException
at com.interwoven.dd100.dd.TDbSchemaUpdateHelper.BuildRows(TDbSchemaUpdateHelper.java:495)
at com.interwoven.dd100.dd.TDbSchemaUpdateHelper.SelectCurrentRows(TDbSchemaUpdateHelper.java:357)
at com.interwoven.dd100.dd.TDbSchemaGroupInfo.ProcessTopLevelGroups(TDbSchemaGroupInfo.java:485)
at com.interwoven.dd100.dd.TDbSchemaGroupInfo.PrepareForDeleteUsingDeleteTracker(TDbSchemaGroupInfo.java:176)
at com.interwoven.dd100.dd.TDbSchemaGroupInfo.PrepareForRecurseSelectUsingDeleteTracker(TDbSchemaGroupInfo.java:147)
at com.interwoven.dd100.dd.TDbSchemaCfg.RealUpdate(TDbSchemaCfg.java:911)
at com.interwoven.dd100.dd.TDbSchemaAgent.BasicWriteTuple(TDbSchemaAgent.java:438)
at com.interwoven.dd100.dd.TDbSchemaAgent.WriteTuple(TDbSchemaAgent.java:333)
at com.interwoven.dd100.dd.TConsumerManager.WriteConsumerInternal(TConsumerManager.java:398)
at com.interwoven.dd100.dd.TConsumerManager.WriteConsumers(TConsumerManager.java:387)
at com.interwoven.dd100.dd.TAgentClient.DoOneTeamSiteSource(TAgentClient.java:962)
at com.interwoven.dd100.dd.TAgentClient.DoTeamSiteSources(TAgentClient.java:464)
at com.interwoven.dd100.dd.TAgentClient.DoOneDeployment(TAgentClient.java:256)
at com.interwoven.dd100.dd.TAgentClient.Go(TAgentClient.java:188)
at com.interwoven.dd100.dd.IWDataDeploy.Go(IWDataDeploy.java:512)
at com.interwoven.dd100.dd.IWDataDeploy.run(IWDataDeploy.java:534)
DD:ERROR:WriteTuple failure to consumer[0]
DD:ERROR:Unable to process TeamSite source templatedata/TVListings/Series/data/test007
I am under impression that the initial deployment for a given DCR is an insert and susequent deployments for the same DCRs are table updates. We have Teamsite 6.5 on Solaris and the deployment type is standalone.
Find more posts tagged with
Comments
Migrateduser
Do you have iwdeltracker enabled? What does your DCR look like? What about your configuration?
Environments:
(1,2) TS6.5, TS6.5SP1 on W2K3
(3) Vignette V7 Portal on Solaris 9
sabih
Post deleted by sabih
sabih
Here is the deployment config
sabih
Following is the table output.
ID_SHOW ID_NETWORK SERIES_NAME UMBRELLA_N SHOW_HOME_ GENRE DISPLAY_ON
---------- ---------- --------------- ---------- ---------- ---------- ----------
0 0 24 umbrella 7
www.show0
. silly Y
com
1 0 Criss Angel Min umbrella w
www.show1
. silliness N
dFreak orld com
2 0 geometric serie umbrella g
www.show2
. serious Y
s eometric com
3 0 series x umbrella x
www.show3
. Drama N
com
4 0 series 9 umbrella 9
www.show9
. Comedy Y
com
5 0 series 5 umbrella 5
www.show5
. Horror N
com
1190 0 My Series My Umbrell genre1
a
1234 1 some name some umbre
http://www
some genre Y
lla name .google.co
m
1256 0 8989 genre1
1193 0 My Umbrell genre1
a Name
1258 0
1167 0
1165 0
1155 0
1158 0
1183 0
1152 0
902 0 test test genre1 y
Migrateduser
Okay, well you sent me your DCT which is meaningless here. I'm asking for the DC
R
or other XML file that is used to populate your query. Also, I don't care if your IWDELTRACKER table has anything in it, I'm asking if you have it
enabled
for this particular configuration, schema, or database.
Environments:
(1,2) TS6.5, TS6.5SP1 on W2K3
(3) Vignette V7 Portal on Solaris 9
sabih
Here is the DCR. I am not sure how to enable IWTRACKER table but it seems to have data about my table therefore I am assuming that it is enabled.
Migrateduser
The IWDELTRACKER setting is not in your config, which it could be, optionally. Otherwise, it could be in your <od-home>/etc/database.xml. If it's not specified, I believe it's on by default, but I think that might be the issue you're running into.
What version of DD are you using? Also, how are you invoking the command to deploy this configuration? It SHOULD interact just fine with the IWDELTRACKER on but I've had issues with it using the DD module for OD 6.0.1/Windows. I typically prefer to have it turned off anyway.
Dave
Environments:
(1,2) TS6.5, TS6.5SP1 on W2K3
(3) Vignette V7 Portal on Solaris 9
reddyl
You can enable IWDELTRACKER by adding delete-tracker="yes" to the database element of your deployment configuration.
I think you need to set this attribure if you are using a standalone deployment and there is not DCR path attribute in deployment configuration.
Migrateduser
It's actually used if you want to do any common operations on single data sets subsequent to your initial INSERT, like SELECT, UPDATE, DELETE. I've found that, at least in the version that I'm using, there is occasional bizarre behavior with this "feature". I've contacted support on these issue and they weren't able to help me. So, I don't use it and instead, I rely on tighter development practices otherwise.
Dave
Environments:
(1,2) TS6.5, TS6.5SP1 on W2K3
(3) Vignette V7 Portal on Solaris 9
sabih
I have just verified that IWTRACKER is on in databsae.xml file. Do you want me to turn it off???
We are using OD 6.0.1. For the test purposes, I am using iwodcmd to invoke the deployment.
Migrateduser
For debugging purposes, try turning it off and then see if you get the same error. Of course, depending on how your database is configured, you might either find yourself with multiple rows with essentially the same data or otherwise, you may get a data constraint violation but I'm assuming you're working in a development environment.
Otherwise, what other XML files are in the directory you're pointing to? I ask this because your configuration file is instructing DD to sweep a directory and process ALL files contained therein.
Dave
Environments:
(1,2) TS6.5, TS6.5SP1 on W2K3
(3) Vignette V7 Portal on Solaris 9
Edited by dave on 12/07/05 09:47 AM (server time).
sabih
I replied in my previous post.
reddyl
Below is stright fromt the DD Admin guide explaing about delete-tracker setting Page 68
-----------------------------------------------------------------------------------------------------------------------------------
For deletions to work correctly, one of the following conditions must be met:
All group elements contain a column child element with its name attribute set to path
and mapped to a path value.
Only the root group contains a column element with a name attribute set to path and
mapped to a path value.
The delete-tracker attribute is set to yes in the database element. For example:
<database db="localhost:2638"
user="DBA"
password="SQL"
vendor="sybase"
update-type="standalone"
delete-tracker="yes"
state-field="state">
--------------------------------------------------------------------------------------------------------------------------------------
If possible someone could explaing with a simple scenario how delete-tracker and IWTRACKER is used during the updation of existing rows in the database.
Migrateduser
Thanks, I meant what command line arguments are you passing
iwodcmd
? Let me know if you notice a difference by turning off delete-tracker and restarting OD/DD. Also, what other XML files do you have in that directory?
Environments:
(1,2) TS6.5, TS6.5SP1 on W2K3
(3) Vignette V7 Portal on Solaris 9
sabih
I am passing the following info.
DCRName
area e.g. area='/default/main/AETV_redesign/AETV_Content/WORKAREA/main'
file path e.g file='templatedata/TVListings/Series/data/mytest'
database name
I will try to disable IWTRACKER table and try again.
Migrateduser
Sorry if I wasn't clear -- where you are calling iwodcmd to instantiate your deployment, how are you doing it? For instance,
iwodcmd insert_to_some_db -k iwdd=deployment1 -k somevar=someval (etc., etc.)
Also, your deployment configuration does not indicate that you're doing a filelist based deployment. Instead, it will look at the directory you specify and sweep all of the XML files in that directory to insert them into your table. If you wanted to do a filelist-based deployment instead, look at the documentation for that. You'd need to change
path name
in your config to
path filelist
and point to an appropriate filelist.
Dave
Environments:
(1,2) TS6.5, TS6.5SP1 on W2K3
(3) Vignette V7 Portal on Solaris 9
sabih
Actually I found the error but still trying to find the fix. There is one field in the Oracle database of type Char(1) and is not getting the correct value from my DCR and hence generating runtime error. I have tried the following combination but its not working for either:
<column name="display_on_allshows" allows-null="yes" is-url="no" data-type="CHAR" value-from-field="series/0/display_on_allshows/0" />
<column name="display_on_allshows" allows-null="yes" is-url="no" data-type="CHAR(1)" value-from-field="series/0/display_on_allshows/0" />
<column name="display_on_allshows" allows-null="yes" is-url="no" data-type="VARCHAR(1)" value-from-field="series/0/display_on_allshows/0" />
Any idea what should be comptabile datatype ?