From 19126429b6cee2e6b1f75470b65b72df0f352eb6 Mon Sep 17 00:00:00 2001 From: David Turner Date: Tue, 8 Jul 2025 11:45:28 +0100 Subject: [PATCH] Add HTTP transport startup hook This commit introduces a `startInternal()` method to `AbstractHttpServerTransport` and makes `doStart()` a final method so that we can customize the startup behaviour of the HTTP transport in a follow-up without needing cooperation from subclasses. Relates ES-12223 --- .../netty4/Netty4HttpServerTransport.java | 2 +- .../http/AbstractHttpServerTransport.java | 9 ++++- .../AbstractHttpServerTransportTests.java | 38 ++++++------------- 3 files changed, 21 insertions(+), 28 deletions(-) diff --git a/modules/transport-netty4/src/main/java/org/elasticsearch/http/netty4/Netty4HttpServerTransport.java b/modules/transport-netty4/src/main/java/org/elasticsearch/http/netty4/Netty4HttpServerTransport.java index 9dc8555bad552..316cb62e9e145 100644 --- a/modules/transport-netty4/src/main/java/org/elasticsearch/http/netty4/Netty4HttpServerTransport.java +++ b/modules/transport-netty4/src/main/java/org/elasticsearch/http/netty4/Netty4HttpServerTransport.java @@ -165,7 +165,7 @@ public Settings settings() { } @Override - protected void doStart() { + protected void startInternal() { boolean success = false; try { sharedGroup = sharedGroupFactory.getHttpGroup(); diff --git a/server/src/main/java/org/elasticsearch/http/AbstractHttpServerTransport.java b/server/src/main/java/org/elasticsearch/http/AbstractHttpServerTransport.java index 1ee76643042c3..195eff85077a8 100644 --- a/server/src/main/java/org/elasticsearch/http/AbstractHttpServerTransport.java +++ b/server/src/main/java/org/elasticsearch/http/AbstractHttpServerTransport.java @@ -235,6 +235,13 @@ private TransportAddress bindAddress(final InetAddress hostAddress) { protected abstract HttpServerChannel bind(InetSocketAddress hostAddress) throws Exception; + @Override + protected final void doStart() { + startInternal(); + } + + protected abstract void startInternal(); + /** * Gracefully shut down. If {@link HttpTransportSettings#SETTING_HTTP_SERVER_SHUTDOWN_GRACE_PERIOD} is zero, the default, then * forcefully close all open connections immediately. @@ -251,7 +258,7 @@ private TransportAddress bindAddress(final InetAddress hostAddress) { * */ @Override - protected void doStop() { + protected final void doStop() { synchronized (httpServerChannels) { if (httpServerChannels.isEmpty() == false) { try { diff --git a/server/src/test/java/org/elasticsearch/http/AbstractHttpServerTransportTests.java b/server/src/test/java/org/elasticsearch/http/AbstractHttpServerTransportTests.java index d8b6f0fc96ae8..13653cc18c098 100644 --- a/server/src/test/java/org/elasticsearch/http/AbstractHttpServerTransportTests.java +++ b/server/src/test/java/org/elasticsearch/http/AbstractHttpServerTransportTests.java @@ -211,14 +211,10 @@ protected HttpServerChannel bind(InetSocketAddress hostAddress) { } @Override - protected void doStart() { - - } + protected void startInternal() {} @Override - protected void stopInternal() { - - } + protected void stopInternal() {} @Override public HttpStats stats() { @@ -295,14 +291,10 @@ protected HttpServerChannel bind(InetSocketAddress hostAddress) { } @Override - protected void doStart() { - - } + protected void startInternal() {} @Override - protected void stopInternal() { - - } + protected void stopInternal() {} @Override public HttpStats stats() { @@ -385,7 +377,7 @@ protected HttpServerChannel bind(InetSocketAddress hostAddress) { } @Override - protected void doStart() {} + protected void startInternal() {} @Override protected void stopInternal() {} @@ -516,7 +508,7 @@ protected HttpServerChannel bind(InetSocketAddress hostAddress) { } @Override - protected void doStart() {} + protected void startInternal() {} @Override protected void stopInternal() {} @@ -567,9 +559,7 @@ protected HttpServerChannel bind(InetSocketAddress hostAddress) { } @Override - protected void doStart() { - - } + protected void startInternal() {} @Override protected void stopInternal() { @@ -710,14 +700,10 @@ protected HttpServerChannel bind(InetSocketAddress hostAddress) { } @Override - protected void doStart() { - - } + protected void startInternal() {} @Override - protected void stopInternal() { - - } + protected void stopInternal() {} @Override public HttpStats stats() { @@ -774,7 +760,7 @@ protected HttpServerChannel bind(InetSocketAddress hostAddress) { } @Override - protected void doStart() {} + protected void startInternal() {} @Override protected void stopInternal() {} @@ -856,7 +842,7 @@ protected HttpServerChannel bind(InetSocketAddress hostAddress) { } @Override - protected void doStart() {} + protected void startInternal() {} @Override protected void stopInternal() {} @@ -1226,7 +1212,7 @@ protected HttpServerChannel bind(InetSocketAddress hostAddress) { } @Override - protected void doStart() { + protected void startInternal() { bindServer(); }