MongoDB¶
Here, you find possible solutions to problems that can occur with MongoDB when installing or running PLOSSYS Output Engine.
Reduce Memory Usage of MongoDB¶
If MongoDB is using to much memory and fails, reduce its cache size:
-
On the Output Engine server, open the configuration file of MongoDB in an editor:
C:\ProgramData\SEAL Systems\config\mongod.conf -
Add the following lines to
storageto reduce the cache size. Adapt the value as needed.wiredTiger: engineConfig: cacheSizeGB: 2Example of mongod.conf
storage: dbPath: /opt/seal/data/seal-mongodb wiredTiger: engineConfig: cacheSizeGB: 2
Reduce Size of MongoDB¶
If you need to reduce the size of MongoDB, use the compact command of MongoDB. For how to use it, refer to the Manual Reference of MongoDB.
Check Certificate Validity for MongoDB¶
If your SSL certificate is not valid anymore, MongoDB can crash with a fatal assertion 28652 and cause your complete system to stand still.
If this happens, apply this temporary workaround:
-
On the Output Engine server, open the configuration file of MongoDB in an editor:
C:\ProgramData\SEAL Systems\config\mongod.conf -
Replace the following line:
CAFile: C:\ProgramData\SEAL Systems\config\tls\ca.pemby this line:
allowInvalidCertificates: true -
Save the configuration file.
-
Restart MongoDB:
- Windows:
restart-service seal-mongodb - Linux:
sudo systemctl restart mongod
- Windows:
If the problem has been verified this way, continue with the following:
- Check the system time. Is the date set correctly?
-
Check the validity of the PEM file.
Hint - how to check PEM files
You can use the openssl commands to explore the details of a certificate. For example:
openssl x509 -in mycert.pem -text -nooutIf you don't have openssl installed, you can use a web tool to check the certificate.
-
If needed, replace the the invalid certificate file with a new PEM file.
- Undo the previous temporary changes in the configuration file of MongoDB.
- Restart MongoDB.
Database Lock Timeout¶
If an error message containing Unable to acquire lock ... within a max lock request timeout of '5ms' milliseconds. is shown in the seal-controller log, the system is temporarily overloaded and the transaction lock timeout needs to be increased.
Add the following line in the setParameter: section in mongod.conf:
setParameter:
...
maxTransactionLockRequestTimeoutMillis: 30000
...