[ https://issues.apache.org/jira/browse/QPID-7417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lorenz Quack updated QPID-7417: ------------------------------- Summary: [Java Broker] Ensure message instance listeners only fire on state changes of the associated object (was: [Java Broker] Ensure StateChangeListener only fire on stateChanges of the associated object) > [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 (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org