Skip to content

Commit c66a1c2

Browse files
committed
await closing sockets on shutdown
1 parent e2d66f4 commit c66a1c2

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

modules/elasticsearch/src/main/java/org/elasticsearch/transport/netty/NettyTransport.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ ThreadPool threadPool() {
324324
for (Iterator<NodeChannels> it = connectedNodes.values().iterator(); it.hasNext();) {
325325
NodeChannels nodeChannels = it.next();
326326
it.remove();
327-
nodeChannels.close();
327+
nodeChannels.closeAndWait();
328328
}
329329

330330
if (clientBootstrap != null) {
@@ -615,5 +615,23 @@ private void closeChannels(Channel[] channels) {
615615
}
616616
}
617617
}
618+
619+
public void closeAndWait() {
620+
closeChannelsAndWait(low);
621+
closeChannelsAndWait(med);
622+
closeChannelsAndWait(high);
623+
}
624+
625+
private void closeChannelsAndWait(Channel[] channels) {
626+
for (Channel channel : channels) {
627+
try {
628+
if (channel != null && channel.isOpen()) {
629+
channel.close().awaitUninterruptibly();
630+
}
631+
} catch (Exception e) {
632+
//ignore
633+
}
634+
}
635+
}
618636
}
619637
}

0 commit comments

Comments
 (0)