diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/qpid/messaging/driver.py | 1 | ||||
| -rw-r--r-- | python/qpid/tests/messaging/endpoints.py | 12 |
2 files changed, 13 insertions, 0 deletions
diff --git a/python/qpid/messaging/driver.py b/python/qpid/messaging/driver.py index 934b5c02cc..8463aead13 100644 --- a/python/qpid/messaging/driver.py +++ b/python/qpid/messaging/driver.py @@ -1020,6 +1020,7 @@ class Engine: ssn.committed = True ssn.aborting = False ssn.aborted = False + sst.committing = False sst.write_cmd(TxCommit(), commit_ok) sst.committing = True diff --git a/python/qpid/tests/messaging/endpoints.py b/python/qpid/tests/messaging/endpoints.py index 6a5cecf3b1..91940a881e 100644 --- a/python/qpid/tests/messaging/endpoints.py +++ b/python/qpid/tests/messaging/endpoints.py @@ -483,6 +483,18 @@ class SessionTests(Base): def testRollbackAck(self): self.txTestAck(False) + def testDoubleCommit(self): + ssn = self.conn.session(transactional=True) + snd = ssn.sender("amq.direct") + rcv = ssn.receiver("amq.direct") + msgs = [self.message("testDoubleCommit", i) for i in range(3)] + for m in msgs: + snd.send(m) + ssn.commit() + self.drain(rcv, expected=msgs) + ssn.acknowledge() + ssn.commit() + def testClose(self): self.ssn.close() try: |
