We were curious if you know if a later version of pymongo would require you to have to put those timeouts in for the LMS pymongo.MongoClient configuration or not.
'socketTimeoutMS': 6000,
'connectTimeoutMS': 2000,
We received an error that event-tracking repo needed a specific version of pymongo to work when trying to install latest pymongo==4.6. Looking at PyMongo — MongoDB Drivers MongoDB compatibility and Python language you could install pymongo >= 3.10 for maple.
Looks like event-tracking repo event-tracking/requirements/base.in at 1.1.1 · openedx/event-tracking (github.com) from EdX requires pymongo>=2.7.2,<4.0.0, so we’d have to go with 3.13 version.
After upgrading pymongo==3.13.0 for Maple, based on what edx-platform master branch was doing, we noticed this warning message below. I’m curious to know if you’re getting this same warning and if EdX did anything with subprocesses (os.fork) or not prior to making a call to pymongo.MongoClient. I’m assuming that edx-platform is not multiprocessing with pymongo.MongoClient.
Pymongo UserWarning in multiprocessing · Issue #1234 · MongoEngine/mongoengine (github.com)
lms_1 | /openedx/venv/lib/python3.8/site-packages/pymongo/topology.py:175: UserWarning: MongoClient opened before fork. Create MongoClient only after forking. See PyMongo's documentation for details: https://pymongo.readthedocs.io/en/stable/faq.html#is-pymongo-fork-safe