diff options
Diffstat (limited to 'qpid/python')
| -rw-r--r-- | qpid/python/qpid/messaging/driver.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/qpid/python/qpid/messaging/driver.py b/qpid/python/qpid/messaging/driver.py index 6f1d0fba7d..6110befc69 100644 --- a/qpid/python/qpid/messaging/driver.py +++ b/qpid/python/qpid/messaging/driver.py @@ -676,6 +676,12 @@ class Engine: def close(self, e=None): self._reset() + # We cannot re-establish transactional sessions, they must be aborted. + # We could re-do transactional enqueues, but not dequeues. + for ssn in self.connection.sessions.values(): + if ssn.transactional: + ssn.error = TransactionAborted("Transaction aborted due to transport failure") + ssn.closed = True if e: self.connection.error = e self._status = CLOSED |
