Details
-
Test
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.0.4
-
None
-
None
-
Unknown
Description
JAXRSMultithreadedClientTest test cases failing on IBM JDK (Semeru 17).
There is a JAXRS system test failure for JAXRSMultithreadedClientTest test cases:
JAXRSMultithreadedClientTest.testStatefulWebClientThreadLocalWithCopy
JAXRSMultithreadedClientTest.testStatefulWebClientWithCopy
JAXRSMultithreadedClientTest.testThreadSafeProxyWithCopy
The commonality between these tests are {{threadSafe }}is set to false, which triggers a copy of existing client with WebClient.fromClient.
The error traces contains the following shape:
Exception in thread "pool-12-thread-2" java.lang.AssertionError: WebClientWorker thread failed for 10,value10 at org.junit.Assert.fail(Assert.java:89) at org.apache.cxf.systest.jaxrs.JAXRSMultithreadedClientTest$WebClientWorker.run(JAXRSMultithreadedClientTest.java:208) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:857) at org.apache.cxf.transport.http.HttpClientHTTPConduit$HttpClientWrappedOutputStream.getResponse(HttpClientHTTPConduit.java:751) at org.apache.cxf.transport.http.HttpClientHTTPConduit$HttpClientWrappedOutputStream.getResponseCode(HttpClientHTTPConduit.java:760) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.doProcessResponseCode(HTTPConduit.java:1653) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1684) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1626) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1420) ... 19 more Caused by: java.lang.InterruptedException at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:386) at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2096) at org.apache.cxf.transport.http.HttpClientHTTPConduit$HttpClientWrappedOutputStream.getResponse(HttpClientHTTPConduit.java:731) ... 24 more Exception in thread "pool-12-thread-4" java.lang.AssertionError: WebClientWorker thread failed for 8,value8 at org.junit.Assert.fail(Assert.java:89) at org.apache.cxf.systest.jaxrs.JAXRSMultithreadedClientTest$WebClientWorker.run(JAXRSMultithreadedClientTest.java:208) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:857)
When this suite is run on Hotspot based JVMs, the test cases pass.This is reproducible by changing directory to systests/jaxrs, then executing:
`
mvn clean install -Dtest=JAXRSMultithreadedClientTest
`