Qpid
  1. Qpid
  2. QPID-1879

The client library uses a new thread for every connection

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: M1, M2, M2.1, M3, M4, 0.5, 0.6
    • Fix Version/s: 0.7
    • Component/s: C++ Client
    • Labels:
      None

      Description

      This is actually slightly worse than just using a new thread per broker connection as it also uses a new Poller for every Connection and the Poller is fairly hefty and includes a number of fds for its own use. This multiplies the client fd use for clients with many Connections.

      It's not really acceptable that opening 1000 connections should create 1000 threads.

      It should be noted that this isn't the only aspect of the client library that uses excessive numbers of threads, lets knock them off one by one

        Activity

        Hide
        Andrew Stitcher added a comment -

        Don't use a thread for every new client Connection

        • By default the max number of threads now used for network io
          is the number of cpus available.
        • This can be overridden with the QPID_MAX_IOTHREADS environment
          variable or the config file
        Show
        Andrew Stitcher added a comment - Don't use a thread for every new client Connection By default the max number of threads now used for network io is the number of cpus available. This can be overridden with the QPID_MAX_IOTHREADS environment variable or the config file
        Hide
        Andrew Stitcher added a comment -

        This fix was reverted, due to some unforeseen interactions

        Show
        Andrew Stitcher added a comment - This fix was reverted, due to some unforeseen interactions

          People

          • Assignee:
            Andrew Stitcher
            Reporter:
            Andrew Stitcher
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development