hashicorp / hashicorp/serf

[Question] serf initial PushPull messages delivered out of order

Open
#448 1 comment 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.