diff --git a/test/asynchronous/unified_format.py b/test/asynchronous/unified_format.py index ea61ecbe99..db5ed81e24 100644 --- a/test/asynchronous/unified_format.py +++ b/test/asynchronous/unified_format.py @@ -76,6 +76,7 @@ from pymongo.asynchronous.helpers import anext from pymongo.encryption_options import _HAVE_PYMONGOCRYPT from pymongo.errors import ( + AutoReconnect, BulkWriteError, ClientBulkWriteException, ConfigurationError, @@ -755,9 +756,10 @@ async def kill_all_sessions(self): for client in clients: try: await client.admin.command("killAllSessions", []) - except OperationFailure: + except (OperationFailure, AutoReconnect): # "operation was interrupted" by killing the command's # own session. + # On 8.0+ killAllSessions sometimes returns a network error. pass async def _databaseOperation_listCollections(self, target, *args, **kwargs): diff --git a/test/asynchronous/utils_spec_runner.py b/test/asynchronous/utils_spec_runner.py index 4d9c4c8f20..f27f52ec2c 100644 --- a/test/asynchronous/utils_spec_runner.py +++ b/test/asynchronous/utils_spec_runner.py @@ -46,7 +46,7 @@ from pymongo.asynchronous import client_session from pymongo.asynchronous.command_cursor import AsyncCommandCursor from pymongo.asynchronous.cursor import AsyncCursor -from pymongo.errors import BulkWriteError, OperationFailure, PyMongoError +from pymongo.errors import AutoReconnect, BulkWriteError, OperationFailure, PyMongoError from pymongo.read_concern import ReadConcern from pymongo.read_preferences import ReadPreference from pymongo.results import BulkWriteResult, _WriteResult @@ -343,9 +343,10 @@ async def kill_all_sessions(self): for client in clients: try: await client.admin.command("killAllSessions", []) - except OperationFailure: + except (OperationFailure, AutoReconnect): # "operation was interrupted" by killing the command's # own session. + # On 8.0+ killAllSessions sometimes returns a network error. pass def check_command_result(self, expected_result, result): diff --git a/test/unified_format.py b/test/unified_format.py index 1bcd750aef..3489a8ac84 100644 --- a/test/unified_format.py +++ b/test/unified_format.py @@ -69,6 +69,7 @@ from pymongo import ASCENDING, CursorType, MongoClient, _csot from pymongo.encryption_options import _HAVE_PYMONGOCRYPT from pymongo.errors import ( + AutoReconnect, BulkWriteError, ClientBulkWriteException, ConfigurationError, @@ -751,9 +752,10 @@ def kill_all_sessions(self): for client in clients: try: client.admin.command("killAllSessions", []) - except OperationFailure: + except (OperationFailure, AutoReconnect): # "operation was interrupted" by killing the command's # own session. + # On 8.0+ killAllSessions sometimes returns a network error. pass def _databaseOperation_listCollections(self, target, *args, **kwargs): diff --git a/test/utils_spec_runner.py b/test/utils_spec_runner.py index 8a061de0b1..8b2679d776 100644 --- a/test/utils_spec_runner.py +++ b/test/utils_spec_runner.py @@ -43,7 +43,7 @@ from bson.son import SON from gridfs import GridFSBucket from gridfs.synchronous.grid_file import GridFSBucket -from pymongo.errors import BulkWriteError, OperationFailure, PyMongoError +from pymongo.errors import AutoReconnect, BulkWriteError, OperationFailure, PyMongoError from pymongo.read_concern import ReadConcern from pymongo.read_preferences import ReadPreference from pymongo.results import BulkWriteResult, _WriteResult @@ -343,9 +343,10 @@ def kill_all_sessions(self): for client in clients: try: client.admin.command("killAllSessions", []) - except OperationFailure: + except (OperationFailure, AutoReconnect): # "operation was interrupted" by killing the command's # own session. + # On 8.0+ killAllSessions sometimes returns a network error. pass def check_command_result(self, expected_result, result):