Uploaded image for project: 'OpenDJ'
  1. OpenDJ
  2. OPENDJ-6499

Query on rest2ldap over ssl gets stuck after few curl requests using TLSv1.3 on JDK11

    Details

    • Type: Bug
    • Status: Done
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 6.5.2, 7.0.0
    • Fix Version/s: 7.0.0
    • Component/s: rest
    • Environment:
      DS-6.5.2
      DS-7.0.0-M2019-10.1
      scriptedcrest-connector-1.5.3.0-SNAPSHOT (SCM-Revision: 0127602b2deb7e1ae6373a896062f3e7f00417fa)
      scriptedrest-connector-1.5.3.0-SNAPSHOT (SCM-Revision: 69c202736290f33b9f0de1fbeb19d168a65709e4)
    • Epic Link:
    • Story Points:
      2
    • Support Ticket IDs:

      Description

      Due to failing CI tests we have made some troubleshooting on rest2ldap endpoint over SSL, and we have found that when we run a curl command with a simple query more than once, it gets more CPU usage heavy and on the 5th request it is stuck and doesn't retrieve any results.

      The only workaround is to restart DS before it times out on the fifth request.

      There is no problem when running query on rest2ldap without SSL.

      Logs, Ldif, and endpoint json attached.

      Steps to reproduce:

      1. Install DJ with SSL
      2. Configure rest2ldap api endpoint
      3. Run query for the first time (it could be any simple query)
        curl "https://idm:password@localhost:8091/api/users?_prettyPrint=true&_queryFilter=displayName+co+'Bob'" -k
        

        Json output:

        {
          "result": [
            {
              "_id": "u1_1564471125@xample.com",
              "_rev": "00000000ce936825",
              "_schema": "frapi:openidm:samples:user:1.0",
              "_meta": {
                "created": "2019-07-30T07:20Z"
              },
              "displayName": "Bob Flemming",
              "name": {
                "givenName": "Bob",
                "familyName": "Flemming"
              },
              "contactInformation": {
                "telephoneNumber": "09876",
                "emailAddress": "u1_1564471125@xample.com"
              }
            },
            {
              "_id": "u2_1564471125@xample.com",
              "_rev": "00000000c7c367fb",
              "_schema": "frapi:openidm:samples:user:1.0",
              "_meta": {
                "created": "2019-07-30T07:20Z"
              },
              "displayName": "Bob Flemming",
              "name": {
                "givenName": "Bob",
                "familyName": "Flemming"
              },
              "contactInformation": {
                "telephoneNumber": "09876",
                "emailAddress": "u2_1564471125@xample.com"
              }
            }
          ],
          "resultCount": 2,
          "pagedResultsCookie": null,
          "totalPagedResultsPolicy": "NONE",
          "totalPagedResults": -1,
          "remainingPagedResults": -1
        }
        
      4. Repeat step 3) and you will see that the second run raised the CPU usage for DS processes but returns the results properly.
      5. Repeat step 3) for the third and fourth time, CPU usage gets even higher but still returns the results properly.
      6. Repeat step 3) for the fifth time, CPU usage drops a little and get stable in consuming resources, however it doesn't retrieve any results and is stuck.
         % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                         Dload  Upload   Total   Spent    Left  Speed
          0     0    0     0    0     0      0      0 --:--:--  0:02:34 --:--:--     0^C
        

        Attachments

        1. errors
          30 kB
        2. example-v1.json
          8 kB
        3. filtered-ldap-access.audit.json
          57 kB
        4. http-access.audit.json
          33 kB
        5. jstackDS.txt
          62 kB
        6. ldap.ldif
          1 kB
        7. ldap-access.audit.json
          128 kB

          Issue Links

            Activity

              People

              • Assignee:
                ondrej.fuchsik Ondrej Fuchsik
                Reporter:
                son.nguyen Son Nguyen
                Dev Assignee:
                Matthew Swift
                QA Assignee:
                Ondrej Fuchsik
              • Votes:
                0 Vote for this issue
                Watchers:
                10 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: