hashicorp / hashicorp/memberlist

Unable to disable push/pull sync

Open
#78 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.