consumerd: Automatic reconnect to relayd
consumerd unfortunatly does not handle reconnects to relayd properly.
1. If relayd is started after connection attempt from consumerd it will leave the session in disconnected state, and a restart of the session is required.
2. If relayd crashes (or just a spurious disconnect), it will also leave all consumerd:s in disconnected state and all sessions needs to be restarted.
Suggestion is to continously try to connect to relayd if in disconnected state.
If always trying continously to reconnect, it should handle all types of disconnects and/or out-of-order sequences between startup of processes, and should be a much more robust solution.
From a configuration point of view it might be good also to add (these are only suggestions!):
3. Configure N3-T3 timers, initially it might be sufficient to rely on the host tcp stack config.
4. Configure disconnected-state strategy, ->
4.1. drop-old: drop oldest events, meaning we will continue to add new events to the circular-buffer.
4.2. drop-new: drop newest events, keeping the oldest records until reconnect.
4.3. store-to-disc: If in disconnected state, fallback to store events on local disc.