[ https://issues.apache.org/jira/browse/KAFKA-5595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16088601#comment-16088601 ]
ASF GitHub Bot commented on KAFKA-5595: --------------------------------------- GitHub user rajinisivaram opened a pull request: https://github.com/apache/kafka/pull/3530 KAFKA-5595: Ensure client connection ids are not reused too quickly On the broker, if client ports are reused when response to a closed connection is outstanding, broker may send the outstanding response to a new connection with the reused port. The new connection will end up with correlation id mismatch, requiring process restart. This is also a security exposure since clients receive response intended for the wrong connection. You can merge this pull request into a Git repository by running: $ git pull https://github.com/rajinisivaram/kafka KAFKA-5595 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/3530.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #3530 ---- commit f1f42bcb57e77cd0841b588ae91cee457ba07832 Author: Rajini Sivaram <rajinisiva...@googlemail.com> Date: 2017-07-15T13:01:47Z KAFKA-5595: Ensure client connection ids are not reused too quickly ---- > Illegal state in SocketServer; attempt to send with another send in progress > ---------------------------------------------------------------------------- > > Key: KAFKA-5595 > URL: https://issues.apache.org/jira/browse/KAFKA-5595 > Project: Kafka > Issue Type: Bug > Reporter: Jason Gustafson > > I have seen this a couple times, but I'm not sure the conditions associated > with it. > {code} > java.lang.IllegalStateException: Attempt to begin a send operation with prior > send operation still in progress. > at > org.apache.kafka.common.network.KafkaChannel.setSend(KafkaChannel.java:138) > at org.apache.kafka.common.network.Selector.send(Selector.java:248) > at kafka.network.Processor.sendResponse(SocketServer.scala:488) > at kafka.network.Processor.processNewResponses(SocketServer.scala:466) > at kafka.network.Processor.run(SocketServer.scala:431) > at java.lang.Thread.run(Thread.java:748) > {code} > Prior to this event, I see a lot of this message in the logs (always for the > same connection id): > {code} > Attempting to send response via channel for which there is no open > connection, connection id 7 > {code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)