Noah Stapp
34ca759f85
PYTHON-5113 - Refactor test utils for async ( #2149 )
2025-03-12 12:59:56 -04:00
Iris
25c9b90842
PYTHON-5099 Convert test.test_sdam_monitoring_spec to async ( #2117 )
2025-02-06 10:24:37 -08:00
Noah Stapp
0e8d70457f
Async client uses tasks instead of threads
...
PYTHON-4725 - Async client should use tasks for SDAM instead of threads
PYTHON-4860 - Async client should use asyncio.Lock and asyncio.Condition
PYTHON-4941 - Synchronous unified test runner being used in asynchronous tests
PYTHON-4843 - Async test suite should use a single event loop
PYTHON-4945 - Fix test cleanups for mongoses
Co-authored-by: Iris <58442094+sleepyStick@users.noreply.github.com>
2024-11-26 16:55:27 -05:00
Noah Stapp
739510214b
PYTHON-4731 - Explicitly close all MongoClients opened during tests ( #1855 )
2024-09-17 09:22:17 -04:00
Shane Harvey
13cf110f01
PYTHON-4633 Speed up TestCollectionChangeStream.test_uuid_representations ( #1775 )
2024-08-07 16:17:48 -07:00
Noah Stapp
294f10b724
PYTHON-4021 - Publish TopologyDescriptionChangedEvent on topology close ( #1762 )
2024-08-02 09:42:49 -07:00
Noah Stapp
ffa6555485
PYTHON-4476 Separate data and IO classes more effectively ( #1678 )
2024-06-26 10:12:39 -07:00
Noah Stapp
d6bf0e1e78
PYTHON-4264 Async PyMongo Beta ( #1629 )
2024-06-06 09:01:24 -07:00
Steven Silvester
923c8a5abe
PYTHON-4024 Use ruff formatter ( #1419 )
2023-11-02 12:46:40 -05:00
Steven Silvester
7936708d97
PYTHON-4014 Apply QA Suggestions from Scientific Python Library Development Guide ( #1414 )
2023-11-01 19:37:22 -05:00
Steven Silvester
992d1507e7
PYTHON-4005 Replace flake8 and isort with ruff ( #1399 )
2023-10-19 11:56:22 -05:00
Shane Harvey
0092b0af79
PYTHON-2504 Run pyupgrade 3.4.0 and ruff 0.0.265 ( #1196 )
...
pyupgrade --py37-plus bson/*.py pymongo/*.py gridfs/*.py test/*.py tools/*.py test/*/*.py
ruff --fix-only --select ALL --fixable ALL --target-version py37 --line-length=100 --unfixable COM812,D400,D415,ERA001,RUF100,SIM108,D211,D212,SIM105,SIM,PT,ANN204,EM bson/*.py pymongo/*.py gridfs/*.py test/*.py test/*/*.py
2023-05-11 15:27:17 -07:00
Steven Silvester
a0fe7c03af
PYTHON-3120 Set up flake8 linting ( #868 )
2022-02-17 06:44:08 -06: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
b342990934
PYTHON-2164 Add MongoClient.options, remove redundant properties ( #772 )
2021-11-03 11:21:33 -07:00
Julius Park
3b8961a76e
PYTHON-2679 Auto discover replica sets by default ( #716 )
2021-09-14 14:00:13 -07:00
Bernie Hackett
ad4315134c
PYTHON-2803 Get rid of most uses of 'master'
...
This change also resolves PYTHON-2848 for MongoDB 4.0.
2021-09-13 12:50:49 -07:00
Prashant Mital
3f8c104157
PYTHON-2288 Remove IsMaster ( #690 )
2021-07-29 10:32:51 -07:00
Shane Harvey
b4b7a07b81
PYTHON-2762 Avoid duplicating unified test files for LB testing ( #649 )
...
Create new client for each cursor/session __del__ test.
Always close cursors in spec tests.
2021-06-25 16:20:21 -07:00
Shane Harvey
a7921604f1
PYTHON-2768 Add SDAM and server selection spec tests for load balancers ( #655 )
2021-06-24 12:32:52 -07:00
Prashant Mital
ff6ca53328
PYTHON-2572 Introduce NotPrimaryError and deprecate NotMasterError ( #646 )
2021-06-22 13:24:07 -07:00
Shane Harvey
1f4123e4bf
PYTHON-2123 Streaming heartbeat protocol
...
MongoClient now requires 2 connections and 2 threads to each MongoDB 4.4+ server.
With one connection, the server streams (or pushes) updated heartbeat info.
With the other connection, the client periodically pings the server to
establish an accurate round-trip time (RTT). This change optimizes the
discovery of server state changes such as replica set elections.
Additional changes:
- Mark server Unknown before retrying isMaster check.
- Always reset the pool _after_ marking the server unknown.
- Configure fail point before creating the client in test SpecRunner.
- Unfreeze with replSetFreeze:0 to ensure a speedy elections in test suite.
2020-07-01 14:49:46 -07:00
Shane Harvey
45a7963aac
PYTHON-2082 Retryable writes use the RetryableWriteError label
...
Use retryable write logic for transaction commit/abort.
Do not assign the TransientTransactionError label to errors outside a
transaction.
2020-05-19 10:49:28 -07:00
Shane Harvey
7099e1be8b
PYTHON-2199 Reduce race conditions in SDAM error handling
...
Use Pool.generation and topologyVersion to reduce race conditions
SDAM error handling.
Implement SDAM error handling spec tests.
2020-04-28 16:47:13 -07:00
Shane Harvey
d7128c130c
PYTHON-2024 Skip publishing SDAM events for "equivalent" ServerDescriptions
2020-02-24 16:32:09 -08:00
Shane Harvey
e989be53c1
PYTHON-2088 Define how multiple phases should be handled in SDAM spec runner
2020-02-24 16:32:09 -08:00
Shane Harvey
0b24e1e0b7
PYTHON-2126 Refactor monitor to create PeriodicExecutor in one place
2020-02-14 13:11:34 -08:00
Shane Harvey
6609cc5714
PYTHON-2098 Publish server/topology events when reseting a server due to an application error
2020-02-11 11:50:45 -08:00
Shane Harvey
f588412b67
PYTHON-1842 Implement Connection Monitoring and Pooling spec
2019-06-13 15:50:49 -07:00
Prashant Mital
f85a9f9450
PYTHON-1675 SRV polling for mongos discovery
2019-06-10 12:51:49 -07:00
Bernie Hackett
e89ba4bcd0
PYTHON-1026 - Remove test assumption about primary host
2016-09-21 11:15:43 -07:00
aherlihy
d98a745700
PYTHON-1067 - Implement SDAM Monitoring
2016-06-14 15:20:19 +02:00