Troubleshooting Notes Exception ID = 4091 in the IDM Driver for Lotus Notes



By: pnuffer

February 6, 2009 2:24 pm

Reads: 539

Comments:0

Rating:0

Question:

The NotesDriverShim is attempting to modify a Lotus Notes User and reporting the following error: “Message = Unable to locate note from UNID. Notes Exception ID = 4091. Message: Invalid universal id”. What has happened? Below is a trace snippet:

DirXML: [04/19/07 03:13:29.45]: TRACE:  Remote Loader: Received document for subscriber channel
DirXML: [04/19/07 03:13:29.45]: TRACE:  Remote Loader: Waiting for receive...
DirXML: [04/19/07 03:13:29.45]: TRACE:  Remote Loader: Calling SubscriptionShim.execute()
DirXML: [04/19/07 03:13:29.45]: TRACE:  
<nds dtdversion="3.0" ndsversion="8.x">
  <source>
    <product version="3.0.10.20060630 ">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <modify class-name="Person" event-id="pwd-publish" qualified-src-dn="O=NVIDV\OU=Users\OU=Active\CN=001991" src-dn="\NVIDV\NVIDV\Users\Active\001991" src-entry-id="33266" tell-adminp-process="tell adminp process all" timestamp="1176962774#5">
      <association state="associated">30F4797975FD699D85256897005D4022</association>
      <modify-attr attr-name="HTTPPassword" is-sensitive="true"><!--content suppressed --><!-- content suppressed --></modify-attr>
    </modify>
  </input>
</nds>
DirXML: [04/19/07 03:13:29.45]: TRACE:  
<nds dtdversion="3.0" ndsversion="8.x">
  <source>
    <product version="3.0.10.20060630 ">DirXML</product>
    <contact>Novell, Inc.</contact>
  </source>
  <input>
    <modify class-name="Person" event-id="pwd-publish" qualified-src-dn="O=NVIDV\OU=Users\OU=Active\CN=001991" src-dn="\NVIDV\NVIDV\Users\Active\001991" src-entry-id="33266" tell-adminp-process="tell adminp process all" timestamp="1176962774#5">
      <association state="associated">30F4797975FD699D85256897005D4022</association>
      <modify-attr attr-name="HTTPPassword" is-sensitive="true"><!--content suppressed --><!-- content suppressed --></modify-attr>
    </modify>
  </input>
</nds>
DirXML: [04/19/07 03:13:29.46]: TRACE:  Notes: prepSwitchToID: id file: c:\lotus\domino\data\notes_driver.id
DirXML: [04/19/07 03:13:29.46]: TRACE:  Notes: prepSwitchToID: id file path: c:\lotus\domino\data
DirXML: [04/19/07 03:13:29.59]: TRACE:  Notes: digForABFlag: directory-file (names.nsf) validated as a Public Address Book.
DirXML: [04/19/07 03:13:29.73]: TRACE:  Notes: NotesSubscriptionShim: Connected to CN=hqnotes/OU=west/O=novell
DirXML: [04/19/07 03:13:29.73]: TRACE:  Notes: NotesSubscriptionShim: Connected as CN=Notes Driver/OU=Corporate/O=novell
DirXML: [04/19/07 03:13:29.73]: TRACE:  Notes: NotesSubscriptionShim: Reading from names.nsf
DirXML: [04/19/07 03:13:29.73]: TRACE:  Notes: NotesSubscriptionShim: Input Document contains 1 Identity Manager commands
DirXML: [04/19/07 03:13:29.73]: TRACE:  Notes: Subscriber Modify Op: UNID = 30F4797975FD699D85256897005D4022
DirXML: [04/19/07 03:13:29.73]: TRACE:  Notes: NotesSubscriptionShim: processModifyEvent - Unable to locate note from UNID.  Notes Exception
ID = 4091. Message: Invalid universal id
DirXML: [04/19/07 03:13:29.73]: TRACE:  Remote Loader: SubscriptionShim.execute() returned:
DirXML: [04/19/07 03:13:29.73]: TRACE:  
<nds dtdversion="2.0" ndsversion="8.x">
  <source>
    <product build="20060630_1627 " instance="Notes" version="2.2.3">Identity Manager Driver for Lotus Notes</product>
    <contact>Novell, Inc.</contact>
  </source>
  <output>
    <status event-id="pwd-publish" level="retry">Unable to locate note from UNID.  Notes Exception ID = 4091. Message: Invalid universal id</status>
  </output>
</nds>
DirXML: [04/19/07 03:13:29.73]: TRACE:  Remote Loader: Sending...
DirXML: [04/19/07 03:13:29.75]: TRACE:  
<nds dtdversion="2.0" ndsversion="8.x">
  <source>
    <product build="20060630_1627 " instance="Notes" version="2.2.3">Identity Manager Driver for Lotus Notes</product>
    <contact>Novell, Inc.</contact>
  </source>
  <output>
    <status event-id="pwd-publish" level="retry">Unable to locate note from UNID.  Notes Exception ID = 4091. Message: Invalid universal id</status>
  </output>
</nds>
DirXML: [04/19/07 03:13:29.75]: TRACE:  Remote Loader: Document sent.
DirXML: [04/19/07 03:13:29.75]:
DirXML Log Event -------------------
    Driver  = \NVIDV\NVIDV\Services\dset1\Notes
    Thread  = Subscriber
    Object  = \NVIDV\NVIDV\Users\Active\001991
    Level   = retry
    Message = Unable to locate note from UNID.  Notes Exception ID = 4091. Message: Invalid universal id

Answer:

Based on the information provided, it is not possible to determine exactly what has happened with the configuration or Lotus Notes system, but the invalid UNID error message indicates that the user object has probably been removed from the Lotus Notes Address Book. Here is some logic to follow in your investigation, and some questions you will probably need to answer.

The Notes user (document) that the Universal ID (UNID) refers to has probably been deleted. Follow the following question-answer logic to investigate further:

  1. Does the Lotus Notes user still exist within the Notes Address Book?
  2. If the answer is no, then you have found the source of problem, as the driver is trying to synchronize to a Notes user that no longer exists.
  3. If the answer is yes, then ensure the Notes user that the original (4091 error causing) XDS command was intended for, exists within Lotus Notes. If it does, then compare the UNID of this Notes user document with the association value in the XDS command (modify document) that caused the 4091 exception. If the two values are different, then the original Notes document representing this user has been removed from the Lotus Notes database. This can be somewhat mystifying if the Notes user still exists within the Notes Address Book (and now seems to have a different Notes UNID). If this is the case, it could be presumed that the user’s Notes document has been re-created (created anew, or copied) within the Notes database due to a replication or save conflict error, and the original document deleted. Thus the user actually may have a different UNID value than the one stored as the association value within the IDM Identity Vault.

To better understand replication and save conflicts within a Notes database and how to prevent them, check the Lotus Notes documentation (Database Management – Replication or save conflicts): http://www-12.lotus.com/ldd/doc/domino_notes/7.0/help7_admin.nsf/b3266a3c17f9bb7085256b870069c0a9/916c89f095f520478525706f0065e58c?OpenDocument.

The NotesDriverShim can return 4091 exceptions when it attempts to update and save an attribute on a Notes Document that is ‘in conflict’ and/or being modified by another process. Are there any other processes in place at this company that would be attempting to modify this user document at nearly the same time, thereby causing the attempt of the NotesDriverShim to save the updated user to fail? Are there any other processes that would cause the user document to be in a ‘replication or save conflict’ state? Do users have access to modify, hold-open, or lock their own user objects, and do user’s often do this?

You may want to investigate the usage of the Notes document locking feature of the NotesDriverShim (see allow-document-locking driver parameter and notes-doc-lock-fail-action custom parameter in the driver implementation guide) to mitigate issues where the NotesDriverShim is the cause of replication or save conflict problems within Notes.

A support forum thread regarding this issue can be found here: http://forums.novell.com/novell-product-support-forums/identity-manager/im-engine-drivers/357806-notes-4091-invalid-unid-error.html

More information regarding Notes UNIDs and IDM association values can be found here: http://www.novell.com/communities/node/2984/idm-notes-driver-and-association-values

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Tags: , ,
Categories: Uncategorized

Disclaimer: As with everything else at NetIQ Cool Solutions, this content is definitely not supported by NetIQ, so Customer Support will not be able to help you if it has any adverse effect on your environment.  It just worked for at least one person, and perhaps it will be useful for you too.  Be sure to test in a non-production environment.

Comment