Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-16718

Conflict with Netty TCP + Resilience4J circuit breaker

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.7.4, 3.10.0
    • Fix Version/s: 3.7.5, 3.11.0
    • Component/s: camel-netty
    • Labels:
      None
    • Estimated Complexity:
      Advanced

      Description

      My team has found what we believe is a conflict between the Netty TCP producer and the Resilience4J circuit breaker, under specific circumstances.

      When the Netty TCP client encounters an error while writing to the server (for us, usually a broken pipe exception), if it is inside a circuit breaker, the route will hang indefinitely.

      Discussion on Zulip: Conflict with Netty TCP + Resilience4J circuit breaker

      A zipped version of the complete test project is attached.  It should allow you to reproduce the issue.

      By running BrokeTCPServer.main(), and then invoking NettyTest.testNettyCircuitBreaker(), you should see that of the two messages we push into the queue, only one is processed. Only one connection is initiated to the BrokeTCPServer.

        Attachments

        1. sample-camel - nettytest.log.txt
          13 kB
          Morgan L
        2. sample-camel - broketcpserver.log.txt
          0.2 kB
          Morgan L
        3. sample-camel.zip
          70 kB
          Morgan L

          Issue Links

            Activity

              People

              • Assignee:
                davsclaus Claus Ibsen
                Reporter:
                Morgan L Morgan L
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: