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)
iwextattr -s command and datadeploy
System
Hi Everyone,
I'm have a windows batch file that contains multiple 'iwextattr -s' commands. When I execute the batch file, it runs through the commands and sets the metadata, however only 2 metadata values end up in the database. I checked the iwsyncdb.log file and see that the triggers are being fired when I run the batch file for each metadata field, but only two values (first two in the batch file) get inserted along with the path and iw_state.
If I open the properties on the file, I see all the metadata set properly and when I use the Tag command (File->Tag) to set/update metadata, all the values are reflected there as well. When I hit the "Save" button on the Metadata screen, then all the values show up in the database as expected.
Any ideas why this is happening and how to debug?
Find more posts tagged with
Comments
Dwayne
It sounds like a race condition. The first
iwextattr
runs, kicking off the trigger. By the time the trigger has "woken up," the second one has run. By the time the trigger handler finishes, the rest of the
iwextattr
calls have completed, but no new events are triggered.
If that's what's happening, I can think of a few workarounds (all ugly):
Sleep between each call to
iwextattr
, to allow for the trigger to handle a single update
At the end of your batch file, go back and run over the list of files again, setting the EAs again.
There might also be a possibility that setting the EAs using CSSDK could be more "atomic" than doing it via the CLT.
--
Current project: TS 5.5.2/6.1 W2K
nipper
Change around your script, reorder the iwextattr calls.
Do the same EAs get set or different ones ?
Migrateduser
Hi Dwayne,
Not sure if what you mention is happening, because in the iwsyncdb.ipl log there is a log entry of "Processed Event" for each of the metadata fields. It is using the SetEA event. I tried using the timeout feature with 5 seconds between each iwextattr call but that didn't help either.
The same metadata fields are always populated in the DB, and in the iwddd.log all the other fields show up as null.
Do you know what event the "Save" button triggers? Or is there a way to find out?
TIA,
-Mukesh
Dwayne
Hmm.
It certainly sounds like my theory of what's happening is all wet.
Did you try nipper's suggestion of re-ordering the calls to
iwextattr
in your batch file, to see what the impact is?
--
Current project: TS 5.5.2/6.1 W2K
Migrateduser
Hi Dwayne,
I didn't try nippers suggestion, but I was looking through the iwsyncdb.ipl file that comes with DataDeploy and in that file, there is a comment that says that the Metadata screen calls the iwsyncdb.ipl with the Event Type of SyncCreate instead of SetEA. So I put the SyncCreate event call at the end of the batch file and all the metadata properly populated into the database when I ran it.
I'm not sure if it is good to make the call to iwsyncdb.ipl manually but it seemed to work. Any thoughts?
Thanks,
Mukesh
birt-dialog22.JPG
birt-dialog212.JPG