Notes driver bug or feature?
Interesting effect with the latest IDM/Notes driver versions: writing multiple-values to a text field in notes does not succeed if that field has only one value before attempting to write. Futhermore, no error message ist returned :-(
Triggered a sync for the object below from imanager because the field "Org_Child" had only one value in Notes but three in Edir. The field has been defined in Notes as type "textlist", nevertheless the field type in the notes doc was "text" before and after the sync. The object had initially been created with the same driver and all three values had been available in edir from the beginning on (no add/removes). Here's the RL trace:
DirXML: [11/06/09 14:53:24.53]: TRACE: <nds dtdversion="3.5" ndsversion="8.x">
<source>
<product version="3.6.10.4747">DirXML</product>
<contact>Novell, Inc.</contact>
</source>
<input>
<modify class-name="Org_Organisation" event-id="hamburgmeta04#20091106135324#1#1" from-merge="true" qualified-src-dn="O=data\OU=idm\OU=organizations\CN=50000028-Unternehmen" src-dn="\IDM-TREE\data\idm\organizations\50000028-Unternehmen" src-entry-id="38661">
<association>A0DB626860AC0E37C1257664005E1234</association>
<modify-attr attr-name="Org_Name">
<remove-all-values/>
</modify-attr>
<modify-attr attr-name="Org_Parent">
<remove-all-values/>
</modify-attr>
<modify-attr attr-name="Org_ID">
<remove-all-values/>
</modify-attr>
<modify-attr attr-name="Org_Manager">
<remove-all-values/>
</modify-attr>
<modify-attr attr-name="Org_Member">
<remove-all-values/>
</modify-attr>
<modify-attr attr-name="Org_Child">
<remove-all-values/>
</modify-attr>
<modify-attr attr-name="Org_Name">
<add-value>
<value>Unternehmen</value>
</add-value>
</modify-attr>
<modify-attr attr-name="Org_ID">
<add-value>
<value timestamp="1247480406#4" type="string">50000028</value>
</add-value>
</modify-attr>
<modify-attr attr-name="Org_Child">
<add-value>
<value>50000029</value>
<value>50006749</value>
<value>50006938</value>
</add-value>
</modify-attr>
<modify-attr attr-name="Org_Child_Info">
<remove-all-values/>
</modify-attr>
<modify-attr attr-name="Org_Child_Info">
<add-value>
<value>50000029-Area Unit Germany</value>
<value>50006749-Weiterbelastung Konzern</value>
<value>50006938-Verbundene Unternehmen</value>
</add-value>
</modify-attr>
<modify-attr attr-name="Org_Pare
DirXML: [11/06/09 14:53:24.53]: nt_Info">
<remove-all-values/>
</modify-attr>
<modify-attr attr-name="Org_Member_Info">
<remove-all-values/>
</modify-attr>
<modify-attr attr-name="Org_Manager_Info">
<remove-all-values/>
</modify-attr>
</modify>
</input>
</nds>
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: NotesSubscriptionShim: Connected to cn=Notfall/ou=Server/o=MuP/c=de
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: NotesSubscriptionShim: Connected as CN=eDirectory _User/O=mummert/C=de
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: NotesSubscriptionShim: Reading from mummert\zentral\mpma_all.nsf
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: NotesSubscriptionShim: Input Document contains 1 Identity Manager commands
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber Modify Op: UNID = A0DB626860AC0E37C1257664005E1234
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() ** attr size = 14
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() got attr #0
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation - OperationType = REMOVE_ALL_VALUES
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation: all values removed from document field (attribute): Org_Name
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() got attr #1
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation - OperationType = REMOVE_ALL_VALUES
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation: no document field (attribute) found: Org_Parent
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() got attr #2
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation - OperationType = REMOVE_ALL_VALUES
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation: all values removed from document field (attribute): Org_ID
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() got attr #3
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation - OperationType = REMOVE_ALL_VALUES
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation: no document field (attribute) found: Org_Manager
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() got attr #4
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation - OperationType = REMOVE_ALL_VALUES
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation: no document field (attribute) found: Org_Member
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() got attr #5
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation - OperationType = REMOVE_ALL_VALUES
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation: all values removed from document field (attribute): Org_Child
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() got attr #6
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation() ** attr type = Org_Name attr value = Unternehmen
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: item is null, doing replace
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() got attr #7
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation() ** attr type = Org_ID attr value = 50000028
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: item is null, doing replace
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() got attr #8
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation() ** attr type = Org_Child attr value = 50000029
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: item is null, doing replace
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation() ** attr type = Org_Child attr value = 50006749
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation() ** attr type = Org_Child attr value = 50006938
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() got attr #9
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation - OperationType = REMOVE_ALL_VALUES
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation: all values removed from document field (attribute): Org_Child_Info
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() got attr #10
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation() ** attr type = Org_Child_Info attr value = 50000029-Area Unit Germany
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: item is null, doing replace
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation() ** attr type = Org_Child_Info attr value = 50006749-Weiterbelastung Konzern
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation() ** attr type = Org_Child_Info attr value = 50006938-Verbundene Unternehmen
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() got attr #11
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation - OperationType = REMOVE_ALL_VALUES
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation: no document field (attribute) found: Org_Parent_Info
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() got attr #12
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation - OperationType = REMOVE_ALL_VALUES
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation: no document field (attribute) found: Org_Member_Info
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber performModifyOperation() got attr #13
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation - OperationType = REMOVE_ALL_VALUES
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation: no document field (attribute) found: Org_Manager_Info
DirXML: [11/06/09 14:53:24.53]: TRACE: DRV_MPMA_ALL: Subscriber: performModifyOperation(). UNID = A0DB626860AC0E37C1257664005E1234
DirXML: [11/06/09 14:53:24.53]: TRACE: Remote Loader: SubscriptionShim.execute() returned:
DirXML: [11/06/09 14:53:24.53]: TRACE: <nds dtdversion="2.0" ndsversion="8.x">
<source>
<product build="20090520_001502" instance="DRV_MPMA_ALL" version="3.5.4">Identity Manager Driver for Lotus Notes</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<status event-id="hamburgmeta04#20091106135324#1#1" level="success"/>
</output>
</nds>
DirXML: [11/06/09 14:53:24.53]: TRACE: Remote Loader: Sending...
DirXML: [11/06/09 14:53:24.53]: TRACE: <nds dtdversion="2.0" ndsversion="8.x">
<source>
<product build="20090520_001502" instance="DRV_MPMA_ALL" version="3.5.4">Identity Manager Driver for Lotus Notes</product>
<contact>Novell, Inc.</contact>
</source>
<output>
<status event-id="hamburgmeta04#20091106135324#1#1" level="success"/>
</output>
</nds>
DirXML: [11/06/09 14:53:24.53]: TRACE: Remote Loader: Document sent.
DirXML: [11/06/09 14:53:24.53]:
DirXML Log Event -------------------
Driver = \IDM-TREE\system\idm\drvset01\DRV_MPMA_ALL
Thread = Subscriber
Object = \IDM-TREE\data\idm\organizations\50000028-Unternehmen
Level = success
DirXML: [11/06/09 14:53:43.22]: TRACE: Remote Loader: Connection monitor thread waking up.
Anyone seen this before? Looks like a bug to me, we only got IDM to write all values into "textlist" type field by deleting the whole doc and triggering another sync.
Cheers, Lothar
PS: and yes: we've double checked we were looking on the correct replica etc. Issue was reproducible (until deleting the object) and I have a few more docs to try suggested fixes on.
|