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
890cd26e1a
PYTHON-3288 Implement client side operation timeout ( #954 )
...
Add timeoutMS URI option and MongoClient keyword argument.
Add provisional/beta pymongo.timeout() api to set a deadline for a block of operations.
2022-06-06 15:36:52 -04: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
Julius Park
9562a81903
PYTHON-3119 getMore helper should explicitly send inherited comment ( #904 )
2022-03-25 16:47:18 -07:00
Steven Silvester
b3604a81d3
PYTHON-3171 Add usage of NoReturn annotation ( #901 )
2022-03-16 15:26:10 -05:00
Steven Silvester
474420b2e5
PYTHON-3085 Audit consistent and correct types for _DocumentOut ( #893 )
2022-03-16 05:56:07 -05: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
dd6c140d43
PYTHON-3060 Add typings to pymongo package ( #831 )
2022-02-02 21:12:36 -06:00
Steven Silvester
abfa0d35bc
PYTHON-3075 bulk_write does not apply CodecOptions to upserted_ids result ( #840 )
2022-02-02 13:53:58 -06:00
Shane Harvey
0fc82d9c7b
PYTHON-2763 Fix check_keys removal in encryption ( #823 )
2021-12-14 10:32:13 -08: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
Shane Harvey
797197e73b
PYTHON-2763 Remove outdated check_keys and $clusterTime logic ( #817 )
2021-12-10 10:22:49 -08: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
11752ed594
PYTHON-2899 Remove code for MongoDB <= 3.4 ( #729 )
...
Remove unneeded memoryview to bytes conversion.
2021-09-16 16:53:50 -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
Bernie Hackett
146179db53
PYTHON-2803 Eliminate the use of 'slave'
2021-09-13 12:47:24 -07:00
Shane Harvey
369d175993
PYTHON-2430 Remove all helpers in the message module ( #695 )
2021-08-06 13:33:21 -07:00
Shane Harvey
a28b05bf24
PYTHON-1410 Remove "safe" legacy messages
2021-08-04 11:29:16 -07:00
Shane Harvey
01e34cebdb
PYTHON-2769 Test redaction of replies to security-sensitive commands ( #676 )
...
Resync command monitoring and unified test format tests.
Redact entire hello response when the command started contained speculativeAuthenticate.
Make OP_REPLY cursor.cursor_id always be an Int64.
2021-07-15 14:12:11 -07:00
Prashant Mital
0e0c4fd944
PYTHON-2389 Add session support to find_raw_batches and aggregate_raw_batches ( #658 )
2021-06-30 19:14:22 -07:00
Shane Harvey
4152600ae6
PYTHON-2777 Raise client side error for snapshot reads on <5.0 ( #659 )
2021-06-29 14:40:48 -07:00
Shane Harvey
14160aed04
PYTHON-2767 Support snapshot reads on secondaries ( #656 )
...
Add the MongoClient.start_session snapshot option.
2021-06-25 16:12:12 -07:00
Prashant Mital
ff6ca53328
PYTHON-2572 Introduce NotPrimaryError and deprecate NotMasterError ( #646 )
2021-06-22 13:24:07 -07:00
Bernie Hackett
640fee9d5d
PYTHON-2556 Disable dots and dollars validation
2021-06-22 11:49:48 -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
d26bf933ed
PYTHON-1636 Support exhaust cursors in OP_MSG ( #629 )
2021-05-27 17:16:50 -07:00
Prashant Mital
209d5009e6
PYTHON-1860 Use OP_MSG for find/aggregate_raw_batches when supported ( #622 )
2021-05-19 12:05:35 -07:00
Shane Harvey
e221b49dfc
PYTHON-2684 Send Versioned API options with getMore+txn commands ( #618 )
2021-05-17 15:26:50 -07:00
Prashant Mital
048ee81836
PYTHON-2719 RawBatchCursor must raise StopIteration instead of returning empty bytes when the cursor contains no results ( #624 )
2021-05-17 13:58:06 -07:00
Bernie Hackett
521f7b9af4
PYTHON-2133 Fix up docs
...
And finish deleting python 2 specific code.
2021-01-21 15:49:23 -08:00
Bernie Hackett
e17299ab2e
PYTHON-2133 Remove u prefixes from code
2021-01-20 16:10:23 -08:00
Bernie Hackett
6c2d629006
PYTHON-2133 Remove Py2 compatibility from pymongo
2021-01-19 21:15:20 -08:00
Shane Harvey
ac2f506ba2
PYTHON-2453 Add MongoDB Versioned API ( #536 )
...
Add pymongo.server_api.ServerApi and the MongoClient server_api option.
Support Unified Test Format version 1.1 (serverParameters in
runOnRequirements)
Skip dropRole tests due to SERVER-53499.
2021-01-11 18:16:00 -08: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
Prashant Mital
6932d25639
PYTHON-2253 raise client-side error when allowDiskUse is specified with MongoDB <= 3.2
2020-06-08 18:25:19 -07:00
Shane Harvey
33c93223b1
PYTHON-1651 Publish CommandFailedEvent when bulk write fails with a network error
2020-05-12 14:42:27 -07:00
Shane Harvey
6e39ae04c3
PYTHON-2170 Add support for 4.4 hedged reads
2020-05-07 17:26:00 -07:00
Prashant Mital
651aa6aa98
PYTHON-2035: support for allowDiskUse in find() commands
2020-02-25 19:24:10 -08:00
Shane Harvey
228f716570
PYTHON-2059 Do not send readPreference with OP_MSG getMore commands
2019-12-03 12:29:01 -08:00
Shane Harvey
083c2474da
PYTHON-2055 Subtract message header from compressed bulk OP_MSG
...
This change prevents pymongo from generating a bulk OP_COMPRESSED/OP_MSG
with an uncompressed message larger than the server's limit of
maxMessageSizeBytes - 16.
2019-11-14 16:24:08 -08:00
Shane Harvey
a3556c4447
PYTHON-2012 Update FLE to support commands larger than 6MiB
...
Bulk write command are batched at 2MiB when auto encryption is enabled.
2019-11-12 15:24:09 -08:00
Prashant Mital
f62c53f472
PYTHON-2020 Make ClientSession._in_transaction a public property
2019-11-01 16:58:38 -07:00
Prashant Mital
ef3df1663c
PYTHON-1918 Stop using BSON.encode and BSON.decode functions
2019-09-09 18:06:46 -07:00
Shane Harvey
55c8bdd346
PYTHON-1939 Add prose tests for BSON size limits and batch splitting
2019-08-13 13:35:55 -07:00
Shane Harvey
7d76ee2276
PYTHON-1884 Support auto encryption in bulk write
...
Close KMS sockets.
Call pymongocrypt's init method.
2019-08-06 14:54:23 -07:00
Shane Harvey
58866319f9
PYTHON-1884 Support auto encryption in cursors
2019-08-06 14:54:23 -07:00
Shane Harvey
8888e977f8
PYTHON-1884 Support auto encryption in network.command
...
Add encryption I/O callbacks.
Add mongocryptd process management.
Add simple test for auto encryption round trip.
2019-08-06 14:54:23 -07:00
Shane Harvey
7f4c504560
PYTHON-1674 Refactor Cursor/CommandCursor.__send_message
...
Move exhaust getMore out of Cursor.
Move cursor command response decoding into Server so that all command
listener events can be published in the same location.
2019-04-25 14:27:41 -07:00
Prashant Mital
749116287a
PYTHON-1783 Decode user-facing documents but not internal driver-server
...
communications.
2019-04-16 15:01:42 -07:00