-
Bug
-
Resolution: Done
-
Major
-
7.1.0.DR18
-
None
There is an issue when you try to sent ejb requests via http2c. The requests fails. Only first comes through as you can see below. Http1 works fine.
One should be able to reproduce it with
[https://github.com/jmartisk/mock-artifacts/tree/master/ejbclient/eap7.1-httpclient-clustered-undertowlb|eap7.1-httpclient-clustered-undertowlb]. My test is similar i just use different artifacts.
JavaArchive[] libs = Maven.resolver().resolve("org.wildfly.wildfly-http-client:wildfly-http-ejb-client:1.0.0.CR4").withTransitivity().as(JavaArchive.class) JavaArchive[] libs2 = Maven.resolver().resolve("org.jboss.xnio:xnio-nio:3.5.0.Beta2").withTransitivity().as(JavaArchive.class)
You`ll have to enable http2 on http-listener(balancer and node) and mod-cluster filter
My app sent multiple requests
EjbJvmRouteInterface bean = (EjbJvmRouteInterface)iniCtx.lookup(lookupName); try { for (int i = 0; i < TIMES; i++) { System.out.print(bean.getJvmroute() + ";"); } } finally { iniCtx.close(); }
*Ejb over http(http2c) request to the backend node *
This works ok
[bsikora@localhost client]$ java -cp "*" -Dremote.server.address=192.168.122.206:8080 -Dremote.endpoint.path=/wildfly-services -Dstateful=false noe.common.javatests.EjbviaHttpTest.Client May 25, 2017 12:28:54 PM org.wildfly.naming.client.Version <clinit> INFO: WildFly Naming version 1.0.0.Beta14 May 25, 2017 12:28:54 PM org.wildfly.security.Version <clinit> INFO: ELY00001: WildFly Elytron version 1.1.0.Beta40 May 25, 2017 12:28:55 PM org.jboss.ejb.client.EJBClient <clinit> INFO: JBoss EJB Client version 4.0.0.Beta25 May 25, 2017 12:28:55 PM org.xnio.Xnio <clinit> INFO: XNIO version 3.5.0.Beta2 May 25, 2017 12:28:55 PM org.xnio.nio.NioXnio <clinit> INFO: XNIO NIO Implementation Version 3.5.0.Beta2 jboss-eap-7.1-1;jboss-eap-7.1-1;jboss-eap-7.1-1;jboss-eap-7.1-1;jboss-eap-7.1-1;jboss-eap-7.1-1;jboss-eap-7.1-1;jboss-eap-7.1-1;jboss-eap-7.1-1;jboss-eap-7.1-1;
access_log.log
192.168.122.206 - Bobo [25/May/2017:12:28:55 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/2.0" 200 19 192.168.122.206 - Bobo [25/May/2017:12:28:55 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/2.0" 200 19 192.168.122.206 - Bobo [25/May/2017:12:28:55 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/2.0" 200 19 192.168.122.206 - Bobo [25/May/2017:12:28:56 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/2.0" 200 19 192.168.122.206 - Bobo [25/May/2017:12:28:56 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/2.0" 200 19 192.168.122.206 - Bobo [25/May/2017:12:28:56 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/2.0" 200 19 192.168.122.206 - Bobo [25/May/2017:12:28:56 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/2.0" 200 19 192.168.122.206 - Bobo [25/May/2017:12:28:56 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/2.0" 200 19 192.168.122.206 - Bobo [25/May/2017:12:28:56 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/2.0" 200 19 192.168.122.206 - Bobo [25/May/2017:12:28:56 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/2.0" 200 19
Ejb over http(http2c) request via mod_cluster filter
This don't work
[bsikora@localhost client]$ java -cp "*" -Dremote.server.address=192.168.122.206:8484 -Dremote.endpoint.path=/wildfly-services -Dstateful=false noe.common.javatests.EjbviaHttpTest.Client May 25, 2017 1:13:55 PM org.wildfly.naming.client.Version <clinit> INFO: WildFly Naming version 1.0.0.Beta14 May 25, 2017 1:13:55 PM org.wildfly.security.Version <clinit> INFO: ELY00001: WildFly Elytron version 1.1.0.Beta40 May 25, 2017 1:13:56 PM org.jboss.ejb.client.EJBClient <clinit> INFO: JBoss EJB Client version 4.0.0.Beta25 May 25, 2017 1:13:56 PM org.xnio.Xnio <clinit> INFO: XNIO version 3.5.0.Beta2 May 25, 2017 1:13:56 PM org.xnio.nio.NioXnio <clinit> INFO: XNIO NIO Implementation Version 3.5.0.Beta2 jboss-eap-7.1-1;Exception in thread "main" javax.ejb.EJBException: java.io.IOException: UT000103: Http2 stream was reset at org.jboss.ejb.client.EJBInvocationHandler.lambda$invoke$0(EJBInvocationHandler.java:213) at org.jboss.ejb.client.EJBClientContext.performLocatedAction(EJBClientContext.java:707) at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:162) at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:112) at com.sun.proxy.$Proxy0.getJvmroute(Unknown Source) at noe.common.javatests.EjbviaHttpTest.Client.main(Client.java:27) Caused by: java.io.IOException: UT000103: Http2 stream was reset at io.undertow.client.http2.Http2ClientConnection$Http2ReceiveListener.handleEvent(Http2ClientConnection.java:400) at io.undertow.client.http2.Http2ClientConnection$Http2ReceiveListener.handleEvent(Http2ClientConnection.java:347) at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:932) at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener.handleEvent(AbstractFramedChannel.java:913) at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92) at io.undertow.server.protocol.framed.AbstractFramedChannel$FrameReadListener$1.run(AbstractFramedChannel.java:939) at io.undertow.server.protocol.framed.AbstractFramedChannel$3.run(AbstractFramedChannel.java:231) at org.xnio.nio.WorkerThread.safeRun(WorkerThread.java:588) at org.xnio.nio.WorkerThread.run(WorkerThread.java:468)
access_log.log (balancer)
192.168.122.206 - - [25/May/2017:13:13:56 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/2.0" 200 19 192.168.122.206 - - [25/May/2017:13:13:56 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/2.0" 503 84
access_log.log (node)
192.168.122.206 - - [25/May/2017:13:15:48 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/1.1" 401 77 192.168.122.206 - Bobo [25/May/2017:13:15:48 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/1.1" 200 19 192.168.122.206 - Bobo [25/May/2017:13:15:48 +0200] "POST /wildfly-services/ejb/v1/invoke/-/server/-/StatelessJvmRoute/-/noe.common.javatests.EjbviaHttpTest.EjbJvmRouteInterface/getJvmroute HTTP/1.1" 500 1424
- duplicates
-
JBEAP-10763 Reverse proxy does not work for POST requests when HTTP/2 is in use on the front end
- Closed