0
votes

When deploying a micronaut service behind envoy we get an error associated to the handler. Is this reference to encoding?. I have tried a few options without luck. thank you.

borrower_1 | 23:10:07.038 [main] INFO i.m.g.s.GrpcEmbeddedServerListener - GRPC started on port 50051 borrower_1 | 23:10:07.045 [main] INFO io.micronaut.runtime.Micronaut - Startup completed in 1814ms. Server Running: http://092736b9eca5:9090 borrower_1 | 23:10:35.335 [nioEventLoopGroup-1-2] ERROR i.m.h.s.netty.RoutingInBoundHandler - Micronaut Server Error - No request state present. Cause: java.lang.IllegalArgumentException: No enum constant io.micronaut.http.HttpMethod.PRI borrower_1 | io.netty.handler.codec.DecoderException: java.lang.IllegalArgumentException: No enum constant io.micronaut.http.HttpMethod.PRI borrower_1 | at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:98) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) borrower_1 | at io.micronaut.http.netty.stream.HttpStreamsHandler.channelRead(HttpStreamsHandler.java:191) borrower_1 | at io.micronaut.http.netty.stream.HttpStreamsServerHandler.channelRead(HttpStreamsServerHandler.java:121) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) borrower_1 | at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) borrower_1 | at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) borrower_1 | at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) borrower_1 | at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) borrower_1 | at io.netty.handler.codec.http.HttpServerKeepAliveHandler.channelRead(HttpServerKeepAliveHandler.java:64) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) borrower_1 | at io.netty.handler.flow.FlowControlHandler.dequeue(FlowControlHandler.java:186) borrower_1 | at io.netty.handler.flow.FlowControlHandler.channelRead(FlowControlHandler.java:152) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) borrower_1 | at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:438) borrower_1 | at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:328) borrower_1 | at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:315) borrower_1 | at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:429) borrower_1 | at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:283) borrower_1 | at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:253) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) borrower_1 | at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:287) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:352) borrower_1 | at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1422) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:374) borrower_1 | at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:360) borrower_1 | at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:931) borrower_1 | at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) borrower_1 | at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:700) borrower_1 | at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:635) borrower_1 | at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:552) borrower_1 | at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:514) borrower_1 | at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1044) borrower_1 | at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) borrower_1 | at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) borrower_1 | at java.base/java.lang.Thread.run(Thread.java:825) borrower_1 | Caused by: java.lang.IllegalArgumentException: No enum constant io.micronaut.http.HttpMethod.PRI borrower_1 | at java.base/java.lang.Enum.valueOf(Enum.java:240) borrower_1 | at io.micronaut.http.HttpMethod.valueOf(HttpMethod.java:24) borrower_1 | at io.micronaut.http.netty.AbstractNettyHttpRequest.(AbstractNettyHttpRequest.java:62) borrower_1 | at io.micronaut.http.server.netty.NettyHttpRequest.(NettyHttpRequest.java:89) borrower_1 | at io.micronaut.http.server.netty.decoders.HttpRequestDecoder.decode(HttpRequestDecoder.java:91) borrower_1 | at io.micronaut.http.server.netty.decoders.HttpRequestDecoder.decode(HttpRequestDecoder.java:43) borrower_1 | at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) borrower_1 | ... 53 common frames omitted

1

1 Answers

0
votes

Support for non standard HTTP methods was introduced in 1.3.0.M1. Please try 1.3.0.M1 and see if the issue persists.