https://bugs.openldap.org/show_bug.cgi?id=9628
Issue ID: 9628 Summary: Incorrect handling of c_n_ops_executing counter when using an asynchronous backend (back-asyncmeta) Product: OpenLDAP Version: unspecified Hardware: All OS: All Status: UNCONFIRMED Severity: normal Priority: --- Component: slapd Assignee: bugs@openldap.org Reporter: nivanova@symas.com Target Milestone: ---
https://bugs.openldap.org/show_bug.cgi?id=9628
--- Comment #1 from Nadezhda Ivanova nivanova@symas.com --- The c_n_ops_executing counter is used by the server to determine the number of operations pending execution for a connection, and therefore the number of active threads used by the connection, since in a synchronous back-end these are identical. However, when the back-and is asynchronous, this counter no longer matches the number of active threads - the thread has completed its function, but the counter remains incremented until a response is received for the operation. In case of async-meta this is handled when the response is received, by a different thread. So, when the target servers are slower to respond, we have a situation when the counter is incremented, showing a high thread usage, when in fact there are very few threads in use. The server then starts deferring and rejecting operations, even though it is not overloaded.
This is reproducible by using an asynchronous client, introducing a network delay on the interface to the target server, and comparing the sum of monitorConnectionOpsExecuting for all connections with the number of active threads (cn=Active,cn=Threads,cn=Monitor)
https://bugs.openldap.org/show_bug.cgi?id=9628
Nadezhda Ivanova nivanova@symas.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |2.5.6
https://bugs.openldap.org/show_bug.cgi?id=9628
Ondřej Kuzník ondra@mistotebe.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |2.5.7 Ever confirmed|0 |1 Status|UNCONFIRMED |IN_PROGRESS
--- Comment #2 from Ondřej Kuzník ondra@mistotebe.net --- https://git.openldap.org/openldap/openldap/-/merge_requests/376
https://bugs.openldap.org/show_bug.cgi?id=9628
--- Comment #3 from Quanah Gibson-Mount quanah@openldap.org --- Commits: • 81ed9e0d by Nadezhda Ivanova at 2021-08-12T15:57:49+00:00
https://bugs.openldap.org/show_bug.cgi?id=9628
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |TEST Status|IN_PROGRESS |RESOLVED
https://bugs.openldap.org/show_bug.cgi?id=9628
--- Comment #4 from Quanah Gibson-Mount quanah@openldap.org --- RE25:
• 0198d6dc by Nadezhda Ivanova at 2021-08-16T16:32:26+00:00 ITS#9628 Fix incorrect c_n_ops_executing counter when backend is asynchronous
https://bugs.openldap.org/show_bug.cgi?id=9628
Quanah Gibson-Mount quanah@openldap.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |VERIFIED Resolution|TEST |FIXED