Commit Graph

62 Commits

Author SHA1 Message Date
Shane Harvey
6acc9f64cf
PYTHON-3333 Fix bug where non-cursor read operations fail in a transaction with directConnection=True on primary (#991) 2022-07-06 11:39:41 -07:00
Shane Harvey
a624197338
PYTHON-3260 Improve test_transaction_starts_with_batched_write and test_continuous_network_errors (#945) 2022-05-10 10:29:48 -07:00
Steven Silvester
5578999a90
PYTHON-1834 Use a code formatter (#852) 2022-02-09 06:44:28 -06:00
Steven Silvester
f4cef37328
PYTHON-3064 Add typings to test package (#844) 2022-02-07 19:33:41 -06:00
Shane Harvey
754e52890f
PYTHON-2915 Skip large txn test on slow Windows hosts (#788) 2021-11-15 13:01:45 -08:00
Shane Harvey
df6f6496a4
PYTHON-2927 PYTHON-2937 Skip failing tests on PyPy (#753)
Cleanup test clients more eagerly.
2021-10-13 10:29:38 -07:00
Shane Harvey
7467aa634d
PYTHON-2915 Fix bug when starting a transaction with a large bulk write (#743) 2021-09-24 15:47:37 -07:00
Shane Harvey
65aa7c86d5
PYTHON-2850 Remove map_reduce/inline_map_reduce (#703) 2021-08-12 09:44:52 -07:00
Prashant Mital
f07da34f97
PYTHON-2545 Test Atlas Serverless (#664) 2021-07-27 16:35:09 -07:00
Shane Harvey
2a74601572
PYTHON-2676 Unified Test Runner changes in preparation for Load Balancer Support (#623)
Resync crud, change stream, SDAM, server_selection, transactions, uri-options, tests.
PYTHON-2348 Correctly express lack of event assertions in change stream tests.
2021-05-18 10:20:36 -07:00
Shane Harvey
61c6876872
PYTHON-2635 Unpin sessions after all abortTransaction attempts (#609)
Add unified test runner for transactions.
2021-04-28 12:38:13 -07:00
Bernie Hackett
a72e8b8823 PYTHON-2133 Remove py2 support from test
Also delete bson/py3compat.py
2021-01-20 09:40:36 -08:00
Shane Harvey
5d92b2f552
PYTHON-2243 Raise informative error message when attempting a GridFS operation in a transaction (#454) 2020-07-07 18:55:17 -07:00
Shane Harvey
4457714d1b
PYTHON-2082 Unpin session after RetryableWriteErrors from commitTransaction (#451)
PYTHON-2154 PYTHON-2189 Remove 4.5 transaction test workarounds
2020-07-01 18:32:58 -07:00
Shane Harvey
5b49557c59 PYTHON-2268 Close clients in test suite 2020-06-03 17:05:59 -07:00
Shane Harvey
d8342367a9 PYTHON-2214 Tolerate StaleConfig errors in test_create_collection 2020-04-29 11:43:10 -07:00
Shane Harvey
b7f4faeeab PYTHON-2189 Ignore StaleConfig transaction errors on 4.5+ mongos 2020-04-17 16:19:39 -07:00
Shane Harvey
fd64f4dd64 PYTHON-2030 Support collection and index creation in multi-doc transactions 2020-04-02 12:20:50 -07:00
Prashant Mital
f62c53f472
PYTHON-2020 Make ClientSession._in_transaction a public property 2019-11-01 16:58:38 -07:00
Shane Harvey
4170d8ac7f PYTHON-1829 Support maxTimeMS for commitTransaction
Add max_commit_time_ms to TransactionOptions.
MaxTimeMSExpired errors on commit are labelled UnknownTransactionCommitResult.
with_transaction does not retry commit after MaxTimeMSExpired errors.
2019-06-04 15:44:32 -07:00
Shane Harvey
87951c33f8 PYTHON-1674 Refactor spec test runner for transactions
This enables us to reuse the transaction spec runner for tesing
retryable reads.
2019-04-25 14:27:41 -07:00
Shane Harvey
2bdc188163 PYTHON-1795 Workaround StaleDbVersion on distinct 2019-04-02 13:15:23 -07:00
Shane Harvey
923229de12 PYTHON-1757 Properly skip tests that require enableTestCommands 2019-03-14 16:24:36 -07:00
Bernie Hackett
9ca4800543 PYTHON-1740 - Fix up transaction tests 2019-03-13 16:10:03 -07:00
Shane Harvey
ee1541c5b8
PYTHON-1772 Fix flakey mock timeout tests for with_transaction (#415) 2019-03-07 15:34:42 -08:00
Shane Harvey
82131c4448
PYTHON-1671 Add ClientSession.with_transaction API (#411) 2019-03-07 13:37:13 -08:00
Bernie Hackett
7409f844e6 PYTHON-1740 - retryWrites defaults to true 2019-03-06 16:32:53 -08:00
Shane Harvey
e64945101b 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 15:59:18 -08:00
Prashant Mital
2b1fdb091d SPEC 1153: Adding readConcern support to aggregation with $out (#400) 2019-02-27 15:59:18 -08:00
Shane Harvey
ec79300d3f PYTHON-1701 Avoid false positives in unpinning prose test
Wait until both mongoses are discovered, increase localThresholdMS,
and increase iteration count.
2019-02-27 15:56:48 -08:00
Shane Harvey
6bab444bd7 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.
2019-02-27 15:56:48 -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