You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2014/10/16 12:34:03 UTC
svn commit: r1632269 - in /qpid/branches/kwall_030_tmp: ./ qpid/
qpid/python/ qpid/python/qpid/messaging/endpoints.py
Author: kwall
Date: Thu Oct 16 10:34:03 2014
New Revision: 1632269
URL: http://svn.apache.org/r1632269
Log:
NO-JIRA: Fix timeout on python messaging.Session.commit and rollback
Fix both to take timeout arg and raise Timeout exception if timeout expires.
Merged from trunk with command:
svn merge -c r1619813 https://svn.apache.org/repos/asf/qpid/trunk/
Modified:
qpid/branches/kwall_030_tmp/ (props changed)
qpid/branches/kwall_030_tmp/qpid/ (props changed)
qpid/branches/kwall_030_tmp/qpid/python/ (props changed)
qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py
Propchange: qpid/branches/kwall_030_tmp/
------------------------------------------------------------------------------
Merged /qpid/trunk:r1619813
Propchange: qpid/branches/kwall_030_tmp/qpid/
------------------------------------------------------------------------------
Merged /qpid/trunk/qpid:r1619813
Propchange: qpid/branches/kwall_030_tmp/qpid/python/
------------------------------------------------------------------------------
Merged /qpid/trunk/qpid/python:r1619813
Modified: qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py
URL: http://svn.apache.org/viewvc/qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py?rev=1632269&r1=1632268&r2=1632269&view=diff
==============================================================================
--- qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py (original)
+++ qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py Thu Oct 16 10:34:03 2014
@@ -732,13 +732,14 @@ class Session(Endpoint):
raise NontransactionalSession()
self.committing = True
self._wakeup()
- self._ecwait(lambda: not self.committing, timeout=timeout)
+ if not self._ecwait(lambda: not self.committing, timeout=timeout):
+ raise Timeout("commit timed out")
if self.aborted:
raise TransactionAborted()
assert self.committed
@synchronized
- def rollback(self):
+ def rollback(self, timeout=None):
"""
Rollback outstanding transactional work. This consists of all
message sends and receives since the prior commit or rollback.
@@ -747,7 +748,8 @@ class Session(Endpoint):
raise NontransactionalSession()
self.aborting = True
self._wakeup()
- self._ecwait(lambda: not self.aborting)
+ if not self._ecwait(lambda: not self.aborting, timeout=timeout):
+ raise Timeout("rollback timed out")
assert self.aborted
@synchronized
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org