[
https://issues.apache.org/jira/browse/KAFKA-18274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chia-Ping Tsai resolved KAFKA-18274.
------------------------------------
Resolution: Fixed
> Failed to restart controller in testing due to closed socket channel
> --------------------------------------------------------------------
>
> Key: KAFKA-18274
> URL: https://issues.apache.org/jira/browse/KAFKA-18274
> Project: Kafka
> Issue Type: Bug
> Reporter: Chia-Ping Tsai
> Assignee: Peter Lee
> Priority: Major
> Fix For: 4.1.0
>
>
> In fact, there are three issues of restarting controller in testing.
> 1. we don't rebuild the metrics of `SharedServer` [0] - it causes NPE
> 2. we return the closed server socket [1]
> 3. we should return the new server socket bound with same port
> ```
> if (socketChannel != null && socketChannel.isOpen()) {
> return socketChannel;
> }
> // bind the server socket with same port
> if (socketChannel != null) {
> socketAddress = new
> InetSocketAddress(socketAddress.getHostString(),
> socketChannel.socket().getLocalPort());
> }
> ```
> [0]
> https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/server/ControllerServer.scala#L161
> [1]
> https://github.com/apache/kafka/blob/trunk/test-common/src/main/java/org/apache/kafka/common/test/PreboundSocketFactoryManager.java#L52
--
This message was sent by Atlassian Jira
(v8.20.10#820010)