You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Bug: MongoDB container is reported ready before the server accepts connections #1122
When a root user is configured, which MongoDbContainer always does, the mongo image starts twice. A temporary server listening only on localhost creates the user and exits, then the real server starts. Both log "Waiting for connections", and the container's wait strategy matches the first one. So start() returns while no server is reachable from outside the container, and on a slow host the client times out before the real server is up.
I expected start() to return once the real server accepts connections. A line only the real server logs is the "Listening on" entry with address 0.0.0.0 (JSON logs, MongoDB 4.4 and newer), and waiting for r'"Listening on".*"address":"0\.0\.0\.0"' makes the snippet below pass.
To Reproduce
fromtestcontainers.mongodbimportMongoDbContainer# Limit the container to a tenth of a CPU, as a busy CI runner would.withMongoDbContainer("mongo:7").with_kwargs(nano_cpus=100_000_000) asmongo:
client=mongo.get_connection_client()
print(client.admin.command("ping"))
Activity