Export skipping objects with multi-value reference attributes
I have a SQL MA with a primary table containing user objects and role objects. The secondary table containing the relationships between users and roles. I have an ECMA for exporting the users and their roles. The Full Import followed by a Full Synchronization on the SQL MA works beautifully. In the metaverse I can see the users and roles. I can see the multi-value reference attribute on the user object populated with the roles for each user. I can also search the connector space of the ECMA and can see the same data which suggests the attribute flow is working correctly. If I do a preview at this stage there are no errors reported and the result shows the expected final value for all objects and attributes. The problem arises when I run the Export for the ECMA. The export beings (BeginExport is called). The roles are exported (ExportEntry is called) and each of the users that do not have any roles are also exported. However, ExportEntry is not called for any users that do have roles. Finally EndExport is called. What could be the explanation for this? At this point something has gone wrong somewhere because further searches of the ECMA connector space error with "image or delta doesn't have an anchor". The mms_connectorspace table shows NULL in the anchor column for each of the rows that were not exported, which is presumably what FIM is complaining about. It seems I'm now very close to getting these mutli-value attributes synchronized now, so I'm hoping the above information can lead to an answer.
May 25th, 2010 10:39am

Hi Barry, I assume that in your Metaverse Extrension Provision() method you are setting an anchor for every object before you commit the new connector.... Can you check your code for the ECMA to make sure that you are populating the achchor column for objects that have a multi-value reference? A reference attribute needs to point at the anchor for another object in the connector space. Have you confirmed that all of the objects in your multi-valued reference attribute are actually present in the connector space and the anchors match? -Jeremy
Free Windows Admin Tool Kit Click here and download it now
May 25th, 2010 6:56pm

Thanks for the response Jeremy. Yes the anchor attribute is being set during the Provision method for each of the users (13) and each of the roles (2). Only these 2 roles are being referenced. I'm also setting the the DN for each object in the ECMA connector space to a new GUID ... System.Guid.NewGuid().ToString() I originally stated that the export is skipping the users with roles. I now believe the "image or delta doesn't have an anchor" exception I'm seeing in the event viewer is causing the Export to stop. Presumably FIM then calls EndExport once an error has been detected. I've found some interesting information in the exception logged to the event viewer, and in the mms_connectorspace table. Firstly, each of the users with roles has "is_pending_reference_rename" set to 1 (the others are NULL). Secondly, all of the objects in the ECMA connector space have an old and new Distinguished Name shown. And the exception logged to the event viewer shows a user's 2 roles. The first one has an anchor and the second one does not. The first dn (with the anchor) corresponds to the connector space object's New DN. Whilst the second dn (without an anchor) corresponds to the connector space object's Old DN... <dn-attr name="roles" multivalued="true"> <dn-value> <dn>0b04ef9c-7d59-414c-a242-e516d9989725</dn> <anchor encoding="base64">SgAAADAAYgAwADQAZQBmADkAYwAtADcAZAA1ADkALQA0ADEANABjAC0AYQAyADQAMgAtAGUANQAxADYAZAA5ADkAOAA5ADcAMgA1AAAA</anchor> </dn-value> <dn-value> <dn>ddcaa358-8ae8-4aae-bf2a-94c9e96b08c6</dn> </dn-value> </dn-attr>
May 26th, 2010 3:31am

In an attempt to avoid the reference rename, I've modified the MV rules extension provision method. Instead of assigning the DN of the ECMA connector space object to a new (temporary?) GUID, I'm now setting it to the anchor value imported with the SQL MA. This means ... the Import CS object DN the Import CS object anchor attribute the ECMA CS object DN the ECMA CS object anchor attribute ...all have the same value. The result is I no longer see "is_pending_reference_rename" set to 1, and I no longer see Old and New Distinguished Names in the ECMA connector space. However, none of the objects in the ECMA connector space are viewable due to "image or delta doesn't have an anchor" errors. Previously, only the user objects that referenced roles had this error. Interestingly, any attempt to view the problem objects (via metaverse object properties) results in a log written to the event log with data similar to what you would see from csexport.exe. Yet csexport is unable to output the objects due to the errors. Here's an extract from the event log for an object with no anchor (ordinarily the anchor would be reported immediately after the "entry" element... <entry dn="2cc5f519-3449-4b5e-883b-aff1157d4a84"> <primary-objectclass>staff</primary-objectclass>
Free Windows Admin Tool Kit Click here and download it now
May 26th, 2010 7:20am

I'll start a new thread with the problem expressed in terms of the anchor values.
May 27th, 2010 5:11am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics