When user.idle_timeout is present in patch.cfg, apply_patch_config() now
updates all active user sessions via usr::update_idle_timeout() and also
updates the cached metric_thresholds array for future connections.
Previously user.idle_timeout was only read at startup (usr::init()) and could
not be changed on a running node without a container restart.
Implementation:
- comm_server.hpp: added for_each_session() template to iterate live sessions
(shared with feat/dynamic-mesh-idle-timeout-from-patch-cfg)
- usr.cpp: added update_idle_timeout() which updates metric_thresholds[4] and
calls set_threshold(IDLE_CONNECTION_TIMEOUT) on all active user sessions
- conf.cpp: reads user.idle_timeout from patch.cfg in apply_patch_config(),
calls usr::update_idle_timeout() when value changes
Sibling PRs (part of dynamic config series):
- fix/dynamic-log-level-from-patch-cfg (already raised)
- feat/dynamic-mesh-idle-timeout-from-patch-cfg (already raised)
- Removing unavailable nodes from req known remotes after exceeding failed attempt threshold(10) when peer discovery is enabled.
- Maintaining dead_known_peers to check when merging peer discovery results into known remotes.
- Not broadcasting dead nodes in peer discovery responses.
* Added sync log to streamer.
* Fixed ledger closing attempt while syncing.
* Added diagnostic contract.
* Reset to stage 0 on unreliable votes.
* Reduced peer msg age threshold.
* Added health tracking.
* Weakly-connected detection improvement.
* Increased version 0.5.1.
* Improved client lib server version check.
* Added health logging support to text client.
* Added weakly connected status in status response.
* Increased max peers limits when serializing.
* Local docker cluster manual ip.
* Updated vultr script vm region order.
* Sync status reporting improvement.
* Added milliseconds to logging.