Hacker News new | past | comments | ask | show | jobs | submit login

I’ve been bitten by the restart limit many times. Our application server (backend) was crash looping, newest build fixed the crash, but systemd refused to restart the service due to the limit. A subtle but very annoying default behavior.



are you saying systemd was refusing to restart after manual intervention?


Correct, because the startup limit had been reached: `service start request repeated too quickly, refusing to start`.


Thats terrifying, systemd shouldn't pretend to be smarter than manual intervention.

That violates everything I ever enjoyed linux for, I left Windows because it thought it knew better than me.


Well, it's behaving as documented and following the semantics of your unit file.

Though I agree the default is poor, if it bites you more than once, write a standard template to reuse for your unit files and/or write a wrapper that calls reset-failed for you. Systemd is far from perfect, but this is a minor nuisance.


SystemD's philosophy is incompatible with UNIX principles. This statement shouldn't be controversial, yet we live in a world where SystemD criticisms are treated like heresy, and Wayland is unnecessary and unusable according to some X11 users directly contradicting most X.org maintainers and contributors.


It's not terrifying, it's mildly annoying. It's also fixed with 'systemctl reset-failed'. SysD doesn't know if 'systemctl start' was emitted by the operator or by a badly running script.


I don't think it should matter if 'systemctl start' was issued by an operator or an external script, it should try to start no matter what. SysD itself should use a different start command or flag that is subject to the limit when trying to restart after it detects a failure to start.


Hello, welcome to an init vs systemd rehash! :)


It doesn't the user just fucked up. You can always run systemctl reset-failed whatever.service


Did your deployment process/script not include restarting the service?


It does, but systemd refused to start the service because of the startup limit.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: