eDirectory dib corruption caused by ndsrepair completion message

  • 3477143
  • 26-Mar-2008
  • 27-Jan-2014

Environment


Novell eDirectory 8.7.3.9 for Solaris
Novell eDirectory 8.7.3.9 for Linux
Novell eDirectory 8.7.3.9 for AIX
Novell eDirectory 8.7.3.9 for HP-UX

Situation

It is possible in with very large dibs and running ndsrepair -E or -T very frequent ly that ndsrepair can cause corruption to a header of a block in the eDirectory database.

When the corruption occurs, the text NDSREPAIR: Process completed is written to the database.

The corruption causes -618 errors when the block is accessed.

To verify if -618 errors are caused by this specific issue, run ndstrace with the +RECM and +AREQ tags. The ndstrace will show similar to the following:

DSASearch, Top:: Version 4, Iterator 0x0, Base .container.TREE.,Scope 2, NodesToSearch 0, InfoType 1, Flags 0x802002, Timeout 0, uCommandNum 0,DSASearch, SubTree:: Version 4, Iterator 0x0, Base.container.TREE., Scope 2, NodesToSearch 0, InfoType 1, Flags0x802002, Timeout 0, CommandNum 0 , EntryCount 0,  Error succeededSMI Error Code = failed, 49231 (0xc04f)DSASearch, WalkToNextEntry:: Version 4, Iterator 0x0, Base.container.TREE., Scope 2, NodesToSearch 0, InfoType 1, Flags0x802002, Timeout0, CommandNum 1 , EntryCount 55,  Error failed, inconsistent database (-618)DSASearch, Error:: Version 4, Iterator 0x0, Base.container.TREE., Scope 2, NodesToSearch 0, InfoType 1, Flags0x802002, Timeout 0, EntryCount 55, Error failed, inconsistent database (-618)Searching "": NDS error:inconsistent database (-618) returnedLDAPSearchToCB failed, err = inconsistent database (-618)Sending operation result 80:"":"NDS error: inconsistent database (-618)" toconnection 0x842bd80Executing the strings command on the database, will show the NDSREPAIR: Processed completed string.

EXAMPLE:

strings nds.* | grep NDSREPAIR

Resolution

Run an ndsrepair to rebuild the database.
ndsrepair -R -d yes

To prevent this issue in the furture:
Apply eDirectory 8.7.3 SP10 or newer available at https://dl.netiq.com

Note: Other forms of database corruption can cause block checksum errors. This fix only addresses ndsrepair completion message being written to the block header. If the strings command doesn't return the ndsrepair completion message, this fix doesn't apply.