question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Network.ToEndPoint method does not seem to support a dns based endpoint

See original GitHub issue

Hello,

I am trying to change my cluster to run in containers and am having a problem with configuring the members. Since docker assigns them their own IPs and makes the nodes available through a dns system (eg https://mydockerraftnodeservice), I have configured the members collection to use the service name. However, when I attempt to bring up the cluster, the constructor of the RaftClusterMember class tries to convert the member to an endpoint and fails since it is not a loopback endpoint:

internal static IPEndPoint? ToEndPoint(this Uri memberUri)
{
    switch (memberUri.HostNameType)
    {
        case UriHostNameType.IPv4:
        case UriHostNameType.IPv6:
            return new IPEndPoint(IPAddress.Parse(memberUri.Host), memberUri.Port);
        case UriHostNameType.Dns:
            return memberUri.IsLoopback ? new IPEndPoint(IPAddress.Loopback, memberUri.Port) : null;
        default:
            return null;
    }
}

This is a problem since I do not know the IPs of the containers ahead of time and since the standard way to refer to the containers is through dns.

Do you have any ideas?

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:55

github_iconTop GitHub Comments

1reaction
saknocommented, Jan 20, 2021

Everything is merged with develop branch.

1reaction
saknocommented, Jan 20, 2021

Ok, let’s summarize the upcoming work from my side:

  • I’ll add hostNameHint configuration property
  • Async local member selector is already implemented in branch dns-support-3.x. I need to merge it to develop branch.
  • I cannot add GetReader to IRaftLogEntry interface because it’s not recommended way to decode log entries due to performance reasons (boxing or instantiation of the object for each log entry on high workload produces a lot of garbage).

Not sure that publishing of 3.x as pre-release is a good idea. It will take the time. I’d rather spend the time preparing the final release. Anyway, I’ll think about this.

Read more comments on GitHub >

github_iconTop Results From Across the Web

503 Service Unavailable (Failed to connect to endpoint
Hello guys good evening, I was encountered this error on my host machine when accessing the vcenter server with vSphere Client (HTML5) -...
Read more >
Traffic Manager endpoint monitoring - Azure
An endpoint with a Stopped status isn't monitored. It isn't included in DNS responses and doesn't receive traffic. An exception is if all ......
Read more >
Endpoint Agents
The ThousandEyes Endpoint Agent is an application that is installed on Windows or macOS machines to collect network- and application-layer performance data ...
Read more >
Network | Apple Developer Forums
I'm trying to use Network framework for a UDP connection. It works, I get traffic flowing both ways when UDP server is responding,...
Read more >
Configuring Endpoint Profiling Policies
Deploying the Profiler Service to understand how the profiler service is enabled in the Cisco ISE distributed deployment. A probe is a method...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found