[systemd-devel] difference in restart behavior between 219 and 220?

Vadim Berezniker vadim at berezniker.com
Thu Jul 9 23:14:51 PDT 2015


On Thu, Jul 9, 2015 at 8:23 PM, Andrei Borzenkov <arvidjaar at gmail.com> wrote:
> В Thu, 9 Jul 2015 14:56:55 -0700
> Vadim Berezniker <vadim at berezniker.com> пишет:
>
>> Hello,
>>
>> I have a scenario where a service restarts after a dependency failure
>> in 219, but not in 220.
>> I'm wondering if it's a systemd issue or a problem with my configuration.
>>
>> I've created a simple, but somewhat contrived repro.
>> Service A fails on first attempt, gets restarted and succeeds.
>> Service B depends on service A.
>> I attempt to start service B.
>>
>> In systemd 219, B gets restarted when A succeeds, but in 220 B remains failed.
>
> What do you mean "B is restarted"? B cannot be restarted in your case
> because B is not yet started at this point.
>
> Sounds like this is this commit:
>
> ...
>
> Does reverting it change anything?

Thanks Andrei,

That change does seem to be the reason.

If a service fails to start because a dependency fails but that dependency
successfully starts after an automatic restart, I would expect the failed
dependent to attempt to start as well now that its dependency is happy.

Had the dependent failed for other reasons than a dependency, it would
have been retried. Is there a better/different way configure the dependent
so that it's more resilient in case of dependency failures?


More information about the systemd-devel mailing list