[
https://issues.jboss.org/browse/WFLY-4936?page=com.atlassian.jira.plugin....
]
Radoslav Husar commented on WFLY-4936:
--------------------------------------
Update: The approach to use the property does not work because of a issue in JDK. It fails
with the following:
{noformat}
19:10:26,686 ERROR [stderr] (main) Class not found:
java.net.TwoStacksPlainInet6AddressImpl:
19:10:26,686 ERROR [stderr] (main) check impl.prefix property in your properties file.
java.lang.Error: System property impl.prefix incorrect
at java.net.InetAddress.loadImpl(InetAddress.java:1548)
at java.net.InetAddressImplFactory.create(InetAddress.java:1622)
at java.net.InetAddress.<clinit>(InetAddress.java:952)
at java.net.NetworkInterface.init(Native Method)
at java.net.NetworkInterface.<clinit>(NetworkInterface.java:64)
at sun.security.provider.SeedGenerator.addNetworkAdapterInfo(SeedGenerator.java:233)
at sun.security.provider.SeedGenerator.access$000(SeedGenerator.java:80)
at sun.security.provider.SeedGenerator$1.run(SeedGenerator.java:183)
at sun.security.provider.SeedGenerator$1.run(SeedGenerator.java:168)
at java.security.AccessController.doPrivileged(Native Method)
at sun.security.provider.SeedGenerator.getSystemEntropy(SeedGenerator.java:168)
at
sun.security.provider.SecureRandom$SeederHolder.<clinit>(SecureRandom.java:201)
at sun.security.provider.SecureRandom.engineNextBytes(SecureRandom.java:221)
at java.security.SecureRandom.nextBytes(SecureRandom.java:468)
at java.util.UUID.randomUUID(UUID.java:145)
at
org.jboss.as.controller.operations.common.ProcessEnvironment.obtainProcessUUID(ProcessEnvironment.java:192)
at org.jboss.as.server.ServerEnvironment.<init>(ServerEnvironment.java:567)
at org.jboss.as.server.Main.determineEnvironment(Main.java:297)
at org.jboss.as.server.Main.main(Main.java:94)
at org.jboss.modules.Module.run(Module.java:308)
at org.jboss.modules.Main.main(Main.java:487)
{noformat}
So we can supply a property "impl.prefix" to choose an implementation for
DatagramSocket. But the same property is used to pick up implementation for InetAddress.
Though, there is no such "TwoStackPlainInet6AddressImpl", therefore the default
implementation should be loaded but due to probably a bug in JDK this fails since the
Class.forName is not being passed a fully-qualified class name.
https://github.com/openjdk-mirror/jdk/blob/jdk8u/jdk8u/master/src/share/c...
The code to call java.net.DatagramSocket#setDatagramSocketImplFactory is very fragile so
unless we will really have to this this, we won't.
So on hold now.
JGroups: failed setting ip_ttl on windows with dual-stack IPv6 with
"Method not implemented!"
---------------------------------------------------------------------------------------------
Key: WFLY-4936
URL:
https://issues.jboss.org/browse/WFLY-4936
Project: WildFly
Issue Type: Enhancement
Components: Clustering
Affects Versions: 10.0.0.Alpha1
Reporter: Jeff Mesnil
Assignee: Radoslav Husar
Priority: Minor
Fix For: 10.0.0.CR4
{noformat}
10:18:14,721 SEVERE [org.jgroups.protocols.UDP] (Thread-0
(ActiveMQ-server-ActiveMQServerImpl::serverUUID=34818b2c-2b93-11e5-aeb7-199c6bd1db3c-31443612))
failed setting ip_ttl: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.jgroups.protocols.UDP.setTimeToLive(UDP.java:339)
at org.jgroups.protocols.UDP.createSockets(UDP.java:368)
at org.jgroups.protocols.UDP.start(UDP.java:270)
at org.jgroups.stack.ProtocolStack.startStack(ProtocolStack.java:965)
at org.jgroups.JChannel.startStack(JChannel.java:891)
at org.jgroups.JChannel._preConnect(JChannel.java:553)
at org.jgroups.JChannel.connect(JChannel.java:288)
at org.jgroups.JChannel.connect(JChannel.java:279)
at
org.apache.activemq.artemis.api.core.JGroupsBroadcastEndpoint$JChannelWrapper.connect(JGroupsBroadcastEndpoint.java:211)
at
org.apache.activemq.artemis.api.core.JGroupsBroadcastEndpoint.internalOpen(JGroupsBroadcastEndpoint.java:115)
at
org.apache.activemq.artemis.api.core.JGroupsBroadcastEndpoint.openClient(JGroupsBroadcastEndpoint.java:92)
at
org.apache.activemq.artemis.core.cluster.DiscoveryGroup.start(DiscoveryGroup.java:105)
at
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.initialise(ServerLocatorImpl.java:380)
at
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:846)
at
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:687)
at
org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.connect(ServerLocatorImpl.java:671)
at
org.apache.activemq.artemis.core.server.cluster.ClusterController$ConnectRunnable.run(ClusterController.java:448)
at
org.apache.activemq.artemis.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:105)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.io.IOException: Method not implemented!
at
java.net.DualStackPlainDatagramSocketImpl.setTimeToLive(DualStackPlainDatagramSocketImpl.java:236)
... 25 more
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)