Skip to content

Commit a3208df

Browse files
authored
PYTHON-5059 Update default maxMessageSizeBytes and maxWriteBatchSize (#2078)
1 parent dc18231 commit a3208df

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

pymongo/common.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@
6060

6161
# Defaults until we connect to a server and get updated limits.
6262
MAX_BSON_SIZE = 16 * (1024**2)
63-
MAX_MESSAGE_SIZE: int = 2 * MAX_BSON_SIZE
63+
MAX_MESSAGE_SIZE = 48 * 1000 * 1000
6464
MIN_WIRE_VERSION = 0
6565
MAX_WIRE_VERSION = 0
66-
MAX_WRITE_BATCH_SIZE = 1000
66+
MAX_WRITE_BATCH_SIZE = 100000
6767

6868
# What this version of PyMongo supports.
6969
MIN_SUPPORTED_SERVER_VERSION = "4.0"

pymongo/hello.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ def max_bson_size(self) -> int:
133133

134134
@property
135135
def max_message_size(self) -> int:
136-
return self._doc.get("maxMessageSizeBytes", 2 * self.max_bson_size)
136+
return self._doc.get("maxMessageSizeBytes", common.MAX_MESSAGE_SIZE)
137137

138138
@property
139139
def max_write_batch_size(self) -> int:

test/test_server_description.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
from bson.int64 import Int64
2525
from bson.objectid import ObjectId
26+
from pymongo import common
2627
from pymongo.hello import Hello, HelloCompat
2728
from pymongo.server_description import ServerDescription
2829
from pymongo.server_type import SERVER_TYPE
@@ -132,11 +133,13 @@ def test_fields(self):
132133
self.assertEqual(4, s.min_wire_version)
133134
self.assertEqual(25, s.max_wire_version)
134135

135-
def test_default_max_message_size(self):
136-
s = parse_hello_response({"ok": 1, HelloCompat.LEGACY_CMD: True, "maxBsonObjectSize": 2})
137-
138-
# Twice max_bson_size.
139-
self.assertEqual(4, s.max_message_size)
136+
def test_defaults(self):
137+
s = parse_hello_response({"ok": 1, HelloCompat.LEGACY_CMD: True})
138+
self.assertEqual(common.MAX_BSON_SIZE, s.max_bson_size)
139+
self.assertEqual(common.MAX_MESSAGE_SIZE, s.max_message_size)
140+
self.assertEqual(common.MIN_WIRE_VERSION, s.min_wire_version)
141+
self.assertEqual(common.MAX_WIRE_VERSION, s.max_wire_version)
142+
self.assertEqual(common.MAX_WRITE_BATCH_SIZE, s.max_write_batch_size)
140143

141144
def test_standalone(self):
142145
s = parse_hello_response({"ok": 1, HelloCompat.LEGACY_CMD: True})

0 commit comments

Comments
 (0)