-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Akka.Cluster / Akka.Remote uses ipv6 instead of ipv4 in ipv4 environment #2194
Comments
I thought that the problem is in docker configuration. It is showing system ipv6 support, but no network connectivity. So I managed to completely wipe out ipv6 from system configuration.
|
As far as I could trace problem in Helios - DNS resolving is ok. The hostname resolved in correct ipv4 address. It seems to me that problem is in server, accepting connections and corrupting addresses... I'll try to catch it. So it is internal Helios problem... |
@Aaronontheweb I've finally found the cause of this trouble, but, to be honest, I don't know what to do with it.
I tried to make a hack and set Unfortunately, the |
@kantora I had looked at this with the DNS stuff in 1.1.1; had not tested any of this on Mono, so thanks for looking into it. Looks like socket treatment on Mono is a bit different than Windows. I'll see about patching this in a new Helios release. |
In some environments (for example Azure WebApp) default AdressFamily for Socket is determined incorrectly. Changed to get it explicitly from config
In some environments (for example Azure WebApp) default AdressFamily for Socket is determined incorrectly. Changed to get it explicitly from config
Looks like there are some issues in Mono 4.x related to DNS and IPV6 - not strictly related to this, but where there's smoke there's fire... https://bugzilla.xamarin.com/show_bug.cgi?id=35536 |
I am not sure but is this related to the fix I did in Mono a while ago now: On Tue, Aug 16, 2016 at 4:07 PM Aaron Stannard notifications@github.com
|
For some context sorry this was during my efforts to get akka running under Cheers On Tue, Aug 16, 2016 at 4:12 PM Stefan Sedich stefan.sedich@gmail.com
|
@stefansedich yep, looks like the issue. I was just able to recreate the problem on Windows by making some tweaks to the way Helios boots up. Looks like not correctly supporting dual-mode sockets is the problem. Do you know if this has been included in a Mono release since? |
It was merged into master I would think 6 months ago now, have not been On Tue, Aug 16, 2016 at 4:16 PM Aaron Stannard notifications@github.com
|
Actually I stand corrected - the issue is that a Under Windows the socket defaults to the highest supported IP protocol. IPV6 in our case. And if you pass in an IPV4 address to an IPV6 socket, no big deal - the platform can handle that just fine. Under Mono the socket address defaults to |
Ok no problems, https://bugzilla.xamarin.com/show_bug.cgi?id=36192 was the exact bug I found and it seems like it is fixed as part of 4.4, this will also be an issue for getting all tests running under Mono as this fix was something that helped me get further. Anyway I saw mono and thought I would chime in, enjoy the pain :)! |
@kantora Yep, you're right on. I saw that @andreyleskov has some changes in his Akka.NET fork to try to resolve this issue. I'll try to tackle this from the Helios end as well since Helios' own test suite doesn't pass on Mono at the moment. @stefansedich we need you back in .NET land buddy |
Hi, @Aaronontheweb, @kantora I've faced same problem running Akka.Net in Azure WebApp. |
@andreyleskov correct me if I'm wrong, but won't 100% of Mono users need to have this setting turned on in order for Akka.Remote to work as expected? |
@Aaronontheweb seems yes, I'll add Mono runtime autodetect. My specific case is related to Azure environment, but it looks identical to Mono issue. |
ah, so there are some Windows environments that have this issue as well? @andreyleskov |
added new config setting - enforce-ip-family to overcome socket ipv4 \ ipv6 issue in Mono and Azure WebApp environments for mono setting will defaulted to true added tests for new functionality added setting description to Remote.conf (+2 squashed commit)
added new config setting - enforce-ip-family to overcome socket ipv4 \ ipv6 issue in Mono and Azure WebApp environments for mono setting will defaulted to true added tests for new functionality added setting description to Remote.conf (+2 squashed commit)
added new config setting - enforce-ip-family to overcome socket ipv4 \ ipv6 issue in Mono and Azure WebApp environments for mono setting will defaulted to true added tests for new functionality added setting description to Remote.conf (+2 squashed commit)
close akkadotnet#2254 close akkadotnet#2195 close akkadotnet#2194 close akkadotnet#1594 close akkadotnet#1110
close akkadotnet#2254 close akkadotnet#2195 close akkadotnet#2194 close akkadotnet#1594 close akkadotnet#1110
close akkadotnet#2254 close akkadotnet#2195 close akkadotnet#2194 close akkadotnet#1594 close akkadotnet#1110
close akkadotnet#2254 close akkadotnet#2195 close akkadotnet#2194 close akkadotnet#1594 close akkadotnet#1110
close akkadotnet#2254 close akkadotnet#2195 close akkadotnet#2194 close akkadotnet#1594 close akkadotnet#1110
At first. I've reported it in #2161, but suppose it is some separate bug.
Have the Docker / Ubuntu / Mono environment.
Updated to the latest Akka.Net night build (1.1.1.248-beta) and Helios 2.1.2.
There are one seed node and several worker nodes.
Remote is configured with fixed port,
0.0.0.0
hostname
andpublic-hostname
according to the container name. All names are resolved ok into the correct ipv4 address.Unfortunately, a cluster is not formed. I see nothing in worker node logs and sometimes errors in the seed node logs:
As for windows environment
::ffff:172.18.0.2
and172.18.0.2
are the same addresses, But in linux (as for mine configuration) are not.The text was updated successfully, but these errors were encountered: