Commit Graph

35 Commits

Author SHA1 Message Date
Shane Harvey
a886922157 PYTHON-1684 Support sharded transactions recovery token (#406)
Transient errors inside transaction unpins the session.
Add brief docs about sharded transactions and add 3.9 changelog.
Tests changes:
Add spec tests for sharded transaction recoveryToken.
Speed up txn tests by reducing SDAM waiting time after a network error.
Remove outdated test workaround for killAllSessions.
2019-02-27 13:28:06 -08:00
Prashant Mital
0b8643d144
SPEC 1153: Adding readConcern support to aggregation with $out (#400) 2019-02-20 16:21:39 -08:00
Shane Harvey
41b42344de PYTHON-1701 Avoid false positives in unpinning prose test
Wait until both mongoses are discovered, increase localThresholdMS,
and increase iteration count.
2018-12-12 16:22:35 -08:00
Shane Harvey
ecc852c322 PYTHON-1673 Mongos pinning for sharded transactions
In a sharded transaction, a session is pinned to the mongos server
selected for the initial command. All subsequent commands in the same
transaction are routed to the pinned mongos server.
2018-12-06 15:28:58 -08:00
Shane Harvey
1d8c73954c PYTHON-1691 Fix transaction test runner to read the latest data from the primary 2018-11-30 13:30:17 -08:00
Shane Harvey
c200c2cd0e
PYTHON-1658 Test that transaction reads ignore db/collection readConcern (#384)
Fix: properly skip tests that include 'skipReason'.
Revendor transaction spec tests at commit 367842f1ee4b80f75664a05c6b9d5b2498cf856d
2018-11-14 11:47:53 -08:00
Bernie Hackett
749c1a2f0b PYTHON-1467 - PyMongo no longer supports Python 2.6 2018-07-02 15:15:43 -07:00
Shane Harvey
4f3b6467ab PYTHON-1598 Fix transaction write concern inheritance 2018-06-26 12:07:12 -04:00
Shane Harvey
9d8024d9ea PYTHON-1590 Avoid thread limit in tests 2018-06-15 13:17:37 -07:00
Shane Harvey
e4317d286b PYTHON-1508 Retryable commit/abort, has_error_label api
Retryable commitTransaction/abortTransaction.
Retry writes after certain writeConcernErrors.
Add has_error_label api.
Update unacknowledged write concern error messge.
Resync transaction tests and update test runner.
2018-06-07 14:39:52 -07:00
Bernie Hackett
cb85eb02a2 PYTHON-1563 - Avoid import deadlocks in the test suite 2018-06-03 07:34:26 -07:00
Shane Harvey
ca6a34f51d PYTHON-1508 SPEC-1097 Resync transaction tests
Database.command without a read_preference defaults to the
transaction's or Primary if the session is not in a transaction
Add runCommand transaction tests.
Update count tests.
2018-06-01 16:29:11 -07:00
Shane Harvey
cac0d5548f PYTHON-1508 Remove autoStartTransaction and resync tests
Also use the test file's database name and collection name.
2018-05-22 13:29:41 -07:00
Shane Harvey
5a652be993 PYTHON-1508 Add read_preference to TransactionOptions
All read operations use the transaction's read preference.
Add transaction read preference spec tests.
Remove write test in test_read_preferences.
2018-05-08 11:38:28 -07:00
Shane Harvey
876fa50dbd PYTHON-1508 Transaction tests require 3.7.7 2018-04-25 16:04:05 -07:00
A. Jesse Jiryu Davis
a9e643241d PYTHON-1508 Jython-compatible transaction tests 2018-04-17 09:37:47 -04:00
A. Jesse Jiryu Davis
c194109c0f Test aggregate in transactions 2018-04-16 14:56:11 -07:00
A. Jesse Jiryu Davis
34ab244898 Obsolete workaround in test_transactions.py 2018-04-16 14:56:06 -07:00
A. Jesse Jiryu Davis
9eab96259f Kill sessions before starting transaction test 2018-04-16 09:57:45 -04:00
A. Jesse Jiryu Davis
3da3ab4d1a Update transactions test runner 2018-04-16 09:57:45 -04:00
Shane Harvey
5bff89d932 Add TODO to omit writeConcern 2018-04-16 09:57:45 -04:00
Shane Harvey
ab73a7a164 Re-sync transactions tests 2018-04-16 09:57:45 -04:00
Shane Harvey
b4f153a811 Add and test default_transaction_options 2018-04-16 09:57:45 -04:00
Shane Harvey
c6488c117d Ending a session always aborts the transaction 2018-04-16 09:57:45 -04:00
Shane Harvey
c66235176e Test find/getMore with stmtId in transactions 2018-04-16 09:57:45 -04:00
Shane Harvey
3b02e59b70 Add errorCodeName assertion to transaction tests 2018-04-16 09:57:45 -04:00
Shane Harvey
6f217ec3f2 Test incrementing txnNumber with retryable writes and transactions 2018-04-16 09:57:45 -04:00
Shane Harvey
6eb0e13393 Support causal consistency with transactions 2018-04-16 09:57:45 -04:00
Shane Harvey
49494c2548 Add support for start_transaction with-statement 2018-04-16 09:57:45 -04:00
A. Jesse Jiryu Davis
6671ee242c Parse sessionOptions from tests, not transactionOptions 2018-04-16 09:57:45 -04:00
A. Jesse Jiryu Davis
b41c2af3a0 Enable session.abort_transaction() 2018-04-16 09:57:45 -04:00
A. Jesse Jiryu Davis
17d94ea8af fix bulkWrite transaction test, import transactional write tests 2018-04-16 09:57:45 -04:00
A. Jesse Jiryu Davis
c305f14e18 cache Query/GetMore.as_command, send stmtId with commit/abortTransaction
fix comparison of insertedIds in test_transactions.py
2018-04-16 09:57:45 -04:00
A. Jesse Jiryu Davis
00878a2f53 new logic for error scenarios 2018-04-16 09:57:45 -04:00
A. Jesse Jiryu Davis
9df87b6401 prototype transaction tests 2018-04-16 09:57:45 -04:00