[
https://issues.apache.org/jira/browse/KAFKA-1577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14123563#comment-14123563
]
Bogdan Calmac commented on KAFKA-1577:
--------------------------------------
OK, makes sense. Now, if this is the case, shouldn't the exception be swallowed
as soon as possible as below:
{code}
def close(channel: SocketChannel) {
if(channel != null) {
debug("Closing connection from " +
channel.socket.getRemoteSocketAddress())
swallowError(connectionQuotas.dec(channel.socket.getInetAddress)) //
known race condition may lead to NoSuchElementException
swallowError(channel.socket().close())
swallowError(channel.close())
}
}
{code}
It might make no difference at runtime, but the code is more readable.
> 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.3.4#6332)