0

I have an application that uses Mongo 4.2, working correctly. I'm upgrading it to Mongo 4.4 (my only change has been that I've changed that version in my docker-compose) and I'm getting now the following error

ERROR - ChangeStream(DtaSystem) failure (retry 2): mongo:27017:
[Errno -2] Name or service not known, Timeout: 30s, Topology Description: <TopologyDescription id: 64637f453b6db73ab7c869ea, topology_type: Single, servers: [<ServerDescription ('mongo', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mongo:27017: [Errno -2] Name or service not known')>]> - {"name": "dta", "args": null, "levelname": "ERROR", "levelno": 40, "pathname": "/opt/app/src/common/database/changestream.py", "filename": "changestream.py", "module": "changestream", "exc_info": null, "exc_text": "Traceback (most recent call last):

File \"/opt/app/src/common/database/changestream.py\", line 61, in run
async with self._collection.watch(full_document=\"updateLookup\") as self._cursor:

File \"/usr/local/lib/python3.10/site-packages/motor/core.py\", line 1784, in __aenter__
await self._framework.run_on_executor(loop, self._lazy_init)

File \"/usr/local/lib/python3.10/concurrent/futures/thread.py\", line 58, in run   
result = self.fn(*self.args, **self.kwargs)

File \"/usr/local/lib/python3.10/site-packages/motor/core.py\", line 1665, in _lazy_init
self.delegate = self._target.delegate.watch(

File \"/usr/local/lib/python3.10/site-packages/pymongo/collection.py\", line 2846, in watch
return CollectionChangeStream(

File \"/usr/local/lib/python3.10/site-packages/pymongo/change_stream.py\", line 120, in __init__
self._cursor = self._create_cursor()

File \"/usr/local/lib/python3.10/site-packages/pymongo/change_stream.py\", line 209, in _create_cursor    with self._client._tmp_session(self._session, close=False) as s:

File \"/usr/local/lib/python3.10/contextlib.py\", line 135, in __enter__
return next(self.gen)

File \"/usr/local/lib/python3.10/site-packages/pymongo/mongo_client.py\", line 2040, in _tmp_session
s = self._ensure_session(session)

File \"/usr/local/lib/python3.10/site-packages/pymongo/mongo_client.py\", line 2027, in _ensure_session
return self.__start_session(True, causal_consistency=False)

File \"/usr/local/lib/python3.10/site-packages/pymongo/mongo_client.py\", line 1976, in __start_session 
server_session = self._get_server_session()

File \"/usr/local/lib/python3.10/site-packages/pymongo/mongo_client.py\", line 2013, in _get_server_session
return self._topology.get_server_session()

File \"/usr/local/lib/python3.10/site-packages/pymongo/topology.py\", line 525, in get_server_session
session_timeout = self._check_session_support()

File \"/usr/local/lib/python3.10/site-packages/pymongo/topology.py\", line 507, in _check_session_support
self._select_servers_loop(

File \"/usr/local/lib/python3.10/site-packages/pymongo/topology.py\", line 226, in _select_servers_loop
raise ServerSelectionTimeoutError(
pymongo.errors.ServerSelectionTimeoutError: mongo:27017: 
[Errno -2] Name or service not known, Timeout: 30s, Topology Description: <TopologyDescription id: 64637f453b6db73ab7c869ea, topology_type: Single, servers: [<ServerDescription ('mongo', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mongo:27017: [Errno -2] Name or service not known')>]>", "stack_info": null, "lineno": 74, "funcName": "run", "created": 1684242275.858626, "msecs": 858.0, "relativeCreated": 32486.500024795532, "thread": 140485789865792, "threadName": "MainThread", "processName": "MainProcess", "process": 16, "queue_name": "Main dta-services context", "time_millis": 1684242275858, "message": "ChangeStream(DtaSystem) failure (retry 2): mongo:27017: [Errno -2] Name or service not known, Timeout: 30s, Topology Description: <TopologyDescription id: 64637f453b6db73ab7c869ea, topology_type: Single, servers: [<ServerDescription ('mongo', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('mongo:27017: [Errno -2] Name or service not known')>]>"}

It looks like something has changed in the way we need to define ChangeStreams in 4.4 that is not backwards compatible with 4.2 but I can't find anything in the documentation.

Is this documented somewhere/do you know what we need to change in my configuration?

rickhg12hs
  • 10,638
  • 6
  • 24
  • 42
Carabes
  • 532
  • 2
  • 4
  • 16
  • When do you get this error? What is the code/app/command that throws this error? Does `mongod.log` show any warnings/errors/failures? – rickhg12hs May 16 '23 at 20:37

0 Answers0