Uploaded image for project: 'OpenIDM'
  1. OpenIDM
  2. OPENIDM-8957

Read(GET) requests would timeout with 100 users/second when embedded DJ is used as repo



    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • OpenIDM 5.5.0
    • OpenIDM 5.5.0
    • IDM 5.5.0 RC1 or SNAPSHOT runs on a CentOS 7 machine, embedded DJ as repo, Java 8.


      When used opendj as embedded repo for IDM, Gatling Read request(GET) would timeout with dispatch rate 100 users/second over 300 second duration, while with JDBC repo, the read requests are fine with at least 300 users/second over 900 seconds period. IDM log has the following warning:

      WARNING: The server is performing an unindexed internal search request with base DN 'ou=relationships,dc=openidm,dc=forgerock,dc=com', scope 'one', and filter '(|(&(fullobject=/firstId eq "managed/user/G-D-3073")(fullobject=/firstPropertyName eq "roles"))(&(fullobject=/secondId eq "managed/user/G-D-3073")(fullobject=/secondPropertyName eq "roles")))'. Unindexed internal searches are usually unexpected and could impact performance. Please verify that that backend's indexes are configured correctly for these search parameters

      The complete logs are attached.
      Note that The Read requests are fine with dispatch rate 20 users/second.
      To reproduce using Pyforge:
      1. change config/config.cfg to have correct IDM verion, and num_users as 100 in the Stress section.
      2. Run command:

      python -u run-pybot.py -c stress -i gatling -s idm.CrudManUsers -t IDM_Managed_User_Create_Put -t IDM_Managed_User_Read  OpenIDM

      3. Observe, the create PUT requests are fine but read requests timeout.


        1. jstack.out2
          1.75 MB
        2. opendj-support-data-20170901-103259.zip
          802 kB
        3. openidm0.log.0
          991 kB
        4. openidm0.log.1
          5.00 MB



            jason Jason Lemay
            Tinghua.Xu Tinghua Xu [X] (Inactive)
            0 Vote for this issue
            3 Start watching this issue