You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a the reconfiguration executor runs it pushes the latest configuration settings for clickhouse-server and clickhouse-keeper to their corresponding admin servers. These servers generate the XML configuration files which the servers and keepers will automatically reload.
The latest configuration settings are pushed on every execution which runs periodically (every 30s?). We don't want to rewrite the config file and reload it every time if nothing has changed. This burns flash lifetime and leaves the door open to failures to both save the file and reload config.
Instead we should cache the configuration settings, including, most importantly, the generation number of the configuration in a file in the persistent dataset of each clickhouse server and keeper. Then on every configuration we can check to see if the configuration matches the persisted generation. Only if the pushed configuration from the executor has a newer generation do we overwrite the cached settings and rewrite the XML configuration.
While we could solely persist the generation number, we choose to persist all the pushed settings in the cache file. This is solely for debugging purposes.
The text was updated successfully, but these errors were encountered:
When a the reconfiguration executor runs it pushes the latest configuration settings for clickhouse-server and clickhouse-keeper to their corresponding admin servers. These servers generate the XML configuration files which the servers and keepers will automatically reload.
The latest configuration settings are pushed on every execution which runs periodically (every 30s?). We don't want to rewrite the config file and reload it every time if nothing has changed. This burns flash lifetime and leaves the door open to failures to both save the file and reload config.
Instead we should cache the configuration settings, including, most importantly, the generation number of the configuration in a file in the persistent dataset of each clickhouse server and keeper. Then on every configuration we can check to see if the configuration matches the persisted generation. Only if the pushed configuration from the executor has a newer generation do we overwrite the cached settings and rewrite the XML configuration.
While we could solely persist the generation number, we choose to persist all the pushed settings in the cache file. This is solely for debugging purposes.
The text was updated successfully, but these errors were encountered: