Lorenz Quack created QPID-7417:
----------------------------------
Summary: [Java Broker] Ensure StateChangeListener only fire on
stateChanges 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.4, qpid-java-6.0, qpid-java-6.1
Reporter: Lorenz Quack
Fix For: qpid-java-6.1, qpid-java-6.0.5
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: [email protected]
For additional commands, e-mail: [email protected]