Commit Graph

60 Commits

Author SHA1 Message Date
Noah Stapp
0cfba4994d
PYTHON-5662 - Add support for server selection's deprioritized servers to all topologies (#2639) 2025-12-16 12:21:45 -05:00
Noah Stapp
42cf3407c8
PYTHON-5642 - getMore operations should do server selection if the server is unknown (#2621) 2025-11-24 11:43:48 -05:00
Noah Stapp
bbb6f88fae
PYTHON-5257 - Turn on mypy disallow_any_generics (#2456) 2025-08-06 14:21:53 -04:00
Steven Silvester
06872f7f03
PYTHON-4780 Implement fast path for server selection with Primary (#2416) 2025-07-22 10:23:26 -05:00
Jeffrey A. Clark
166821f22c
PYTHON-5205 Replace http with https in doc links (#2204) 2025-03-14 21:37:11 -04:00
Shane Harvey
de09181b1c
PYTHON-4960 More informative error message for stale primary (#2115) 2025-03-05 10:30:52 -08:00
Noah Stapp
a5c0db66a1
PYTHON-4589 - Add async API docs (#1755) 2024-07-30 13:18:40 -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
Alessio Castrica
167b9648ca
PYTHON-4298 Raise ConfigurationError not TypeError when round_trip_time is None in server selection (#1566)
Co-authored-by: Alessio <alessio.castrica@investsuite.com>
2024-04-04 12:57:07 -07:00
Steven Silvester
6537415da7
PYTHON-3605 Move type annotations to parameter list in rendered docs (#1441) 2023-11-27 09:24:00 -06: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
Steven Silvester
6f4e617e6d
PYTHON-3905 Use from __future__ import annotations in all files (#1370)
* PYTHON-3905 Use from __future__ import annotations in all files

* cleanup

* cleanup

* cleanup
2023-09-11 10:49:24 -05:00
Iris
54840752d2
PYTHON-3866 add types to topology_description.py (#1339) 2023-08-03 16:08:44 -07: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
df77653ccc
PYTHON-3347 Test against Python 3.11 prerelease (#1069) 2022-10-13 06:09:23 -05:00
Shane Harvey
85f0987e1d PYTHON-3400 Only use new electionId/setVersion logic on 6.0+ 2022-10-05 13:02:15 -07:00
Shane Harvey
64d7d6da8a PYTHON-2970 Prioritize electionId over setVersion for stale primary check (#845) 2022-10-05 13:02:15 -07:00
Shane Harvey
cbab615231
PYTHON-3065 Ignore SRV polling update when topology is discovered to be a replica set (#943) 2022-05-09 12:01:36 -07:00
Shane Harvey
a4bba9dd5c Revert "PYTHON-2970 Prioritize electionId over setVersion for stale primary check (#845)"
This reverts commit 225d131c2d.
2022-03-29 13:45:27 -07:00
Shane Harvey
225d131c2d
PYTHON-2970 Prioritize electionId over setVersion for stale primary check (#845) 2022-03-09 11:13:18 -08:00
Steven Silvester
5578999a90
PYTHON-1834 Use a code formatter (#852) 2022-02-09 06:44:28 -06:00
Steven Silvester
dd6c140d43
PYTHON-3060 Add typings to pymongo package (#831) 2022-02-02 21:12:36 -06:00
Shane Harvey
bf992c20a6
PYTHON-2554 Support aggregate $merge and $out executing on secondaries (#774) 2021-12-07 16:26:01 -08:00
Shane Harvey
5ec4e6cc4c
PYTHON-3027 Fix server selection when topology type is Unknown (#806) 2021-12-02 13:45:50 -08:00
Shane Harvey
8b2eb24c35
PYTHON-2164 Remove client max_bson_size/max_message_size/max_write_batch_size (#766)
Use the hello command instead:
doc = client.admin.command('hello')
max_bson_size = doc['maxBsonObjectSize']
max_message_size = doc['maxMessageSizeBytes']
max_write_batch_size = doc['maxWriteBatchSize']

Also add documentation for TopologyDescription.apply_selector.
2021-11-01 14:26:47 -07:00
Julius Park
bfa5aafb34
PYTHON-2832 Provide options to limit number of mongos servers used in connecting to sharded clusters (#754) 2021-10-26 14:47:51 -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
Shane Harvey
b823b95de1
PYTHON-2791 Ignore erroneous serviceId field for non-LB connections (#663) 2021-06-30 18:31:00 -07:00
Shane Harvey
5bf15c8e18
PYTHON-2672 SDAM, CMAP, and server selection changes for load balancers (#621)
Disable SRV Polling, SDAM compatibility check, logicalSessionTimeoutMinutes check.
server session pool pruning, server selection, and server monitoring.
A ServerType of LoadBalancer MUST be considered a data-bearing server.
"drivers MUST emit the following series of SDAM events" section.
Send loadBalanced:True with handshakes, validate serviceId.
Add topologyVersion fallback when serviceId is missing.
Don't mark load balancers unknown.
2021-05-18 14:12:49 -07:00
Prashant Mital
0743c0b222
PYTHON-2121 add directConnection URI option 2020-06-08 15:11:55 -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
250364f608 PYTHON-2116 Sort servers by address in topology repr 2020-04-23 16:11:28 -07:00
Shane Harvey
463d759ddc PYTHON-2116 Add __repr__ to monitoring events and description classes 2020-04-20 16:13:14 -07:00
Prashant Mital
f85a9f9450
PYTHON-1675 SRV polling for mongos discovery 2019-06-10 12:51:49 -07:00
Prashant Mital
bc26c0db69
PYTHON-1577 Allow applications to register a custom server selector (#371)
PYTHON-1577 Allow applications to register a custom server selector
2018-08-30 17:33:03 -05:00
Bernie Hackett
507f954ed4 Update copyright dates 2017-12-01 17:23:39 -08:00
Shane Harvey
47cab04f49 PYTHON-1407 Exclude non-data bearing servers when considering logicalSessionTimeoutMinutes 2017-11-14 09:35:05 -08:00
Bernie Hackett
b878ed60ca PYTHON-1409 - Improve server compatibility error messages 2017-11-13 15:03:47 -08:00
Shane Harvey
28969a7f9e PYTHON-1407 Ignore non-readable servers' session timeout. 2017-11-13 11:50:19 -08:00
A. Jesse Jiryu Davis
d0da78ae54 PYTHON-1332 - Pool server sessions
Also check if the topology supports sessions, error otherwise.
2017-09-01 18:18:26 -04:00
A. Jesse Jiryu Davis
14da1893ea PYTHON-1332 - Parse session timeout from ismaster
The field name isn't localLogicalSessionTImeoutMinutes, it's now
logicalSessionTimeoutMinutes.
2017-09-01 15:22:38 -04:00
A. Jesse Jiryu Davis
aa03551725 PYTHON-1299 - Drop MongoDB 2.4
Bump minimum supported wire version to 2 and sync SDAM tests from specs
repo. Don't remove actual wire protocol code yet or remove 2.4 version
checks from test code.
2017-08-24 08:14:36 -04:00
A. Jesse Jiryu Davis
cbe3e3b9ab PYTHON-1349 - Read session timeout from isMaster 2017-08-23 21:55:46 -04:00
Bernie Hackett
eb7f2e625a PYTHON-1138 - Improve SDAM monitoring documentation 2016-09-01 17:49:30 -07:00
Bernie Hackett
f570f322c3 PYTHON-1142 - Add topology_type_name and server_type_name 2016-09-01 13:23:32 -07:00
Bernie Hackett
f6e84fdff8 PYTHON-1117 - Add TopologyDescription.has_readable/writable_server 2016-08-31 13:43:15 -07:00
A. Jesse Jiryu Davis
5933730588 PYTHON-1104 Implement maxStalenessMS. 2016-07-22 14:12:40 -04:00