43.6 Troubleshooting Multi-Threaded Role and Resource Service driver Issues

Use the following information to troubleshoot a multi-threaded Role and Resource Service driver:

  • Information about the unique data set for which the request belongs to is appended in the driver command. It is also printed in the log. This information helps you determine if the driver policies correctly evaluated the disjoint set key for a request by comparing the key with the mapping table.

    [02/22/18 12:34:14.586]:Role and Resource Service driver ST:Submitting document to subscriber shim:
    [02/22/18 12:34:14.586]:Role and Resource Service driver ST:
    <nds dtdversion="4.0" ndsversion="8.x">
      <source>
        <product edition="Advanced" version="4.7.0.0">DirXML</product>
        <contact>NetIQ Corporation</contact>
      </source>
      <input>
        <nrf:resrequest Disjoint-Set="NETIQ" dn="O=system\CN=driverset1\CN=User Application Driver\CN=AppConfig\CN=RoleConfig\CN=ResourceRequests\CN=20180222123414-b4645d87e41043459ae4546fd000dcb8-0" event-id="idm-sles12-195#20180222070414#1#1:bc9e66f7-ddf3-45bf-8b4d-f7669ebcf3dd" xmlns:nrf="urn:dirxml:nrf"/>
      </input>
    </nds>
  • While storing an event in the driver storage, check the log for information about the disjoint set and the event IDs of all the commands for which processing is yet to complete.

    [02/22/18 12:29:06.544]:Role and Resource Service driver :: Thread ID:40 Processing request
    DN: O=system\CN=driverset1\CN=User Application Driver\CN=AppConfig\CN=RoleConfig\CN=Requests\CN=20180222122835-9b90b601af744f5e890151b97d7fe7e4-0
    [02/22/18 12:29:06.545]:Role and Resource Service driver ST:Receiving DOM document from application.
    [02/22/18 12:29:06.545]:Role and Resource Service driver ST:
    <nds>
    <source>
    <product version="4.7.0.0">NetIQ Role and Resource Service Driver</product>
    <contact>NetIQ Corporation</contact>
    </source>
    <input>
    <status level="success">Updating DirXML-DriverStorage attributes</status>
    <init-params event-id="storage">
    <subscriber-state>
    <nrf:request Disjoint-Set="NETIQ" dn="O=system\CN=driverset1\CN=User Application Driver\CN=AppConfig\CN=RoleConfig\CN=Requests\CN=20180222122835-9b90b601af744f5e890151b97d7fe7e4-0" event-id="idm-sles12-195#20180222065835#1#39:f1f354dc-81fa-4d8c-aa7c-dc54f3f1fa81" xmlns:nrf="urn:dirxml:nrf"/>
    <nrf:request Disjoint-Set="NETIQ" dn="O=system\CN=driverset1\CN=User Application Driver\CN=AppConfig\CN=RoleConfig\CN=Requests\CN=20180222122835-de01c6eb63b34ec28ae66e1057e3f524-0" event-id="idm-sles12-195#20180222065835#1#40:fdff5c1e-74d6-4415-9a61-1e5cfffdd674" xmlns:nrf="urn:dirxml:nrf"/>
    </subscriber-state>
  • You can check the commands for which processing is yet to complete through iManager.

    1. In iManager, open the Identity Manager Administration page.

    2. Open the driver set that contains the multi-threaded Role and Resource Service driver.

    3. If the driver set is not listed on the Driver Sets tab, use the Search In field to search for and display the driver set.

    4. Click the driver set to open the Driver Set Overview page.

    5. Locate the driver icon, then click the upper right corner of the driver icon to display the Actions menu.

    6. Click Edit Properties to display the driver’s properties page.

    7. Click General > DirXML-DriverStorage.

  • Logs display the following information:

    • Disjoint key which the driver evaluates from the request command.

    • Information about the worker threads to which the driver will submit the request.

    • Thread Id's of the worker threads.

    Below is a sample log file content.

    [02/23/18 11:59:34.977]:Role and Resource Service driver ST:: Thread ID:65 Worker threads not found for the disjoint key. Disjoint Key: NETIQ
    [02/23/18 11:59:34.979]:Role and Resource Service driver ST:: Thread ID:65 Registered the worker threads with disjoint key. Disjoint Key: NETIQ
    <status event-id="idm-sles12-195#20180223062903#1#1:78daa132-558c-4d3f-b088-32a1da788c55" level="success">Thread ID:65 Successfully updated the event in the Driver Storage.
    Request DN: O=data\OU=netiq\CN=netiq1</status>
  • If the driver storage is full, information about event retry is printed in the logs. The log file contains entries similar to the following:

    [01/20/18 18:53:45.484]:Role and Resource Service Driver ST:: Thread ID:30 Cant update the command in Driver Storage. Driver storage is full!!!
    [01/20/18 18:53:45.484]:Role and Resource Service Driver ST:: Request processing completed in Roles and Resource driver
    [01/20/18 18:53:45.485]:Role and Resource Service Driver ST:Requesting 30 second retry delay.
    [01/20/18 18:53:45.485]:Role and Resource Service Driver ST:
    DirXML Log Event -------------------
         Driver:   \NOVELL_1\system\driverset1\Role and Resource Service Driver
         Channel:  Subscriber
         Status:   Retry
         Message:  Code(-9006) The driver returned a "retry" status indicating that the operation should be retried later. Detail from driver: Thread ID:30 Cant update the command in Driver Storage. Driver storage is full!!!