Comments (4)
Agreed 👍
from memberlist.
Looking at https://golang.org/src/net/dnsclient_unix.go#L162, Go's built-in DNS client already does the right thing and asks over TCP if the UDP response is truncated. I'll do a little extra sanity checking but I think we might be done here! Adding SRV support would be a nice addition.
from memberlist.
Confirmed the behavior, if you set up the Consul agent to report truncation properly then the Go DNS client will use TCP and pull the full list:
{
"dns_config": {
"enable_truncate": true
}
}
This kind of sucks though because we only really want this behavior for joining, it's not good in general to turn on truncation, especially with Consul's DNS where you only care about the first few because they are shuffled.
from memberlist.
Got a PR up for review. I decided against doing a SRV lookup because there's some ambiguity about port numbers because we have multiple gossip pools so this could lead to some confusion about which one we want to connect to. This keeps the current behavior of using the port if supplied, but otherwise using the configured port.
from memberlist.
Related Issues (20)
- Memberlist.Members safe use docstring HOT 2
- StateLeft members are never reaped HOT 3
- Node pointer passed to NodeJoin channel event delegate has no meta HOT 1
- Failed ping error running inside container
- Too many pending push/pull requests
- DATA RACE in invokeAckHandler
- How to detect and react to TCP only failures
- release new version HOT 2
- Feature request: Update state of node in memberlist
- MacOS arm64 support
- Data race in memberlist.go
- Is there a way to retrieve the member list without joining?
- "No private IP address found" error throwed on MacOS
- Is there any interface can I know when the cluster states got converged. HOT 1
- Question/Help: Anything need to be taken into consideration when implement a customize Transport with grpc
- Is it feasible to reuse the gassip port for grpc service? HOT 1
- `Join` with context cancelation
- Checking the state of the Node in NotifyLeave
- Can nodes be identify each MEMBERLIST without using UDP connections?
- memberlist fails in large-scale clusters HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from memberlist.