[Question] serf initial PushPull messages delivered out of order
- Dominant language
- Go
- Stars
- 6.1k
- Forks
- 609
- Avg merge
- 15h 1m
- Merged PRs (30d)
- 3
Description
In Docker Overlay network we use serf to exchange the endpoint IP/mac across nodes. On restarting the Docker daemon on a node what I am seeing is that the user events from the initial TCP pushpull sync are delivered out of order. Its verifiable easily with the`LTime` from `serf.UserEvent`
As per this comment the client should get the events from EventCh in the right order
https://github.com/hashicorp/serf/blob/master/serf/config.go#L38
Is it guaranteed that the events are delivered in order and it could be bug here or are there factors that can introduce out of order delivery to the client (FWIW, we use a buffered channel for the events)
Since the interface up/down events are order sensitive its bit of a mess when we get the events in incorrect order.
Contributor guide
Assessment
This issue has not been assessed yet.