[
https://issues.jboss.org/browse/ISPN-6099?page=com.atlassian.jira.plugin....
]
Bela Ban edited comment on ISPN-6099 at 1/27/16 2:56 AM:
---------------------------------------------------------
Not sure this makes sense. According to [1], we can have a listener on {{0.0.0.0:7500}}
and another one at {{127.0.0.1:7500}} if {{SO_REUSEADDR}} is true.
And we'e only concerned about _server sockets_.
So 2 threads both binding a _server socket_ to {{127.0.0.1:7500}} will fail even when
{{SO_REUSEADDR}} is set to true! The first thread to bind will succeed and the second will
pick another, higher, port.
Perhaps I should make option {{SO_REUSEADDR}} configurable... The default is true: {{new
ServerSocket(port)}} has it set to true. Since a JGroups node is not a server with a well
known fixed port, perhaps setting it to false is not a bad thing.
[1]
http://stackoverflow.com/questions/14388706/socket-options-so-reuseaddr-a...
was (Author: belaban):
Perhaps I should make option {{SO_REUSEADDR}} configurable... The default is true: {{new
ServerSocket(port)}} has it set to true. Since a JGroups node is not a server with a well
known fixed port, perhaps setting it to false is not a bad thing.
[1]
http://stackoverflow.com/questions/14388706/socket-options-so-reuseaddr-a...
ConcurrentJoinTest random failures
----------------------------------
Key: ISPN-6099
URL:
https://issues.jboss.org/browse/ISPN-6099
Project: Infinispan
Issue Type: Bug
Components: Test Suite - Core
Affects Versions: 8.1.0.Final
Environment: java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 8.2.0.Beta1
Since the switch to {{TCP_NIO2}} in the test suite, I've been seeing random failures
in {{ConcurrentJoinTest}} and other tests that attempt to start multiple channels in
parallel (e.g. {{StateTransferFunctionalTest}} and its subclasses).
Normally JGroups only reports a {{java.net.BindException: No available port to bind to in
range [8000 .. 8099]}}, but I have modified {{org.jgroups.util.Util.createServerSocket()}}
to report the cause exception and I got this:
{noformat}
java.net.BindException: No available port to bind to in range [8000 .. 8099]
at org.jgroups.util.Util.createServerSocketChannel(Util.java:3077)
~[jgroups-3.6.7.Final.jar:3.6.7.Final]
at org.jgroups.blocks.cs.NioServer.<init>(NioServer.java:86)
~[jgroups-3.6.7.Final.jar:3.6.7.Final]
at org.jgroups.protocols.TCP_NIO2.start(TCP_NIO2.java:97)
~[jgroups-3.6.7.Final.jar:3.6.7.Final]
at org.jgroups.stack.ProtocolStack.startStack(ProtocolStack.java:966)
~[jgroups-3.6.7.Final.jar:3.6.7.Final]
at org.jgroups.JChannel.startStack(JChannel.java:890)
~[jgroups-3.6.7.Final.jar:3.6.7.Final]
at org.jgroups.JChannel._preConnect(JChannel.java:553)
~[jgroups-3.6.7.Final.jar:3.6.7.Final]
at org.jgroups.JChannel.connect(JChannel.java:288)
~[jgroups-3.6.7.Final.jar:3.6.7.Final]
at org.jgroups.JChannel.connect(JChannel.java:279)
~[jgroups-3.6.7.Final.jar:3.6.7.Final]
at
org.infinispan.remoting.transport.jgroups.JGroupsTransport.startJGroupsChannelIfNeeded(JGroupsTransport.java:199)
~[classes/:?]
at
org.infinispan.remoting.transport.jgroups.JGroupsTransport.start(JGroupsTransport.java:190)
~[classes/:?]
at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source) ~[?:?]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_60]
at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_60]
at
org.infinispan.commons.util.ReflectionUtil.invokeAccessibly(ReflectionUtil.java:168)
~[infinispan-commons-8.2.0-SNAPSHOT.jar:8.2.0-SNAPSHOT]
at
org.infinispan.factories.AbstractComponentRegistry$PrioritizedMethod.invoke(AbstractComponentRegistry.java:870)
~[classes/:?]
at
org.infinispan.factories.AbstractComponentRegistry.invokeStartMethods(AbstractComponentRegistry.java:639)
~[classes/:?]
at
org.infinispan.factories.AbstractComponentRegistry.internalStart(AbstractComponentRegistry.java:628)
~[classes/:?]
at
org.infinispan.factories.AbstractComponentRegistry.start(AbstractComponentRegistry.java:531)
~[classes/:?]
at
org.infinispan.factories.GlobalComponentRegistry.start(GlobalComponentRegistry.java:229)
~[classes/:?]
... 11 more
Caused by: java.net.SocketException: Invalid argument
at sun.nio.ch.Net.bind0(Native Method) ~[?:1.8.0_60]
at sun.nio.ch.Net.bind(Net.java:433) ~[?:1.8.0_60]
at sun.nio.ch.Net.bind(Net.java:425) ~[?:1.8.0_60]
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
~[?:1.8.0_60]
at java.nio.channels.ServerSocketChannel.bind(ServerSocketChannel.java:157)
~[?:1.8.0_60]
at org.jgroups.util.Util.createServerSocketChannel(Util.java:3072)
~[jgroups-3.6.7.Final.jar:3.6.7.Final]
{noformat}
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)