-
Notifications
You must be signed in to change notification settings - Fork 81
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
Reread config and restart all services on SIGHUP #1949
Comments
We've got the following services:
In general we might want to do something with them either because the configuration has changed or because we suspect that some runtime operational problem can be fixed by dropping the service state. The behavior at the moment is to reread the config and restart RPC service on SIGHUP. Originally we wanted to restart all of the other services as well, but:
What I'd probably do is:
But this uses all of the "normal" signals and maybe is an overkill. And there is always an option of full node restart which can solve any configuration/operation issue. @anatoly-bogatyrev, @realloc, thoughts, opinions? |
From the current field usage experience, we need a way to restart Consensus without disturbing RPC and WS connections giving first priority to reads/testinvoke calls in the following cases:
We also need a way to restart RPC without disturbing other services on TLS certificates update. The proposed scheme with HUP/USR1/USR2 signals is good for a start. In future it would be also nice to have this wrapped into |
That requires either some RPC extensions (with all of the associated access restriction problems), or a separate control channel (like Unix socket) which is something that we'd like to avoid as much as possible. |
Fix #1949. Also drop wallet from the ServerConfig since it's not used in any meaningful way after this change.
It's more tricky than #1892, because most of the configuration just can't be changed (all of protocol-level configuration and many application-level things), so we need to carefully read new configuration, check that nothing critical has changed and then shutdown/startup all services as configured. See #1945 also.
The text was updated successfully, but these errors were encountered: