{"action":"created","issue":{"url":"https://api.github.com/repos/netty/netty/issues/5922","repository_url":"https://api.github.com/repos/netty/netty","labels_url":"https://api.github.com/repos/netty/netty/issues/5922/labels{/name}","comments_url":"https://api.github.com/repos/netty/netty/issues/5922/comments","events_url":"https://api.github.com/repos/netty/netty/issues/5922/events","html_url":"https://github.com/netty/netty/issues/5922","id":183735447,"number":5922,"title":"when sending a long HTTP Request, I get a TooLongFrameException, but would expect an HTTP code 413/414","user":{"login":"Anke-L","id":22913513,"avatar_url":"https://avatars.githubusercontent.com/u/22913513?v=3","gravatar_id":"","url":"https://api.github.com/users/Anke-L","html_url":"https://github.com/Anke-L","followers_url":"https://api.github.com/users/Anke-L/followers","following_url":"https://api.github.com/users/Anke-L/following{/other_user}","gists_url":"https://api.github.com/users/Anke-L/gists{/gist_id}","starred_url":"https://api.github.com/users/Anke-L/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Anke-L/subscriptions","organizations_url":"https://api.github.com/users/Anke-L/orgs","repos_url":"https://api.github.com/users/Anke-L/repos","events_url":"https://api.github.com/users/Anke-L/events{/privacy}","received_events_url":"https://api.github.com/users/Anke-L/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-10-18T16:19:04Z","updated_at":"2016-10-18T16:40:04Z","closed_at":null,"body":"Vertx Core: 3.3.2\r\nNetty: 4.1.3 Final\r\n\r\nContext:\r\nI'm sending a long HTTP request (e.g. GET or DELETE) using Vertx/Netty. \r\nBefore the request can be handled by the server I get an exception from Netty (see below).\r\n\r\nWhen looking into the code I see a comment in HttpObjectDecoder.HeaderParser.process():\r\n\"TODO: Response with Bad Request....“\r\nIs there a chance, that this ToDo will be implemented in the near future and an HTTP 413 or 414 will be returned?\r\n\r\nException:\r\n```\r\n17:46:05.836 [vert.x-eventloop-thread-0] ERROR io.vertx.core.logging.JULLogDelegate 167 log - io.netty.handler.codec.TooLongFrameException: An HTTP line is larger than 4096 bytes.\r\n17:46:05.848 [vert.x-eventloop-thread-0] INFO  org.apache.kafka.clients.producer.KafkaProducer 613 close - Closing the Kafka producer with timeoutMillis = 9223372036854775807 ms.\r\n17:46:05.847 [globalEventExecutor-1-3] ERROR io.netty.util.internal.logging.Slf4JLogger 181 error - Failed to submit a listener notification task. Event loop shut down? java.util.concurrent.RejectedExecutionException: event executor terminated\r\n\tat io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:840) ~[netty-common-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:342) ~[netty-common-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:335) ~[netty-common-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:765) ~[netty-common-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.util.concurrent.DefaultPromise.safeExecute(DefaultPromise.java:767) [netty-common-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:435) [netty-common-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.util.concurrent.DefaultPromise.setFailure(DefaultPromise.java:120) [netty-common-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.channel.DefaultChannelPromise.setFailure(DefaultChannelPromise.java:87) [netty-transport-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.channel.AbstractChannelHandlerContext.safeExecute(AbstractChannelHandlerContext.java:1022) [netty-transport-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:620) [netty-transport-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:475) [netty-transport-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.channel.DefaultChannelPipeline.close(DefaultChannelPipeline.java:964) [netty-transport-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.channel.AbstractChannel.close(AbstractChannel.java:234) [netty-transport-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.vertx.core.dns.impl.fix.DnsNameResolver.close(DnsNameResolver.java:281) [vertx-core-3.3.2.jar:?]\r\n\tat io.vertx.core.impl.AddressResolver$1$1.close(AddressResolver.java:148) [vertx-core-3.3.2.jar:?]\r\n\tat io.netty.resolver.AddressResolverGroup$1.operationComplete(AddressResolverGroup.java:79) [netty-resolver-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:514) [netty-common-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:507) [netty-common-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:486) [netty-common-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.util.concurrent.DefaultPromise.access$000(DefaultPromise.java:34) [netty-common-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.util.concurrent.DefaultPromise$1.run(DefaultPromise.java:438) [netty-common-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.util.concurrent.GlobalEventExecutor$TaskRunner.run(GlobalEventExecutor.java:233) [netty-common-4.1.3.Final.jar:4.1.3.Final]\r\n\tat io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144) [netty-common-4.1.3.Final.jar:4.1.3.Final]\r\n\tat java.lang.Thread.run(Thread.java:785) [?:1.8.0]\r\n\r\n```"},"comment":{"url":"https://api.github.com/repos/netty/netty/issues/comments/254566169","html_url":"https://github.com/netty/netty/issues/5922#issuecomment-254566169","issue_url":"https://api.github.com/repos/netty/netty/issues/5922","id":254566169,"user":{"login":"rkapsi","id":191635,"avatar_url":"https://avatars.githubusercontent.com/u/191635?v=3","gravatar_id":"","url":"https://api.github.com/users/rkapsi","html_url":"https://github.com/rkapsi","followers_url":"https://api.github.com/users/rkapsi/followers","following_url":"https://api.github.com/users/rkapsi/following{/other_user}","gists_url":"https://api.github.com/users/rkapsi/gists{/gist_id}","starred_url":"https://api.github.com/users/rkapsi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkapsi/subscriptions","organizations_url":"https://api.github.com/users/rkapsi/orgs","repos_url":"https://api.github.com/users/rkapsi/repos","events_url":"https://api.github.com/users/rkapsi/events{/privacy}","received_events_url":"https://api.github.com/users/rkapsi/received_events","type":"User","site_admin":false},"created_at":"2016-10-18T16:40:03Z","updated_at":"2016-10-18T16:40:03Z","body":"Not sure Netty should return a response on its own. You maybe want to return a fancy error page such as Github does for example (e.g. http://github.com/404).\r\n\r\nWrite a ChannelHandler that handles the TooLongFrameException and have it return a HTTP error of your liking."}}
{"actor":{"display_login":"rkapsi"}}