[
https://issues.apache.org/jira/browse/QPID-4997?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13730868#comment-13730868
]
Ted Ross commented on QPID-4997:
--------------------------------
Rather than attempt to make the Proton objects thread-safe, the approach to
fixing this problem is to enqueue not just messages for delivery on a different
connection but also state change events (settlement, disposition change, etc.).
Previously, message deliveries were enqueued for delivery on a different thread
but disposition changes, settlement, and offered were done synchronously in the
receiving thread.
As changed, all of the above are enqueued for asynchronous processing in a
thread that has the proper access to the target connection.
> 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: [email protected]
For additional commands, e-mail: [email protected]