I'd like to renew my past proposal targeted at service stop failures. The proposal was here:
It was related specifically to system shutdown and we didn't reach an agreement. Some ideas presented there were interesting, though, and I also thought about the whole concept and realized I don't need to talk specifically about system shutdown, but rather about stopping services in general. So here's a new take on that proposal.
The new idea is to talk about stopping a service and the negative effects a stop failure might have. We already have a criterion that services must start properly:
"All system services present after installation with one of the release-blocking package sets must start properly, unless they require hardware which is not present."
And it would make sense to require them to also stop properly, unconditionally. But that would immediately bring arguments like "if the service crashes while being stopped, but it has no negative effect, so what?". And that's why I'd like to specify which negative effects the act of stopping a service must not have. Something like this:
"The same set of services [1] are also expected to stop properly, without crashing, hanging or timing out groundlessly. If a service doesn't stop properly, it must not break any release-blocking functionality, immediately or in the future. An improper stop operation must also not delay system shutdown/reboot/suspend or user login/logout/switch by more than 30 seconds.
Note: Stop failures examples
As an example, manually stopping a bluetooth service, because the user wants to save battery, must not prevent the user from starting the bluetooth service again, even if the service previously didn't stop properly. Similarly, if a remote desktop service crashes after the active remote connection is disconnected or lost, it must not prevent future remote desktop connections. In both examples, it is assumed that the described functionality is considered release-blocking.
Note: System delays
The 30 seconds maximum delay for specified system actions only applies to services not stopping properly (crashing, hanging). If a service correctly performs a time-consuming task (e.g. saving the state of multiple running virtual machines during system shutdown, or applying system updates at system shutdown), that is not a violation of this criterion."
[1] Referring to the first sentence in https://fedoraproject.org/wiki/Fedora_33_Final_Release_Criteria#System_services
What do you think?
_______________________________________________ test mailing list -- test@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to test-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/test@xxxxxxxxxxxxxxxxxxxxxxx