Skip to content

Commit 78a2cd7

Browse files
committed
Address review
1 parent 712024c commit 78a2cd7

File tree

6 files changed

+20
-17
lines changed

6 files changed

+20
-17
lines changed

bson/__init__.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1109,9 +1109,7 @@ def _decode_all(data: _ReadableBuffer, opts: CodecOptions[_DocumentType]) -> lis
11091109
while position < end:
11101110
obj_size = _UNPACK_INT_FROM(data, position)[0]
11111111
if data_len - position < obj_size:
1112-
raise InvalidBSON(
1113-
f"invalid object size: expected {obj_size}, got {data_len - position}"
1114-
)
1112+
raise InvalidBSON("invalid object size")
11151113
obj_end = position + obj_size - 1
11161114
if data[obj_end] != 0:
11171115
raise InvalidBSON("bad eoo")

pymongo/message.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1535,9 +1535,7 @@ def unpack(cls, msg: bytes) -> _OpMsg:
15351535
raise ProtocolError(f"Unsupported OP_MSG payload type: 0x{first_payload_type:x}")
15361536

15371537
if len(msg) != first_payload_size + 5:
1538-
raise ProtocolError(
1539-
f"Unsupported OP_MSG reply: >1 section, {len(msg)} vs {first_payload_size + 5}"
1540-
)
1538+
raise ProtocolError("Unsupported OP_MSG reply: >1 section")
15411539

15421540
payload_document = msg[5:]
15431541
return cls(flags, payload_document)

pymongo/network_layer.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -419,7 +419,7 @@ def settimeout(self, timeout: float | None) -> None:
419419
self.conn[1].settimeout(timeout)
420420

421421
async def close(self) -> None:
422-
self.conn[0].abort()
422+
self.conn[1].close()
423423
await self.conn[1].wait_closed()
424424

425425
def is_closing(self) -> bool:
@@ -656,7 +656,7 @@ def process_compression_header(self) -> tuple[int, int]:
656656
op_code, _, compressor_id = _UNPACK_COMPRESSION_HEADER(self._compression_header)
657657
return op_code, compressor_id
658658

659-
def _resolve_pending_messages(self, exc: Exception | None) -> None:
659+
def _resolve_pending_messages(self, exc: Optional[Exception] = None) -> None:
660660
pending = list(self._pending_messages)
661661
for msg in pending:
662662
if not msg.done():
@@ -666,12 +666,12 @@ def _resolve_pending_messages(self, exc: Exception | None) -> None:
666666
msg.set_exception(exc)
667667
self._done_messages.append(msg)
668668

669-
def close(self, exc: Exception | None) -> None:
670-
self._connection_lost = True
669+
def close(self, exc: Optional[Exception] = None) -> None:
670+
self.transport.abort()
671671
self._resolve_pending_messages(exc)
672-
self.transport.close()
672+
self._connection_lost = True
673673

674-
def connection_lost(self, exc: Exception | None) -> None:
674+
def connection_lost(self, exc: Optional[Exception] = None) -> None:
675675
self._resolve_pending_messages(exc)
676676
if not self._closed.done():
677677
self._closed.set_result(None)

pyproject.toml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -116,12 +116,7 @@ filterwarnings = [
116116
"module:unclosed <socket.socket:ResourceWarning",
117117
"module:unclosed <ssl.SSLSocket:ResourceWarning",
118118
"module:unclosed <socket object:ResourceWarning",
119-
# TODO: Remove the next five as part of PYTHON-5036.
120119
"module:unclosed transport:ResourceWarning",
121-
"module:unclosed <_SelectorSocketTransport:ResourceWarning",
122-
"module:Unclosed AsyncMongoClient:ResourceWarning",
123-
"module:coroutine 'AsyncMongoClient.close' was never awaited:RuntimeWarning",
124-
"module:coroutine 'UnifiedSpecTestMixinV1.kill_all_sessions' was never awaited:RuntimeWarning",
125120
# https://github.com/eventlet/eventlet/issues/818
126121
"module:please use dns.resolver.Resolver.resolve:DeprecationWarning",
127122
# https://github.com/dateutil/dateutil/issues/1314

test/asynchronous/test_client_bulk_write.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -676,8 +676,14 @@ async def test_timeout_in_multi_batch_bulk_write(self):
676676
listener = OvertCommandListener()
677677
client = await self.async_rs_or_single_client(
678678
event_listeners=[listener],
679+
readConcernLevel="majority",
680+
readPreference="primary",
679681
timeoutMS=2000,
682+
w="majority",
680683
)
684+
# Initialize the client with a larger timeout to help make test less flakey
685+
with pymongo.timeout(10):
686+
await client.admin.command("ping")
681687
with self.assertRaises(ClientBulkWriteException) as context:
682688
await client.bulk_write(models=models)
683689
self.assertIsInstance(context.exception.error, NetworkTimeout)

test/test_client_bulk_write.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -672,8 +672,14 @@ def test_timeout_in_multi_batch_bulk_write(self):
672672
listener = OvertCommandListener()
673673
client = self.rs_or_single_client(
674674
event_listeners=[listener],
675+
readConcernLevel="majority",
676+
readPreference="primary",
675677
timeoutMS=2000,
678+
w="majority",
676679
)
680+
# Initialize the client with a larger timeout to help make test less flakey
681+
with pymongo.timeout(10):
682+
client.admin.command("ping")
677683
with self.assertRaises(ClientBulkWriteException) as context:
678684
client.bulk_write(models=models)
679685
self.assertIsInstance(context.exception.error, NetworkTimeout)

0 commit comments

Comments
 (0)