LDAP Driver fails to start after server crash

  • 7022302
  • 09-Nov-2017
  • 17-Jul-2019

Environment

Identity Manager Driver - LDAP

Situation

After the server crashed unexpectedly, all drivers on the server will startup except for an LDAP Driver.
After starting the driver, it immediately shuts down again.

Configuring the driver to trace to file, level 3 shows the following errors for the driver shutdown.

[11/08/17 22:24:36.079]:ldap-visa-tree PT:ldap-visa-tree: java.io.EOFException
....
[11/08/17 22:24:36.476]:ldap-visa-tree PT:
<nds dtdversion="2.0" ndsversion="8.x">
  <source>
    <product build="20141001_0717" instance="ldap-visa-tree" version="4.0.0.5">Identity Manager Driver for LDAP</product>
    <contact>NetIQ Corporation</contact>
  </source>
  <output>
    <status description="An unexpected error occurred in the publisher channel: java.io.EOFException" level="fatal"/>
  </output>
</nds>
[11/08/17 22:24:36.477]:ldap-visa-tree PT:Resolving association references.
[11/08/17 22:24:36.477]:ldap-visa-tree PT:
DirXML Log Event -------------------
     Driver:   \IDMWF\UCC\RES\Dirxml\driverset-idmwf\ldap-visa-tree
     Channel:  Publisher
     Status:   Fatal
[11/08/17 22:24:36.478]:ldap-visa-tree PT:
DirXML Log Event -------------------
     Driver:   \IDMWF\UCC\RES\Dirxml\driverset-idmwf\ldap-visa-tree
     Channel:  Publisher
     Status:   Fatal
     Message:  Code(-9005) The driver returned a "fatal" status indicating that the driver should be shut down. Detail from driver: <application>DirXML</application>
<module>ldap-visa-tree</module>
<object-dn></object-dn>
<component>Publisher</component>
[11/08/17 22:24:36.479]:ldap-visa-tree PT:Killing driver from publisher thread; after PublicationShim.start().
[11/08/17 22:24:36.479]:ldap-visa-tree PT:Requesting termination.
[11/08/17 22:24:36.483]:ldap-visa-tree PT:Ending publisher thread.


Resolution

Deleting the driver cache files, resolved the issue.

Note that deleting the cache files will lose queued up events waiting for processing.

USE EXTREME CAUTION DELETING FILE IN THE dib DIRECTORY!   Deleting the wrong file can corrupt eDirectory.

The LDAP Driver uses the following cache files which are located in the eDirectory dib directory.

#####.TAO
dx#####.p
dx#####.t

ldap_########-####-####-####-############
ldap_########-####-####-####-############.p
ldap_########-####-####-####-############.t
 
If the LDAP driver is using the remote loader the ldap_ ... files are stored where the remote loader is installed.

The #####.TAO file names and corresponding dx#####.p & .t files are based upon the Hex value for the driver entry id.      See KB 3514553 - Which TAO file in the eDirectory DIB directory corresponds with the DirXML Driver

The ldap_########-####-####-####-############ cache file names are based upon the ldap_GUID of the LDAP driver object.  

In this issue, the LDAP driver startup was resolved by deleting the ldap_########-####-####-####-############.* files for the driver. 

To delete the .TAO files, it is recommended to disable the driver.   This should delete that #####.TAO file.  
Then verify and remove the other corresponding files for the driver, if they still exist in the dib directory.   dx#####.p, dx#####.t, ldap_########-####-####-####-############, ldap_########-####-####-####-############.p, and ldap_########-####-####-####-############.t.   Then re-enable the driver.   If you do not want the driver to do a complete resync, check the box "Do not automatically synchronize the driver." and save. It is recommended to check the box "Do not automatically synchronize the driver." to verify the the driver will start first and will synchronize some basic test changes.

The #####.TAO and dx#####.* files will be recreated when the driver is re-enabled and the corresponding ldap_########-####-####-####-############ files will be recreated automatically when the driver starts successfully.

Cause

Corrupt LDAP Driver cache files.