Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xrootd change runtime configuration without restart (debug/logging) #1499

Closed
juztas opened this issue Aug 30, 2021 · 4 comments
Closed

xrootd change runtime configuration without restart (debug/logging) #1499

juztas opened this issue Aug 30, 2021 · 4 comments
Assignees

Comments

@juztas
Copy link
Contributor

juztas commented Aug 30, 2021

Restart in most cases is not the best solution as it will evict all the clients connected. It would be nice to have an option to increase debug level for any component without a service restart. Is there such?
e.g. I want to set to xrootd.trace emsg stall redirect fs or change to xrootd.trace all -debug without restart.

@abh3
Copy link
Member

abh3 commented Aug 30, 2021 via email

@adriansev
Copy link
Contributor

Maybe it would be enough if a SIGUSR sent to process would make it to put pause to all incoming requests (somehow), reset all configuration to defaults and then re-read the configuration files? (with the assumption that the ongoing operations have already a set of properties/configs and can go on)

@abh3
Copy link
Member

abh3 commented Aug 30, 2021

Whi;le such an approach is doable for simple services, the complex nature of the server makes is unfeasable. Consider that each plugin would have to re-initialize and persistent state may get invalidated and providing consistency across a existing sesssions would be incredibly difficult if not impossible. Instead, we chose to provide recoverability via the client. Restating a server should not fail any existing client as it simply reconnects after a restart and continues where it left off if the new configuration allows it (think, among other issues like changes in security or exports). That has proven to be the most reliable way allow on-the-fly configuration changes.

@abh3 abh3 self-assigned this Aug 30, 2021
@abh3
Copy link
Member

abh3 commented Sep 29, 2022

There is way too much interrelated information that is constructed during initialization and to reconstruct would effectively squelch the server which is about the same as doing a restart. Add to that, this would be a massive change to the internal initialization of not only the base server but every plugin. So, I'd say this cannot be practically done.

@abh3 abh3 closed this as completed Sep 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants