Serdar Gökay created CAMEL-26114:
------------------------------------

             Summary: camel-milo - onTransferFailed tears down the current 
connection without checking that it is the one whose transfer failed
                 Key: CAMEL-26114
                 URL: https://issues.apache.org/jira/browse/CAMEL-26114
             Project: Camel
          Issue Type: Bug
          Components: camel-milo
    Affects Versions: 4.23.0
            Reporter: Serdar Gökay


Follow-up of CAMEL-25912, named there as not done.

{{SubscriptionManager.SubscriptionListenerImpl.onTransferFailed()}} calls 
{{handleConnectionFailure()}}, which tears down whichever connection the 
manager holds at that moment and triggers a rebuild. It does not check that the 
subscription whose transfer failed belongs to that connection. When the 
listener of an already replaced connection reports a failed transfer late, the 
replacement is torn down and rebuilt for nothing, and the consumers of the 
connection lose their values once more. This is the same class of defect as the 
producer teardown removed by CAMEL-25912, where a write that failed on a 
disposed connection tore down its replacement.

Fix: ignore the report when the listener belongs to a connection that was 
already disposed, and tear down the connection only when it is the current one.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to