Project

General

Profile

Actions

Architecture #19282

closed

Lots of ldap connection opened/closed by rudder

Added by François ARMAND over 3 years ago. Updated over 1 year ago.

Status:
Rejected
Priority:
N/A
Assignee:
-
Category:
Performance and scalability
Effort required:
Name check:
To do
Fix check:
To do
Regression:
No

Description

The number of LDAP connection opened / closed by rudder rise very quickly on a loaded system.
It should not be the case, since we have a pool manager that should keep the same connection open and reuse them.


Related issues 1 (0 open1 closed)

Related to Rudder - Bug #19284: Add name to LDAP pool to help debuggingReleasedVincent MEMBRÉActions
Actions #1

Updated by François ARMAND over 3 years ago

A first analysis on normal load shows that the pool is correctly used. We enabled logs by adding system variables to JVM:

JAVA_OPTIONS="-Dcom.unboundid.ldap.sdk.debug.enabled=true
-Dcom.unboundid.ldap.sdk.debug.level=INFO
-Dcom.unboundid.ldap.sdk.debug.type=connection-pool" 

Other log level are "WARNING" and "SEVERE".

SEVERE is for error like not being able to create a connection when needed, WARNING is mostly for why connection get closed or defunct, and INFO will show each and every connectioin check out and release.

With INFO level, we get lines like that:

INFO: { "timestamp":"2021-05-19T20:46:32.734Z", "debug-type":"connection-pool", "level":"INFO", "thread-id":46, "thread-name":"zio-default-blocking-3-396918327", "connection-pool-name":null, "connection-id":1, "connected-to-address":"localhost", "connected-to-port":389, "current-available-connections":1, "maximum-available-connections":2, "message":"Checked out an immediately available pooled connection", "ldap-sdk-version":"5.0.1", "ldap-sdk-revision":"3290ee33d4aa17df1aadb4d814d6534375f395a9" }
May 19, 2021 8:46:52 PM com.unboundid.util.Debug log
INFO: { "timestamp":"2021-05-19T20:46:52.211Z", "debug-type":"connection-pool", "level":"INFO", "thread-id":56, "thread-name":"zio-default-blocking-5-396918327", "connection-pool-name":null, "connection-id":2, "connected-to-address":"localhost", "connected-to-port":389, "current-available-connections":2, "maximum-available-connections":2, "message":"Released a connection back to the pool", "ldap-sdk-version":"5.0.1", "ldap-sdk-revision":"3290ee33d4aa17df1aadb4d814d6534375f395a9" }
May 19, 2021 8:47:07 PM com.unboundid.util.Debug log
INFO: { "timestamp":"2021-05-19T20:47:07.281Z", "debug-type":"connection-pool", "level":"INFO", "thread-id":56, "thread-name":"zio-default-blocking-5-396918327", "connection-pool-name":null, "connection-id":0, "connected-to-address":"localhost", "connected-to-port":389, "current-available-connections":1, "maximum-available-connections":2, "message":"Checked out an immediately available pooled connection", "ldap-sdk-version":"5.0.1", "ldap-sdk-revision":"3290ee33d4aa17df1aadb4d814d6534375f395a9" }

So everything seems fine, appart the pool name (see: #19284).

Waiting for more analysis under load.

Actions #2

Updated by François ARMAND over 3 years ago

  • Related to Bug #19284: Add name to LDAP pool to help debugging added
Actions #3

Updated by Vincent MEMBRÉ over 3 years ago

  • Target version changed from 6.1.14 to 6.1.15
Actions #4

Updated by Vincent MEMBRÉ over 3 years ago

  • Target version changed from 6.1.15 to 6.1.16
Actions #5

Updated by Vincent MEMBRÉ about 3 years ago

  • Target version changed from 6.1.16 to 6.1.17
Actions #6

Updated by Vincent MEMBRÉ about 3 years ago

  • Target version changed from 6.1.17 to 6.1.18
Actions #7

Updated by Vincent MEMBRÉ almost 3 years ago

  • Target version changed from 6.1.18 to 6.1.19
Actions #8

Updated by Alexis Mousset almost 3 years ago

  • Tracker changed from Bug to Architecture
  • Priority deleted (0)
Actions #9

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 6.1.19 to 6.1.20
Actions #10

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 6.1.20 to 6.1.21
Actions #11

Updated by Vincent MEMBRÉ over 2 years ago

  • Target version changed from 6.1.21 to old 6.1 issues to relocate
Actions #12

Updated by François ARMAND over 1 year ago

  • Status changed from New to Rejected
  • Regression set to No

We never got the end of it, but several iteration of enhancement on the connection managmenet, incoming inventories processing, and ZIO to manage things seems to have solved it.
The next big change would be to remove LDAP (at least for inventories).

Closing it.

Actions

Also available in: Atom PDF