qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kim van der Riet (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (QPID-7809) Python 0-10 messaging driver does not handle heartbeat timeouts and reconnects correctly
Date Fri, 02 Jun 2017 17:20:04 GMT

     [ https://issues.apache.org/jira/browse/QPID-7809?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Kim van der Riet updated QPID-7809:
-----------------------------------
    Attachment: BZ1444206.patch

Proposed fix.

When a heartbeat timeout occurs the {{Driver}} object closes its {{Engine}} instance and schedules
a reconnection. But in order for a connection to be made, the {{Transport}} object must be
set to {{None}}. In addition, no check is made when {{Driver.readable()}} is called that the
engine is not closed, and this allows operations (such as message transfers) to be performed
on the closed engine. In the case of a message transfer, this results in a Python exception
{{assert rcv.received < rcv.impending}}.

This patch sets both the engine and the transport to {{None}} when the engine is closed (by
calling {{st_closed()}}. Additional checks are made at various Driver calls that the engine
instance is not {{None}} to prevent operations occurring before a connection is reestablished.

> Python 0-10 messaging driver does not handle heartbeat timeouts and reconnects correctly
> ----------------------------------------------------------------------------------------
>
>                 Key: QPID-7809
>                 URL: https://issues.apache.org/jira/browse/QPID-7809
>             Project: Qpid
>          Issue Type: Bug
>          Components: Python Client
>            Reporter: Kim van der Riet
>         Attachments: BZ1444206.patch
>
>
> When using the older Qpid Python messaging client (AMQP 0-10), a heartbeat timeout event
results in the client never reconnecting to the broker. In addition, attempts to transfer
messages after the heartbeat timeout result in a Python exception {{"assert rcv.received <
rcv.impending"}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

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


Mime
View raw message