[
https://issues.apache.org/jira/browse/QPID-2968?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12966678#action_12966678
]
Dmitry Konishchev edited comment on QPID-2968 at 12/3/10 4:43 PM:
------------------------------------------------------------------
This patch fixes following bugs:
* If you open a few connections, and one of them breaks (for example,
due to a network error), another connections can be locked for a time,
which is equal to network timeout of the broken connection.
* All connections could become locked forever due to races between
Driver and Selector objects.
* Added EINTR error handling.
* Added broker connection timeout which is equal to the connection
heartbeat interval.
was (Author: konishchev):
The following patch fixes the bugs.
> Blocking on dead sockets
> ------------------------
>
> Key: QPID-2968
> URL: https://issues.apache.org/jira/browse/QPID-2968
> Project: Qpid
> Issue Type: Bug
> Components: Python Client
> Affects Versions: Future, 0.9, 0.8, 0.7
> Environment: Does not matter
> Reporter: Dmitry Konishchev
> Fix For: Future, 0.9, 0.8, 0.7
>
> Attachments: patch
>
>
> * If you open a few connections, and one of them breaks (for example,
> due to a network error), another connections can be locked for time, which
> is
> equal to network timeout of the broken connection. This happens due to
> working with sockets in blocking mode and due to using one Selector for all
> connections.
> * All connections could become locked forever due to races between
> Driver and Selector objects. Driver object removes itself from the Selector
> non-atomically and a situation when Driver is alredy closed, but the
> Selector
> refers to it could happen. In this case select() call in the Selector raise
> an exeption due to self._transport.fileno() call on Driver where
> self._transport is None. The selector doesn't handle errors on select(), so
> the selector's thread will be stopped due to unhandled Exception.
> * There is no checks on EINTR error on os.* calls.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]