Camel
  1. Camel
  2. CAMEL-5703

camel-netty - Pool Channels instead of producers to make producer singleton

    Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.10.0
    • Fix Version/s: 2.10.3, 2.11.0
    • Component/s: camel-netty
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      We should favor using a light-weight pool for the channel on the producer, so it can be singleton which is the preferred for better scalability.

      And use commons-pool etc which has eviction logic built-in. Then channels which becomes idle can be evicted sooner.

      1. after-100.png
        120 kB
        Claus Ibsen
      2. after-200.png
        120 kB
        Claus Ibsen
      3. before-100.png
        125 kB
        Claus Ibsen
      4. before-200.png
        129 kB
        Claus Ibsen

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        1d 23h 56m 1 Claus Ibsen 16/Oct/12 12:19
        Claus Ibsen made changes -
        Fix Version/s 2.10.3 [ 12323366 ]
        Affects Version/s 2.10.0 [ 12317612 ]
        Claus Ibsen made changes -
        Attachment before-200.png [ 12549478 ]
        Attachment before-100.png [ 12549479 ]
        Attachment after-200.png [ 12549480 ]
        Attachment after-100.png [ 12549481 ]
        Hide
        Claus Ibsen added a comment -

        before and after screenshots with 100 and 200 clients sending 250.000 messages in request/reply with camel-netty.

        With 200 clients the before causes problems by creating to frequent new threads and not cleaning up, which cause memory leak/growth on sustained load. Making high scalability an issue.

        Going to backport this to 2.10.x branch

        Show
        Claus Ibsen added a comment - before and after screenshots with 100 and 200 clients sending 250.000 messages in request/reply with camel-netty. With 200 clients the before causes problems by creating to frequent new threads and not cleaning up, which cause memory leak/growth on sustained load. Making high scalability an issue. Going to backport this to 2.10.x branch
        Claus Ibsen made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Claus Ibsen added a comment -

        This change requires a dependency change on camel-netty as commons-pool is used now. This makes backporting harder.

        Show
        Claus Ibsen added a comment - This change requires a dependency change on camel-netty as commons-pool is used now. This makes backporting harder.
        Claus Ibsen created issue -

          People

          • Assignee:
            Claus Ibsen
            Reporter:
            Claus Ibsen
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development