[
https://issues.apache.org/jira/browse/KAFKA-5595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16089143#comment-16089143
]
ASF GitHub Bot commented on KAFKA-5595:
---------------------------------------
GitHub user rajinisivaram reopened a pull request:
https://github.com/apache/kafka/pull/3530
KAFKA-5595: Ensure client connection ids are not reused too quickly
When there are broker delays that cause a response to take longer than
`connections.max.idle.ms`, connections may be closed by the broker (as well as
by the client) before the response is processed.
If the port is reused, 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 99f3374b5c3b0cb5efcdfe4c553aac943297b016
Author: Rajini Sivaram <[email protected]>
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)