[ 
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.

Reply via email to