Skip to content

Commit f53d71c

Browse files
committed
test: ignore FormUrlEncodedBodyInRequestFilterTest for HTTP 2 (#11508)
The test is flaky for HTTP 2: https://ge.micronaut.io/scans/tests?search.buildOutcome=failure&search.rootProjectNames=micronaut-parent&search.tags=ci&search.timeZoneId=Europe%2FMadrid&tests.container=io.micronaut.http.server.tck.tests.forms.FormUrlEncodedBodyInRequestFilterTest&tests.test=bodyParsingInFilter()&tests.unstableOnly=false I don’t think it is that the test is badly written. I think it is an underlying issue of the HTTP2 path: https://ge.micronaut.io/s/vllxe5czbs5jw/tests/task/:test-suite-http2-server-tck-netty:test/details/io.micronaut.http.server.tck.tests.forms.FormUrlEncodedBodyInRequestFilterTest/bodyParsingInFilter()/1/output ``` 00:57:25.989 [Test worker] INFO i.m.c.DefaultApplicationContext$RuntimeConfiguredEnvironment - Established active environments: [test] 00:57:26.033 [Test worker] WARN i.m.http.ssl.SslConfiguration - The configuration micronaut.ssl.port is deprecated. Use micronaut.server.ssl.port instead. 00:57:26.920 [Test worker] WARN i.m.h.c.n.ssl.NettyClientSslBuilder - HTTP Client is configured to trust all certificates ('insecure-trust-all-certificates' is set to true). Trusting all certificates is not secure and should not be used in production. 00:57:26.997 [Test worker] INFO i.m.c.DefaultApplicationContext$RuntimeConfiguredEnvironment - Established active environments: [test] 00:57:27.038 [Test worker] WARN i.m.http.ssl.SslConfiguration - The configuration micronaut.ssl.port is deprecated. Use micronaut.server.ssl.port instead. 00:57:27.646 [Test worker] WARN i.m.h.c.n.ssl.NettyClientSslBuilder - HTTP Client is configured to trust all certificates ('insecure-trust-all-certificates' is set to true). Trusting all certificates is not secure and should not be used in production. 00:57:27.754 [Test worker] INFO i.m.c.DefaultApplicationContext$RuntimeConfiguredEnvironment - Established active environments: [test] 00:57:27.811 [Test worker] WARN i.m.http.ssl.SslConfiguration - The configuration micronaut.ssl.port is deprecated. Use micronaut.server.ssl.port instead. 00:57:28.019 [Test worker] WARN i.m.h.c.n.ssl.NettyClientSslBuilder - HTTP Client is configured to trust all certificates ('insecure-trust-all-certificates' is set to true). Trusting all certificates is not secure and should not be used in production. 00:57:28.079 [default-nioEventLoopGroup-140-4] WARN i.m.h.s.netty.RoutingInBoundHandler - Failed to build error response java.lang.AssertionError: null at io.micronaut.http.body.stream.BaseSharedBuffer.subscribe0(BaseSharedBuffer.java:205) at io.micronaut.http.netty.body.StreamingNettyByteBody$SharedBuffer.subscribe(StreamingNettyByteBody.java:259) at io.micronaut.http.netty.body.StreamingNettyByteBody.close(StreamingNettyByteBody.java:177) at io.micronaut.http.server.netty.NettyHttpRequest.release(NettyHttpRequest.java:388) at io.micronaut.http.server.netty.RoutingInBoundHandler.cleanupRequest(RoutingInBoundHandler.java:161) at io.micronaut.http.server.netty.RoutingInBoundHandler.responseWritten(RoutingInBoundHandler.java:178) at io.micronaut.http.server.netty.websocket.NettyServerWebSocketUpgradeHandler.responseWritten(NettyServerWebSocketUpgradeHandler.java:167) at io.micronaut.http.server.netty.handler.MultiplexedServerHandler$MultiplexedStream.finish(MultiplexedServerHandler.java:234) at io.micronaut.http.server.netty.handler.MultiplexedServerHandler$MultiplexedStream.writeFull(MultiplexedServerHandler.java:383) at io.micronaut.http.server.netty.handler.MultiplexedServerHandler$MultiplexedStream.write(MultiplexedServerHandler.java:260) at io.micronaut.http.server.netty.RoutingInBoundHandler.lambda$writeResponse$0(RoutingInBoundHandler.java:298) at io.micronaut.core.execution.ImperativeExecutionFlowImpl.onComplete(ImperativeExecutionFlowImpl.java:132) at io.micronaut.http.server.netty.RoutingInBoundHandler.writeResponse(RoutingInBoundHandler.java:274) at io.micronaut.http.server.netty.NettyRequestLifecycle.lambda$handleNormal$0(NettyRequestLifecycle.java:107) at io.micronaut.core.execution.ImperativeExecutionFlowImpl.onComplete(ImperativeExecutionFlowImpl.java:132) at io.micronaut.core.execution.DelayedExecutionFlowImpl$OnComplete.apply(DelayedExecutionFlowImpl.java:379) at io.micronaut.core.execution.DelayedExecutionFlowImpl.work(DelayedExecutionFlowImpl.java:54) at io.micronaut.core.execution.DelayedExecutionFlowImpl.complete0(DelayedExecutionFlowImpl.java:72) at io.micronaut.core.execution.DelayedExecutionFlowImpl.complete(DelayedExecutionFlowImpl.java:78) at io.micronaut.http.body.stream.BaseSharedBuffer.subscribeFull0(BaseSharedBuffer.java:276) at io.micronaut.http.netty.body.StreamingNettyByteBody$SharedBuffer.lambda$subscribeFull$2(StreamingNettyByteBody.java:322) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1583) 00:57:38.077 [default-nioEventLoopGroup-140-3] WARN i.n.c.AbstractChannelHandlerContext - An exception 'java.lang.IllegalStateException: Already completed' [enable DEBUG level for full stacktrace] was thrown by a user handler's exceptionCaught() method while handling the following exception: java.lang.IllegalStateException: Already completed at io.micronaut.core.execution.DelayedExecutionFlowImpl$Step.atomicSetOutput(DelayedExecutionFlowImpl.java:217) at io.micronaut.core.execution.DelayedExecutionFlowImpl.work(DelayedExecutionFlowImpl.java:55) at io.micronaut.core.execution.DelayedExecutionFlowImpl.complete0(DelayedExecutionFlowImpl.java:72) at io.micronaut.core.execution.DelayedExecutionFlowImpl.completeExceptionally(DelayedExecutionFlowImpl.java:83) at io.micronaut.http.client.netty.DefaultHttpClient$6.fail(DefaultHttpClient.java:1702) at io.micronaut.http.client.netty.Http1ResponseHandler$BeforeResponse.exceptionCaught(Http1ResponseHandler.java:147) at io.micronaut.http.client.netty.Http1ResponseHandler$ReaderState.channelInactive(Http1ResponseHandler.java:112) at io.micronaut.http.client.netty.Http1ResponseHandler.channelInactive(Http1ResponseHandler.java:83) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274) at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81) at io.netty.handler.codec.http.HttpContentDecoder.channelInactive(HttpContentDecoder.java:235) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:303) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:274) at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1352) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:301) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelInactive(AbstractChannelHandlerContext.java:281) at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:850) at io.netty.handler.codec.http2.AbstractHttp2StreamChannel$Http2ChannelUnsafe$2.run(AbstractHttp2StreamChannel.java:797) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:1583) ```
1 parent ab13db5 commit f53d71c

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package io.micronaut.http.server.tck.netty.tests;
22

3-
import org.junit.platform.suite.api.SelectPackages;
4-
import org.junit.platform.suite.api.Suite;
5-
import org.junit.platform.suite.api.SuiteDisplayName;
3+
import org.junit.platform.suite.api.*;
64

75
@Suite
86
@SelectPackages("io.micronaut.http.server.tck.tests")
7+
@ExcludeClassNamePatterns("io.micronaut.http.server.tck.tests.forms.FormUrlEncodedBodyInRequestFilterTest") // It is flaky in HTTP 2
98
@SuiteDisplayName("HTTP Server TCK for Netty")
109
public class NettyHttpServerTestSuite {
1110
}

0 commit comments

Comments
 (0)