Unsolved
This post is more than 5 years old
8 Posts
0
3876
May 7th, 2010 08:00
xam/xset inaccessible when trying to delete 'old' clip
Hi
In my application I keep track of 'old' clips. When i.e. retention is changed on a document, it gets a new clipID. I store the old clipID so I can delete it together with the new one when the document itself is deleted, so no 'orphan' clips are left behind. However, when I now try to delete that old clipID I get a
xam/xset inaccessible exception. The new clip (after the update) is deleted successfully by the same method.
To delete I use the code:
XUID xuID = new XAMXUID(externalID);myXSystem.deleteXSet(xuID);
When updating I use the code:
XAMXUID xuID = new XAMXUID(myXUID);
XSet myXSet = myXSystem.openXSet(xuID, XSet.MODE_UNRESTRICTED);
XAMHelper.setRetention(myXSet, props);
XUID newXUID = myXSets.commit();
myXSet.close();
Any ideas what goes wrong?
Gtz
Nyk
No Events found!



gstuartemc
2 Intern
•
417 Posts
1
June 23rd, 2010 03:00
Nyk - have you authenticated, and if so do the credentials you use allow for delete of objects within the XSytem that holds the XSet (in Centera terms this is the Virtual Pool)?
You mention "clip" - are you trying to delete "legacy" data? XAM has no concept of clips. This is a Centera specific term with the equivalent XAM object being an XSet.
Regards, Graham L. Stuart
Centera SDK Architect
Nyk_243007
8 Posts
0
June 23rd, 2010 03:00
Any suggestions here? I'm blocked on this one - an integration that leaves 'orphan' clips is quite sloppy...
gstuartemc
2 Intern
•
417 Posts
0
June 23rd, 2010 04:00
Can you open it?
Regards, Graham L. Stuart
Centera SDK Architect
Nyk_243007
8 Posts
0
June 23rd, 2010 04:00
Hi Graham
Thanks for your reply.
Sorry for the wrong usage of the terms. In XAM terms I have 2 XUIDs, one referencing the XSet with the old retention policy (i.e. 0seconds) and one referencing the XSet with the new retention policy (i.e. 10min). If my understanding is correct both reference different XSets (as retention is probably a binding field) but each XSet references the same XStreams.
First I delete the XSet referenced by the new XUID (10min). This works ok. Then I query the XSystem if the old XSet referenced by the old XUID (0seconds) still exists. The system returns 'true'. Then I even try xSystem.accessXSet(xuID, XSystem.ACCESS_DELETE_OK); which also returns true, but when I actually try the delete itself, I get the exception saying the XSet cannot be accessed.
Any ideas?
Gtz
Nyk
Nyk_243007
8 Posts
0
June 23rd, 2010 08:00
Never mind... there was a bug in my code and as a result I provided a XUID that didn't exist. And offcourse, it can't be deleted. Fixed it, and now it works like a charm.
Thanks for the help.
Nyk