[jboss-jira] [JBoss JIRA] (ELY-1250) org.jboss.remoting3.RemotingOptions.SASL_PROTOCOL make ejb client call hang
Yeray Borges (JIRA)
issues at jboss.org
Mon Jun 19 02:24:00 EDT 2017
[ https://issues.jboss.org/browse/ELY-1250?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yeray Borges moved JBEAP-11630 to ELY-1250:
-------------------------------------------
Project: WildFly Elytron (was: JBoss Enterprise Application Platform)
Key: ELY-1250 (was: JBEAP-11630)
Workflow: GIT Pull Request workflow (was: CDW with loose statuses v1)
Component/s: (was: Remoting)
Affects Version/s: (was: 7.1.0.DR18)
Affects Testing: (was: Regression)
> org.jboss.remoting3.RemotingOptions.SASL_PROTOCOL make ejb client call hang
> ---------------------------------------------------------------------------
>
> Key: ELY-1250
> URL: https://issues.jboss.org/browse/ELY-1250
> Project: WildFly Elytron
> Issue Type: Bug
> Reporter: Yeray Borges
> Assignee: Yeray Borges
> Priority: Blocker
>
> Until DR18 (and in 7.0 as well) we succesfully called ejb with these options.
> {code:java|title=EjbClientCode.java}
> private Properties getCtxProperties(String username, String password) {
> Properties props = new Properties();
> props.put("org.jboss.ejb.client.scoped.context", true);
> props.put(Context.URL_PKG_PREFIXES, "org.jboss.ejb.client.naming");
> props.put("remote.connections", "main");
> props.put("remote.connection.main.host", hostname);
> props.put("remote.connection.main.port", "8080");
> if (username != null && password != null) {
> props.put("remote.connection.main.username", username);
> props.put("remote.connection.main.password", password);
> }
> props.put("remote.connection.main.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT", "false");
> props.put("remote.connection.main.connect.options.org.jboss.remoting3.RemotingOptions.SASL_PROTOCOL", "remote");
> props.put("remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED", "false");
> return props;
> }
> {code}
> In DR18 ejb calls hangs.
> {code:title=server.log}
> 14:27:47,057 INFO [org.jboss.ejb.client] (main) EJBCLIENT000064: org.jboss.ejb.client.naming.ejb.ejbURLContextFactory is deprecated; new applications should use org.wildfly.naming.client.WildFlyInitialContextFactory instead
> 14:27:47,064 INFO [org.wildfly.naming] (main) WildFly Naming version 1.0.0.Beta15-redhat-1
> 14:27:47,076 INFO [org.wildfly.naming] (main) WFNAM00049: Usage of the legacy "remote.connections" property is deprecated; please use javax.naming.Context#PROVIDER_URL instead
> 14:27:47,088 FINER [javax.management.mbeanserver] (main) ObjectName = jboss.remoting.endpoint:name=Remoting (anonymous)-1039159201
> 14:27:47,088 FINER [javax.management.mbeanserver] (main) name = jboss.remoting.endpoint:name=Remoting (anonymous)-1039159201
> 14:27:47,088 FINER [javax.management.mbeanserver] (main) Send create notification of object jboss.remoting.endpoint:name=Remoting (anonymous)-1039159201
> 14:27:47,088 FINER [javax.management.mbeanserver] (main) JMX.mbean.registered jboss.remoting.endpoint:name=Remoting (anonymous)-1039159201
> 14:27:47,088 TRACE [org.jboss.remoting.endpoint] (main) Completed open of endpoint (anonymous) <3df04fa1>
> 14:27:47,088 TRACE [org.jboss.remoting.endpoint] (main) Allocated tick to 1 of endpoint (anonymous) <3df04fa1> (opened Connection provider for remote)
> 14:27:47,089 FINER [javax.management.mbeanserver] (main) ObjectName = jboss.remoting.handler:name=Remoting (anonymous) remote-1876700598
> 14:27:47,089 FINER [javax.management.mbeanserver] (main) name = jboss.remoting.handler:name=Remoting (anonymous) remote-1876700598
> 14:27:47,089 FINER [javax.management.mbeanserver] (main) Send create notification of object jboss.remoting.handler:name=Remoting (anonymous) remote-1876700598
> 14:27:47,089 FINER [javax.management.mbeanserver] (main) JMX.mbean.registered jboss.remoting.handler:name=Remoting (anonymous) remote-1876700598
> 14:27:47,089 TRACE [org.jboss.remoting.endpoint] (main) Adding connection provider registration named 'remote': Remoting remote connection provider 6fdc2db6 for endpoint (anonymous) <3df04fa1>
> 14:27:47,089 TRACE [org.jboss.remoting.endpoint] (main) Allocated tick to 2 of endpoint (anonymous) <3df04fa1> (opened Connection provider for remote+tls)
> 14:27:47,089 FINER [javax.management.mbeanserver] (main) ObjectName = jboss.remoting.handler:name=Remoting (anonymous) remote+tls-383127665
> 14:27:47,089 FINER [javax.management.mbeanserver] (main) name = jboss.remoting.handler:name=Remoting (anonymous) remote+tls-383127665
> 14:27:47,089 FINER [javax.management.mbeanserver] (main) Send create notification of object jboss.remoting.handler:name=Remoting (anonymous) remote+tls-383127665
> 14:27:47,089 FINER [javax.management.mbeanserver] (main) JMX.mbean.registered jboss.remoting.handler:name=Remoting (anonymous) remote+tls-383127665
> 14:27:47,089 TRACE [org.jboss.remoting.endpoint] (main) Adding connection provider registration named 'remote+tls': Remoting remote connection provider 16d61071 for endpoint (anonymous) <3df04fa1>
> 14:27:47,089 TRACE [org.jboss.remoting.endpoint] (main) Allocated tick to 3 of endpoint (anonymous) <3df04fa1> (opened Connection provider for remoting)
> 14:27:47,090 FINER [javax.management.mbeanserver] (main) ObjectName = jboss.remoting.handler:name=Remoting (anonymous) remoting-838733029
> 14:27:47,090 FINER [javax.management.mbeanserver] (main) name = jboss.remoting.handler:name=Remoting (anonymous) remoting-838733029
> 14:27:47,090 FINER [javax.management.mbeanserver] (main) Send create notification of object jboss.remoting.handler:name=Remoting (anonymous) remoting-838733029
> 14:27:47,090 FINER [javax.management.mbeanserver] (main) JMX.mbean.registered jboss.remoting.handler:name=Remoting (anonymous) remoting-838733029
> 14:27:47,090 TRACE [org.jboss.remoting.endpoint] (main) Adding connection provider registration named 'remoting': Remoting remote connection provider 31fe0ce5 for endpoint (anonymous) <3df04fa1>
> 14:27:47,090 TRACE [org.jboss.remoting.endpoint] (main) Allocated tick to 4 of endpoint (anonymous) <3df04fa1> (opened Connection provider for remote+http)
> 14:27:47,090 FINER [javax.management.mbeanserver] (main) ObjectName = jboss.remoting.handler:name=Remoting (anonymous) remote+http-1795925655
> 14:27:47,090 FINER [javax.management.mbeanserver] (main) name = jboss.remoting.handler:name=Remoting (anonymous) remote+http-1795925655
> 14:27:47,090 FINER [javax.management.mbeanserver] (main) Send create notification of object jboss.remoting.handler:name=Remoting (anonymous) remote+http-1795925655
> 14:27:47,090 FINER [javax.management.mbeanserver] (main) JMX.mbean.registered jboss.remoting.handler:name=Remoting (anonymous) remote+http-1795925655
> 14:27:47,090 TRACE [org.jboss.remoting.endpoint] (main) Adding connection provider registration named 'remote+http': Remoting remote connection provider 6b0ba697 for endpoint (anonymous) <3df04fa1>
> 14:27:47,090 TRACE [org.jboss.remoting.endpoint] (main) Allocated tick to 5 of endpoint (anonymous) <3df04fa1> (opened Connection provider for remote+https)
> 14:27:47,090 FINER [javax.management.mbeanserver] (main) ObjectName = jboss.remoting.handler:name=Remoting (anonymous) remote+https-447059608
> 14:27:47,091 FINER [javax.management.mbeanserver] (main) name = jboss.remoting.handler:name=Remoting (anonymous) remote+https-447059608
> 14:27:47,091 FINER [javax.management.mbeanserver] (main) Send create notification of object jboss.remoting.handler:name=Remoting (anonymous) remote+https-447059608
> 14:27:47,091 FINER [javax.management.mbeanserver] (main) JMX.mbean.registered jboss.remoting.handler:name=Remoting (anonymous) remote+https-447059608
> 14:27:47,091 TRACE [org.jboss.remoting.endpoint] (main) Adding connection provider registration named 'remote+https': Remoting remote connection provider 1aa59698 for endpoint (anonymous) <3df04fa1>
> 14:27:47,091 TRACE [org.jboss.remoting.endpoint] (main) Allocated tick to 6 of endpoint (anonymous) <3df04fa1> (opened Connection provider for http-remoting)
> 14:27:47,091 FINER [javax.management.mbeanserver] (main) ObjectName = jboss.remoting.handler:name=Remoting (anonymous) http-remoting-981876983
> 14:27:47,091 FINER [javax.management.mbeanserver] (main) name = jboss.remoting.handler:name=Remoting (anonymous) http-remoting-981876983
> 14:27:47,091 FINER [javax.management.mbeanserver] (main) Send create notification of object jboss.remoting.handler:name=Remoting (anonymous) http-remoting-981876983
> 14:27:47,091 FINER [javax.management.mbeanserver] (main) JMX.mbean.registered jboss.remoting.handler:name=Remoting (anonymous) http-remoting-981876983
> 14:27:47,091 TRACE [org.jboss.remoting.endpoint] (main) Adding connection provider registration named 'http-remoting': Remoting remote connection provider 3a8640f7 for endpoint (anonymous) <3df04fa1>
> 14:27:47,091 TRACE [org.jboss.remoting.endpoint] (main) Allocated tick to 7 of endpoint (anonymous) <3df04fa1> (opened Connection provider for https-remoting)
> 14:27:47,091 FINER [javax.management.mbeanserver] (main) ObjectName = jboss.remoting.handler:name=Remoting (anonymous) https-remoting-1015658596
> 14:27:47,091 FINER [javax.management.mbeanserver] (main) name = jboss.remoting.handler:name=Remoting (anonymous) https-remoting-1015658596
> 14:27:47,092 FINER [javax.management.mbeanserver] (main) Send create notification of object jboss.remoting.handler:name=Remoting (anonymous) https-remoting-1015658596
> 14:27:47,092 FINER [javax.management.mbeanserver] (main) JMX.mbean.registered jboss.remoting.handler:name=Remoting (anonymous) https-remoting-1015658596
> 14:27:47,092 TRACE [org.jboss.remoting.endpoint] (main) Adding connection provider registration named 'https-remoting': Remoting remote connection provider 3c89b864 for endpoint (anonymous) <3df04fa1>
> 14:27:47,093 TRACE [org.wildfly.security] (main) getAuthenticationConfiguration uri=remote+http://localhost.localdomain:8080, protocolDefaultPort=-1, abstractType=jndi, abstractTypeAuthority=jboss, purpose=operate, MatchRule=[], AuthenticationConfiguration=[AuthenticationConfiguration:principal=anonymous,set-host=localhost.localdomain,set-port=8080,providers-supplier=org.wildfly.security.auth.client.ElytronXmlParser$DeferredSupplier at 17d816b3,sasl-mechanism-selector=(true),mechanism-properties={wildfly.sasl.local-user.quiet-auth=true}]
> 14:27:47,111 INFO [org.jboss.ejb.client] (main) JBoss EJB Client version 4.0.0.Beta27-redhat-1
> 14:27:47,176 TRACE [org.jboss.remoting.endpoint] (main) Allocated tick to 8 of endpoint (anonymous) <3df04fa1> (opened Connection to remote://localhost.localdomain:8080)
> 14:27:47,177 TRACE [org.jboss.remoting.remote] (main) Attempting to connect to "remote://localhost.localdomain:8080" with options {}
> 14:27:47,177 TRACE [org.xnio.nio.selector] (XNIO-1 I/O-1) Selected on sun.nio.ch.EPollSelectorImpl at 4cb9755d
> 14:27:47,177 TRACE [org.xnio.nio] (XNIO-1 I/O-1) Running task org.xnio.nio.WorkerThread$SynchTask at 51262ca9
> 14:27:47,177 TRACE [org.xnio.nio.selector] (XNIO-1 I/O-1) Beginning select on sun.nio.ch.EPollSelectorImpl at 4cb9755d
> 14:27:47,177 TRACE [org.xnio.nio.selector] (XNIO-1 I/O-1) Selected on sun.nio.ch.EPollSelectorImpl at 4cb9755d
> 14:27:47,177 TRACE [org.xnio.nio.selector] (XNIO-1 I/O-1) Beginning select on sun.nio.ch.EPollSelectorImpl at 4cb9755d
> 14:27:47,177 TRACE [org.xnio.nio.selector] (XNIO-1 I/O-1) Selected on sun.nio.ch.EPollSelectorImpl at 4cb9755d
> 14:27:47,177 TRACE [org.xnio.nio.selector] (XNIO-1 I/O-1) Selected key sun.nio.ch.SelectionKeyImpl at 47d9c01 for java.nio.channels.SocketChannel[connection-pending local=/0.0.0.0:45737 remote=localhost.localdomain/127.0.0.1:8080]
> 14:27:47,177 TRACE [org.xnio.nio] (XNIO-1 I/O-1) Running task org.xnio.AbstractIoFuture$NotifierRunnable at 12b137f5
> 14:27:47,179 TRACE [org.jboss.remoting.endpoint] (XNIO-1 I/O-1) Allocated tick to 9 of endpoint (anonymous) <3df04fa1> (opened org.jboss.remoting3.EndpointImpl$TrackingExecutor at 4bb2dc67)
> 14:27:47,179 TRACE [org.jboss.remoting.remote.connection] (XNIO-1 I/O-1) Initialized connection from localhost.localdomain/127.0.0.1:8080 to /127.0.0.1:45737 with options {}
> 14:27:47,179 TRACE [org.jboss.remoting.endpoint] (XNIO-1 task-5) Resource closed count 00000008 of endpoint (anonymous) <3df04fa1> (closed org.jboss.remoting3.EndpointImpl$TrackingExecutor at 4bb2dc67)
> 14:27:47,179 TRACE [org.jboss.remoting.remote] (XNIO-1 I/O-1) Setting read listener to org.jboss.remoting3.remote.ClientConnectionOpenListener$Greeting at 3fe64581
> 14:27:47,179 TRACE [org.xnio.nio.selector] (XNIO-1 I/O-1) Beginning select on sun.nio.ch.EPollSelectorImpl at 4cb9755d
> {code}
> It appears {{org.jboss.remoting3.RemotingOptions.SASL_PROTOCOL}} is making problems here. If I remove this ejb call is sucesfull.
> Same happens with org.wildfly.naming.client.WildFlyInitialContextFactory when protocol of PROVIDER_URL and SASL_PROTOCOL does not match.
> {code}
> private Properties getBasicCtxProperties(String timeout) {
> Properties props = new Properties();
> props.put("org.jboss.ejb.client.scoped.context", true);
> props.put(Context.INITIAL_CONTEXT_FACTORY, "org.wildfly.naming.client.WildFlyInitialContextFactory");
> props.put(Context.PROVIDER_URL, "http-remoting://"+hostname+":8080");
> if (timeout != null) {
> props.put("remote.connection.main.connect.timeout", timeout);
> }
> props.put("remote.connection.main.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT", "false");
> props.put("remote.connection.main.connect.options.org.jboss.remoting3.RemotingOptions.SASL_PROTOCOL", "remote");
> props.put("remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED", "false");
> return props;
> }
> {code}
> Setting to blocker:
> - it can make difficulties by migrating from legacy client configuration to new client configuration
> - in second case (non-deprecated configuration), there should be rather some sort of validaiton check, then let client hang.
> [1] https://github.com/jboss-remoting/jboss-remoting/blob/master/src/main/java/org/jboss/remoting3/RemotingOptions.java#L316
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the jboss-jira
mailing list