Commit Graph

38 Commits

Author SHA1 Message Date
Steven Silvester
b8f857d19e
PYTHON-3292 Remove ElectionInProgress (216) from ResumableChangeStreamError (#996) 2022-07-06 16:59:46 -05:00
Ben Warner
43c2062305
PYTHON-3093 Change streams support for user-facing PIT pre- and post-images (#972) 2022-06-15 11:22:55 -07:00
Steven Silvester
a319075ba7
PYTHON-3197 Update docs.mongodb.com links in source, API & Reference documentation (#926) 2022-04-13 14:11:13 -05:00
Steven Silvester
087950d869
PYTHON-3164 Outdated link from PyMongo docs to community forum (#895) 2022-03-15 15:49:11 -05:00
Steven Silvester
a0fe7c03af
PYTHON-3120 Set up flake8 linting (#868) 2022-02-17 06:44:08 -06:00
Julius Park
ddb6614442
PYTHON-2682 Add support for the comment field to all helpers (#847) 2022-02-09 15:12:02 -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
ff3a8b44dc
PYTHON-1864 PYTHON-2931 Spec complaint $readPreference (#809)
Stop sending $readPreference to standalone servers.
Stop sending $readPreference primary because it's the server default.
Remove outdated secondary_ok flag.
2021-12-13 15:47:34 -08:00
Bernie Hackett
146179db53 PYTHON-2803 Eliminate the use of 'slave' 2021-09-13 12:47:24 -07:00
Shane Harvey
f9bfd11290
PYTHON-2870 Add support for man/text/latex/etc.. docs output (#708)
Regenerate sphinx makefile with sphinx-quickstart 3.5.4.
Remove problematic mongodoc sphinx extension.
2021-08-19 13:31:46 -07:00
Prashant Mital
ff6ca53328
PYTHON-2572 Introduce NotPrimaryError and deprecate NotMasterError (#646) 2021-06-22 13:24:07 -07:00
Shane Harvey
4c77d7c855
PYTHON-2677 Better wait queue timeout errors for load balanced clusters (#639)
Remove checkout argument in favor of SocketInfo.pin_txn/pin_cursor()
2021-06-21 18:29:36 -07:00
Shane Harvey
c8f32a7a37 PYTHON-2673 Connection pinning behavior for load balanced clusters (#630)
Tweak spec test because pymongo unpins cursors eagerly after errors.
Tweak spec test for PoolClearedEvent ordering when MongoDB handshake fails (see DRIVERS-1785).
Only skip killCursors for some error codes.
Rely on SDAM error handling to close the connection after a state change error.
Add service_id to various events.
Retain reference to pinned sockets to prevent premptive closure by CPython's cyclic GC.
2021-06-15 14:14:56 -07:00
Prashant Mital
065001ef2e
PYTHON-2305 Cache postBatchResumeToken when an aggregate command returns an empty firstBatch (#456) 2020-07-08 14:51:17 -07:00
Prashant Mital
dd23624100
handle None case 2020-07-01 16:47:36 -07:00
Prashant Mital
956ce3d4b0
Incorporate review changes 2020-07-01 16:47:33 -07:00
Prashant Mital
9fc7ed1e11
PYTHON-2143 Use an allow-list to determine resumable change stream errors 2020-07-01 16:43:27 -07:00
Prashant Mital
0c5d24ce48
PYTHON-2181 Raise an informative error including the entire command response when operationTime is missing from aggregate command response 2020-04-09 16:40:12 -07:00
Prashant Mital
a763461403
PYTHON-1885 Update ChangeStream documentation to use getResumeToken helper 2019-08-08 15:35:09 -07:00
Prashant Mital
ddac30d2ff
PYTHON-1742 add postBatchResumeToken support
PYTHON-1815 add tests for postBatchResumeToken support
PYTHON-1845 clarify resume token used in resuming and getResumeToken
2019-07-25 17:18:35 -07:00
Prashant Mital
26d25cd74e
PYTHON-1841 ChangeStream should not resume after errors with NonRetryableChangeStreamError label 2019-07-02 18:55:35 -07:00
Prashant Mital
0b72f88363
PYTHON-1871 ChangeStreams must honor batchSize 2019-06-14 10:25:41 -07:00
Prashant Mital
694a4a5d85
PYTHON-1866 Add support for $merge aggregation pipeline stage 2019-06-13 19:38:15 -07:00
Prashant Mital
81529713ba
PYTHON-1699 Add database level aggregate helper 2019-06-12 16:37:39 -07:00
Shane Harvey
afbf18b0ad PYTHON-1720 Add start_after parameter to watch() methods 2019-06-04 16:06:47 -07:00
Shane Harvey
a15266083b PYTHON-1674 Support retryable reads
Add retryReads URI option that defaults to True.
Supported read operations will be retried once after transient
network, election, and shutdown errors on MongoDB 3.6+.
Supported operations are:
listCollections, listIndexes, and listDatabases
distinct
count, estimated_document_count, count_documents
aggregate (not including $out)
find (only for the initial find command, getMore commands are not
retried).
ChangeStreams: watch (initial aggregate command).
GridFS read APIs.

Test changes:
Add retryable reads spec test runner.
Disable retryable reads in network error tests.
2019-04-25 14:28:12 -07:00
Shane Harvey
9cca2a7d2c PYTHON-1818 Support custom type encoding in watch pipelines 2019-04-19 15:53:31 -07:00
Prashant Mital
2f2fe9db0d
PYTHON-1818 TypeCodec support for ChangeStreams 2019-04-18 18:02:12 -07:00
Shane Harvey
92ddc09b7e PYTHON-1662 Add ChangeStream.try_next API 2019-03-26 11:14:21 -07: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
994cf80c7c PYTHON-1545 Resume more getMore errors for ChangeStreams 2018-06-21 12:41:30 -07:00
Prashant Mital
96291c88b0
PYTHON-1565 Add helpers and options for Change Streams Follow-on Work (#355)
PYTHON-1565 Add helpers and options for Change Streams Follow-on Work (#355)

Add MongoClient.watch() and Database.watch().
Add start_at_operation_time to all watch() helpers.
2018-06-21 12:22:59 -07:00
Shane Harvey
9d7b4c44ce PYTHON-1338 Update change stream documentation. 2017-11-17 16:17:06 -08:00
Shane Harvey
5b5128c773 PYTHON-1394 Close ChangeStream cursor when the resume token is missing. 2017-10-30 10:28:46 -04:00
Shane Harvey
4d2825b0af PYTHON-1372 Avoid using RawBSONDocument in ChangeStream. 2017-10-30 10:28:46 -04:00
A. Jesse Jiryu Davis
fdf4436201 PYTHON-1332 - Send lsid with all commands 2017-09-29 14:52:26 -04:00
Shane Harvey
74605b73f6 PYTHON-1338 Support change stream API. 2017-09-07 17:12:45 -07:00