aprs.me/lib/aprsme/cluster
Graham McIntire 18d95b9a1f
fix: add timeout for cluster formation to ensure APRS-IS connection
Previously, when clustering was enabled, the leader election process
would wait indefinitely for the cluster to form. If cluster formation
failed or took too long, no leader would be elected and the APRS-IS
connection would never start, leaving the system disconnected.

Changes:
- Add 30-second timeout for cluster formation
- Force leader election after timeout, even in single-node mode
- Add election_forced flag to prevent duplicate election attempts
- Improve logging to distinguish between cluster and single-node modes

This ensures that at least one node will always connect to APRS-IS,
even if clustering fails completely.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 15:00:43 -05:00
..
connection_manager.ex Add distributed Erlang clustering for single APRS-IS connection 2025-07-25 10:30:29 -05:00
leader_election.ex fix: add timeout for cluster formation to ensure APRS-IS connection 2025-10-24 15:00:43 -05:00
packet_distributor.ex Add distributed Erlang clustering for single APRS-IS connection 2025-07-25 10:30:29 -05:00
packet_receiver.ex Add distributed Erlang clustering for single APRS-IS connection 2025-07-25 10:30:29 -05:00
topology.ex Add Cluster.Supervisor directly to application supervision tree 2025-07-25 11:03:20 -05:00