Keith Wall resolved QPID-7417.
    Resolution: Fixed

> [Java Broker] Ensure message instance listeners only fire on state changes of 
> the associated object
> ---------------------------------------------------------------------------------------------------
>                 Key: QPID-7417
>                 URL: https://issues.apache.org/jira/browse/QPID-7417
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: qpid-java-6.0, qpid-java-6.0.4, qpid-java-6.1
>            Reporter: Lorenz Quack
>             Fix For: qpid-java-6.0.5, qpid-java-6.1
> Currently a typical StateChangeListener checks whether it is interested in 
> the particular change of state that is occurring but it does not check from 
> which object the state change is triggered from.
> This can be a problem for example in 
> {{ConsumerTarget_0_8#_unacknowledgedMessageListener}} if a message gets 
> rejected from ConsumerTarget A and assigned to ConsumerTarget B before the 
> stateChangeListeners are invoked. The invocation of the listeners would 
> notify about the transition from ACQUIRED to AVAILABLE relating to 
> ConsumerTarget A but ConsumerTarget B (not checking for the origin of the 
> state change) would also restore its credit. This premature restoration of 
> credit can lead to the client receiving too many messages in its prefetch 
> leading to potentially undesired behaviour.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to