-
Type: Bug
-
Resolution: Duplicate
-
Priority: Critical - P2
-
None
-
Affects Version/s: 4.0.11
-
Component/s: None
-
None
-
ALL
Hello!
I noticed quite serious issue in your official systemd unit file for MongoDB 4.0.11 in Ubuntu 18.04.
Your current systemd unit file looks like:
[Unit] Description=MongoDB Database Server After=multi-user.target Documentation=https://docs.mongodb.org/manual[Service] User=mongodb Group=mongodb EnvironmentFile=-/etc/default/mongod ExecStart=/usr/bin/mongod --config /etc/mongod.conf PIDFile=/var/run/mongodb/mongod.pid # file size LimitFSIZE=infinity # cpu time LimitCPU=infinity # virtual memory size LimitAS=infinity # open files LimitNOFILE=64000 # processes/threads LimitNPROC=64000 # locked memory LimitMEMLOCK=infinity # total threads (user+kernel) TasksMax=infinity TasksAccounting=false# Recommended limits for for mongod as specified in # http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings[Install] WantedBy=multi-user.target
You may notice two following sections:
After=multi-user.target ... [Install] WantedBy=multi-user.target
First "After" is not required at all. Systemd will run service on multi-user.target level because you have correct configuration in "Install" section.
And this "After=multi-user.target" dependency causes serious problems for any service which runs on same run level but requires mongodb because it creates dependency cycle which prevents proper loading of application which depend on MongoDB.
It may happen with any application which configured this way:
[Unit] Description=App with MongoDB dependency After=mongod.service [Service] Type=forking ExecStart=... PIDFile=... [Install] WantedBy=multi-user.target
It will cause following issues from systemd perspective:
[ 3.649328] systemd[1]: multi-user.target: Found ordering cycle on app.service/start
[ 3.658031] systemd[1]: multi-user.target: Found dependency on mongod.service/start
[ 3.665973] systemd[1]: multi-user.target: Found dependency on multi-user.target/start
[ 3.674482] systemd[1]: multi-user.target: Job app.service/start deleted to break ordering cycle starting with multi-user.target/start
Please check this issue. It's quite serious one because it causes issues for any application which depends on MongoDB.
- duplicates
-
SERVER-42603 Recent service file change may cause cyclic dependencies
- Closed