qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-4997) Dispatch - Thread safety issues in the usage of Proton
Date Tue, 06 Aug 2013 16:28:48 GMT

    [ https://issues.apache.org/jira/browse/QPID-4997?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13730910#comment-13730910
] 

ASF subversion and git services commented on QPID-4997:
-------------------------------------------------------

Commit 1511021 from [~tedross] in branch 'qpid/trunk'
[ https://svn.apache.org/r1511021 ]

QPID-5045 - Refactored the router data structures to support message and link routing.
QPID-4997 - Fixed the thread safety problem.

 - Wrapped "pn_delivery" in the container to allow for explicit linkage of delivery pairs.
 - Removed the linkage between "message" and "delivery".  Messages can now be discarded as
   soon as the last copy is delivered because their status will be tracked in the dx_delivery
   object.
 - Removed tx_handler from the set of callbacks in the container.  There is no need for this
   notification (sendable delivery) because Dispatch does not create outbound deliveries
   until it is ready to send them (i.e. deliveries are created and advanced in one synchronous
   operation).
 - Replaced the out_fifo of messages per outbound-link with a pair of fifos (one for messages
   and one for state changes) per link.  Note that even inbound-links need to send state
   changes outbound.  This change addresses QPID-4997.
                
> Dispatch - Thread safety issues in the usage of Proton
> ------------------------------------------------------
>
>                 Key: QPID-4997
>                 URL: https://issues.apache.org/jira/browse/QPID-4997
>             Project: Qpid
>          Issue Type: Bug
>          Components: Qpid Dispatch
>            Reporter: Ted Ross
>            Assignee: Ted Ross
>
> Dispatch, being an intermediary, often needs to deal with activating and modifying multiple
links synchronously.  There are several Proton calls that are invoked on threads in violation
of the one-thread-at-a-time-per-connection rule.
> A mechanism needs to be put in place whereby delivery (settlement/disposition) and link
(flow/offer) can be safely scheduled for later processing on a "proper" thread.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message