[jboss-jira] [JBoss JIRA] (JGRP-1878) Multicast discovery does not work on JDK8

Radoslav Husar (JIRA) issues at jboss.org
Sun Sep 7 06:47:00 EDT 2014


    [ https://issues.jboss.org/browse/JGRP-1878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12999162#comment-12999162 ] 

Radoslav Husar edited comment on JGRP-1878 at 9/7/14 6:46 AM:
--------------------------------------------------------------

I may have tracked down the JDK8 changes that are responsible for the behavior change we are observing:

JDK8 Discussion
http://mail.openjdk.java.net/pipermail/net-dev/2013-May/006246.html

JDK8 Issues
https://bugs.openjdk.java.net/browse/JDK-8014499
http://bugs.java.com/view_bug.do?bug_id=8014499
http://bugs.java.com/view_bug.do?bug_id=8014377

JDK8 Commits
http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/bf2bacf934d1
http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/cd06fc069152

What this is esentially doing, they are now setting IP_MULTICAST_ALL=0 for DatagramChannels on Linux which is supported since kernel version 2.6.31 (http://man7.org/linux/man-pages/man7/ip.7.html).

With JDK8 binding to different addresses on the same machine, the processes are not going to receive each other's messages.

Some further reading:
https://bugzilla.redhat.com/show_bug.cgi?id=231899
http://marc.info/?l=linux-netdev&m=121579002105636&w=2


was (Author: rhusar):
I may have tracked down the JDK8 changes that are responsible for the behavior change we are observing:

Issues:
https://bugs.openjdk.java.net/browse/JDK-8014499
http://bugs.java.com/view_bug.do?bug_id=8014499
http://bugs.java.com/view_bug.do?bug_id=8014377

Commits
http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/bf2bacf934d1
http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/rev/cd06fc069152

What this is esentially doing, they are now setting IP_MULTICAST_ALL=0 for DatagramChannels on Linux which is supported since kernel version 2.6.31 (http://man7.org/linux/man-pages/man7/ip.7.html).

With JDK8 binding to different addresses on the same machine, the processes are not going to receive each other's messages.

Some further reading:
https://bugzilla.redhat.com/show_bug.cgi?id=231899
http://marc.info/?l=linux-netdev&m=121579002105636&w=2

> Multicast discovery does not work on JDK8
> -----------------------------------------
>
>                 Key: JGRP-1878
>                 URL: https://issues.jboss.org/browse/JGRP-1878
>             Project: JGroups
>          Issue Type: Bug
>    Affects Versions: 3.2.12, 3.5
>         Environment: OpenJDK8, OracleJDK8u40
>            Reporter: Radoslav Husar
>            Assignee: Radoslav Husar
>            Priority: Minor
>             Fix For: 3.2.14, 3.6
>
>         Attachments: mcast.java
>
>
> Multicast discovery does not work on JDK8 when using different bind IP addresses. This blocks EAP certification on JDK8.
> Steps to reproduce with draw, switch to JDK8:
> {noformat}
> export IP_ADDR=127.0.0.1
> ./draw.sh
> export IP_ADDR=192.168.1.10
> ./draw.sh
> {noformat}
> Everything works when binding to the same IP address or using JDK 6 or 7. Possibly a JDK8 bug..



--
This message was sent by Atlassian JIRA
(v6.3.1#6329)


More information about the jboss-jira mailing list