functioner commented on a change in pull request #11504: URL: https://github.com/apache/kafka/pull/11504#discussion_r753548985
########## File path: core/src/main/scala/kafka/network/SocketServer.scala ########## @@ -734,6 +734,10 @@ private[kafka] class Acceptor(val endPoint: EndPoint, val endThrottleTimeMs = e.startThrottleTimeMs + e.throttleTimeMs throttledSockets += DelayedCloseSocket(socketChannel, endThrottleTimeMs) None + case e: IOException => + info(s"Encounter IOException", e) + closeSocket(socketChannel) Review comment: There are multiple classes defined in `core/src/main/scala/kafka/network/SocketServer.scala`. The `accept` method belongs to `Acceptor`, rather than `SocketServer`, so we can't override `accept` the way you show. We need to override `accept` in `Acceptor`, and then use this `Acceptor` when the `SocketServer` is initialized. It seems none of the tests in `core/src/test/scala/unit/kafka/network/SocketServerTest.scala` have this kind of behavior. `Acceptor` appears multiple times within `SocketServer`, in multiple forms. So it seems we have to modify some code in `SocketServer` to enable our new `Acceptor`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org