Commit 5f7a39a
fix: leader push replication when UDP discovery fails, bump wolfdisk to 2.7.5
The leader relied entirely on UDP discovery to learn about followers/clients
for push replication. If UDP was blocked (firewall, LXC bridge, different
subnet), cluster.peers() stayed empty and all broadcasts were silently dropped.
Now when a follower/client sends a SyncRequest, it includes its node_id and
bind_address. The leader registers the peer via cluster.update_peer(), allowing
the broadcast/replication threads to establish outbound TCP connections.
Also fixes stale connection in periodic re-sync: broken cached connections are
now cleaned up with disconnect_leader() so reconnection can succeed.
Co-Authored-By: CodeWolf <paul@wolf.uk.com>
Co-Authored-By: Wolf Software Systems Ltd <paul@wolf.uk.com>1 parent adec4df commit 5f7a39a
7 files changed
Lines changed: 2004 additions & 1414 deletions
File tree
- wolfdisk
- src
- fuse
- network
- replication
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
0 commit comments