[
https://issues.apache.org/jira/browse/QPID-1432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martin Ritchie updated QPID-1432:
---------------------------------
Priority: Major (was: Critical)
Affects Version/s: M4
Fix Version/s: (was: M4)
The use of the AMQStateManager. _waiters is only done during connection startup
and clean shutdown.
Whilst the client does have some issues with handling of asynchronous
exceptions I don't believe that this issue will improve that situation as the
_waiters will not change during the connection creation/clean shutdown
processes.
> Client can fail to notify all stateWaiters
> ------------------------------------------
>
> Key: QPID-1432
> URL: https://issues.apache.org/jira/browse/QPID-1432
> Project: Qpid
> Issue Type: Bug
> Components: Java Client
> Affects Versions: M2.1, M3, M4
> Reporter: Martin Ritchie
>
> Summary:
> Due to our desire to reduce synchronization on the client it is possible to
> fail to notify a client of an exception state.
> As highlighted by the two thread processes below, the _waiters in
> AMQStateManger can be updated such that the error notification fails to take
> place.
> This is due to our use of CopyOnWrite lists. As the Exception handler is
> propagating the exception a new exception may miss a newly registered state
> listener.
> Suggested change:
> All uses of the _waiters should be synchronized. The only place that this is
> not done is in the error() case.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.