hashicorp / hashicorp/memberlist
Unable to disable push/pull sync
- Dominant language
- Go
- Stars
- 4.1k
- Forks
- 479
- Avg merge
- 15h 58m
- Merged PRs (30d)
- 3
Description
Configuration:
```
// Configure memberlist
conf := memberlist.DefaultWANConfig()
conf.AdvertisePort = port
conf.AdvertiseAddr = ip
conf.BindPort = port
conf.BindAddr = ip
conf.Name = name
conf.Events = delegate
conf.GossipNodes = 6
conf.GossipInterval = conf.GossipInterval * 5 // 2.5s
conf.PushPullInterval = 0 // this should disable PushPull based on https://github.com/hashicorp/memberlist/blob/master/config.go#L66
conf.DisableTcpPings = true
```
```
INFO[0015] memberlist - [DEBUG] memberlist: Initiating push/pull sync with: 127.0.0.1:23333
INFO[0015] memberlist - [DEBUG] memberlist: TCP connection from=127.0.0.1:59993
```
I am trying to minimize or eliminate TCP connections between nodes.
However when I start the server, it still creates TCP connections.
Does memberlist always sync state when it is joining a cluster?
Contributor guide
Research direction
Start in config.go at the PushPullInterval setting referenced in the issue, then trace the join path that logs “Initiating push/pull sync” and opens the TCP connection. Reproduce the configuration with PushPullInterval set to zero and determine whether joining always performs a sync. Done means establishing whether this is expected behavior or correcting it so the documented setting works.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems, networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100