[ https://issues.apache.org/jira/browse/KAFKA-1577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Bogdan Calmac updated KAFKA-1577: --------------------------------- Attachment: KAFKA-1577_check_counter_before_decrementing.patch Aside from swallowing the exception at top level, wouldn't it be good to also fix {{ConnectionQuotas.dec()}} and check for {{isDefined()}} before decrementing the counter? As an undesired side-effect of allowing the NoSuchElementException in the first place, the close() methods after dec() in the code below would not get called. {code} def close(channel: SocketChannel) { if(channel != null) { debug("Closing connection from " + channel.socket.getRemoteSocketAddress()) connectionQuotas.dec(channel.socket.getInetAddress) swallowError(channel.socket().close()) swallowError(channel.close()) } } {code} See https://reviews.apache.org/r/25213/ and the attached patch. > Exception in ConnectionQuotas while shutting down > ------------------------------------------------- > > Key: KAFKA-1577 > URL: https://issues.apache.org/jira/browse/KAFKA-1577 > Project: Kafka > Issue Type: Bug > Components: core > Reporter: Joel Koshy > Assignee: Sriharsha Chintalapani > Labels: newbie > Attachments: KAFKA-1577.patch, KAFKA-1577_2014-08-20_19:57:44.patch, > KAFKA-1577_2014-08-26_07:33:13.patch, > KAFKA-1577_check_counter_before_decrementing.patch > > > {code} > [2014-08-07 19:38:08,228] ERROR Uncaught exception in thread > 'kafka-network-thread-9092-0': (kafka.utils.Utils$) > java.util.NoSuchElementException: None.get > at scala.None$.get(Option.scala:185) > at scala.None$.get(Option.scala:183) > at kafka.network.ConnectionQuotas.dec(SocketServer.scala:471) > at kafka.network.AbstractServerThread.close(SocketServer.scala:158) > at kafka.network.AbstractServerThread.close(SocketServer.scala:150) > at kafka.network.AbstractServerThread.closeAll(SocketServer.scala:171) > at kafka.network.Processor.run(SocketServer.scala:338) > at java.lang.Thread.run(Thread.java:662) > {code} -- This message was sent by Atlassian JIRA (v6.2#6252)