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

Implement a "shared connection" connection pool

    Details

    • Type: New Feature
    • Status: Done
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 3.0.0
    • Fix Version/s: Not applicable
    • Component/s: core apis
    • Labels:
      None
    • Story Points:
      0

      Description

      As requested by Evaristo José Camarero on the OpenDJ user mailing list:

      Implement an alternative Pool similar to the FixedConnectionPool that maintains the connections in the pool even when the connection has been assigned, and therefore allowing that the same connection is reused by several pool users at the same time assuming that connections are thread safe. A Semaphore could be used as a hard limit to the concurrent assignments done by the pool (the number of concurrent operations could be a constructor parameter). This case could be useful for a very demanding async LDAP client (e.g. high performance proxy). Pooling several connections make sense, because some LDAP servers usually restrict the number of resources that a single connection can use (max number of working threads per connection, max number of pending operations per connection...). So using a pool of connections is still useful. This pool could be even the Fixed ConnectionPool with the initialPoolSize and a parameter indicating if assigned connections should release from the Pool queu or not. Does it make sense?

      Note that a "shared connection" connection pool would not be able to support Bind or StartTLS requests since these cannot be done concurrently with other types of request.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                matthew Matthew Swift
                Reporter:
                matthew Matthew Swift
                Dev Assignee:
                Matthew Swift
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: