Skip to content

Commit 5d4c635

Browse files
committed
Expect exception raised when committing or aborting a txn that finished
1 parent 0b879e6 commit 5d4c635

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

src/main/exception.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,13 @@ struct exception_def exception_defs[] = {
111111
AEROSPIKE_ERR_ASYNC_CONNECTION, NULL),
112112
EXCEPTION_DEF("ClientAbortError", CLIENT_ERR_EXCEPTION_NAME,
113113
AEROSPIKE_ERR_CLIENT_ABORT, NULL),
114-
EXCEPTION_DEF("TranactionFailed", CLIENT_ERR_EXCEPTION_NAME,
114+
EXCEPTION_DEF("TransactionFailed", CLIENT_ERR_EXCEPTION_NAME,
115115
AEROSPIKE_TXN_FAILED, NULL),
116+
EXCEPTION_DEF("TransactionAlreadyCommitted", CLIENT_ERR_EXCEPTION_NAME,
117+
AEROSPIKE_TXN_ALREADY_COMMITTED, NULL),
118+
EXCEPTION_DEF("TransactionAlreadyAborted", CLIENT_ERR_EXCEPTION_NAME,
119+
AEROSPIKE_TXN_ALREADY_ABORTED, NULL),
120+
116121
// Server errors
117122
EXCEPTION_DEF("InvalidRequest", SERVER_ERR_EXCEPTION_NAME,
118123
AEROSPIKE_ERR_REQUEST_INVALID, NULL),

test/new_tests/test_mrt_functionality.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ def test_commit_fail(self):
8989
}
9090
self.as_connection.put(self.keys[0], {self.bin_name: 1}, policy=policy)
9191
self.as_connection.abort(mrt)
92-
status = self.as_connection.commit(mrt)
93-
assert status == aerospike.MRT_COMMIT_ALREADY_ABORTED
92+
with pytest.raises(e.TransactionAlreadyAborted):
93+
self.as_connection.commit(mrt)
9494

9595
# Test case 10: Issue abort after issung commit. (P1)
9696
def test_abort_fail(self):
@@ -100,5 +100,5 @@ def test_abort_fail(self):
100100
}
101101
self.as_connection.put(self.keys[0], {self.bin_name: 1}, policy=policy)
102102
self.as_connection.commit(mrt)
103-
status = self.as_connection.abort(mrt)
104-
assert status == aerospike.MRT_ABORT_ALREADY_COMMITTED
103+
with pytest.raises(e.TransactionAlreadyCommitted):
104+
self.as_connection.abort(mrt)

0 commit comments

Comments
 (0)