jetty / jetty.project

Eclipse Jetty® - Web Container & Clients - supports HTTP/2, HTTP/1.1, HTTP/1.0, websocket, servlets, and more
https://eclipse.dev/jetty
Other
3.84k stars 1.91k forks source link

`ConnectionPoolTest.testPreCreateConnections` is flaky #12327

Open lorban opened 3 hours ago

lorban commented 3 hours ago

Jetty version(s) 12.1.x

Description org.eclipse.jetty.test.client.transport.ConnectionPoolTest.testPreCreateConnections sometimes fails with:

java.lang.AssertionError: 

Expected: not an empty collection
     but: was <[]>
    at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:20)
    at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
    at org.eclipse.jetty.test.client.transport.ConnectionPoolTest.testPreCreateConnections(ConnectionPoolTest.java:65)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
    at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
    at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:215)
        ...

See: https://jenkins.webtide.net/job/jetty.project/job/jetty-12.1.x/188/testReport/junit/org.eclipse.jetty.test.client.transport/ConnectionPoolTest/Parallel_Stage___Build___Test___JDK23___testPreCreateConnections_Transport__1__HTTP/

lorban commented 3 hours ago

Sometimes it also fails with

java.util.ConcurrentModificationException
    at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1715)
    at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:570)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:560)
    at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:636)
    at java.base/java.util.stream.AbstractPipeline.evaluateToArrayNode(AbstractPipeline.java:291)
    at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:656)
    at java.base/java.util.stream.ReferencePipeline.toArray(ReferencePipeline.java:662)
    at java.base/java.util.stream.ReferencePipeline.toList(ReferencePipeline.java:667)
    at org.eclipse.jetty.test.client.transport.ConnectionPoolTest$ConnectionListener.filter(ConnectionPoolTest.java:101)
    at org.eclipse.jetty.test.client.transport.ConnectionPoolTest.testPreCreateConnections(ConnectionPoolTest.java:60)
    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
        ...