You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Bogdan Calmac (JIRA)" <ji...@apache.org> on 2014/08/30 18:04:53 UTC

[jira] [Comment Edited] (KAFKA-1577) Exception in ConnectionQuotas while shutting down

    [ https://issues.apache.org/jira/browse/KAFKA-1577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14116441#comment-14116441 ] 

Bogdan Calmac edited comment on KAFKA-1577 at 8/30/14 4:03 PM:
---------------------------------------------------------------

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 patch [^KAFKA-1577_check_counter_before_decrementing.patch].



was (Author: bcalmac):
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)