qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Ritchie (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Created: (QPID-1432) Client can fail to notify all stateWaiters
Date Wed, 05 Nov 2008 12:25:44 GMT
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
            Reporter: Martin Ritchie
            Assignee: Martin Ritchie
            Priority: Critical
             Fix For: M4


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 _frameListeners can be updated such
that the notification fails to take place.


This is due to our use of CopyOnWrite lists. As the Exception handler is propagating the exception
a new syncWait can occur, which will fail as the connection is closed. There is a question
of why the socket write does not fail but that may be because the close has not yet occurred.

Suggested change:

All uses of the _frameListeners should be synchronized and the syncWrite should check to see
if the connection is closed before allowing the adding the listener. Throwing any exception
that has already been set.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message