Dear Maintainer,
I recently noticed that the systemd unit file distributed with this
package does not specify any Restart= policy. According to the systemd
documentation, this means the implicit default of Restart=no is used.
This is rather sad, as any bug in the server (such as one that leads to
its segfault) will render the service disabled without recovering
automatically.
I've recently ran into that situation:
Jan 16 16:17:07 REDACTED ns-slapd[166]: [16/Jan/2023:16:17:07.675187250 +0000] - NOTICE - bdb_db_compact_one_db - compactdb: compact userRoot - 1 pages freed
Jan 16 16:17:07 REDACTED systemd[1]: dirsrv@ldap.service: Main process exited, code=killed, status=11/SEGV
Jan 16 16:17:07 REDACTED systemd[1]: dirsrv@ldap.service: Failed with result 'signal'.
Jan 16 16:17:07 REDACTED systemd[1]: dirsrv@ldap.service: Consumed 3h 5min 10.445s CPU time.
Now of course in an ideal world processed would never segfault.
However, that's besides the point. A vital service like LDAP should
attempt to recover/respawn after it crashes for whatever reason.
So I would like to suggest that a "Restart=always" line is added to the
dirsrv@.service file.