Hi Ondřej, I agree with your analysis. However, the description you gave in Jira seems quite complicated and unneccessarily so.
Perhaps I should add that I can reproduce the problem on a single host (localhost) with the following configuration in jboss-ejb-client.properties:
remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED=false
remote.connections=default,other
remote.connection.default.host=localhost
remote.connection.default.port=4447
remote.connection.default.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
remote.connection.other.host=localhost
remote.connection.other.port=4547
remote.connection.other.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS=false
Starting my two server nodes like this:
./standalone.sh -c=standalone-ha.xml -Djboss.node.name=Server1
./standalone.sh -c standalone-ha.xml -Djboss.node.name=Server2 -Djboss.socket.binding.port-offset=100
Everything works fine most of the time but sometimes the client gets stuck not on the initial lookup (as erroneously described above) but on the first EJB method invocation.
Even in my initial setup with the two servers bound to their own respective virtual network interface, sometimes the behaviour is alright but at other times the client just hangs and must be killed from the outside.
I've composed a small Swing app with which the behaviour can be easily examined:
https://github.com/lkuettner/jbosscc-as7-examples/tree/master/cluster-client-example
Just build everything, start two AS 7 instances like described above (the second with a port offset of 100) and deploy cluster-example-server.jar on each of them. Now run the client and press the "invoke" button. If you see an SLSB node name, start the client over again - until it gets stuck eventually.
Maybe some JBoss developer can have a look into this - Jaikiran?