Skip to content

Commit bef8c94

Browse files
committed
Revert "Merge pull request #1909 from Netflix/add_http_request_header_read_timeout_handler"
This reverts commit 2d84112, reversing changes made to fc25765.
1 parent 6c83620 commit bef8c94

File tree

5 files changed

+0
-182
lines changed

5 files changed

+0
-182
lines changed

zuul-core/src/main/java/com/netflix/zuul/netty/server/BaseServerStartup.java

-4
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,6 @@ protected void addChannelDependencies(
166166

167167
channelDeps.set(ZuulDependencyKeys.sessionCtxDecorator, sessionCtxDecorator);
168168
channelDeps.set(ZuulDependencyKeys.requestCompleteHandler, reqCompleteHandler);
169-
final Counter httpRequestHeadersReadTimeoutCounter = registry.counter("server.http.request.headers.read.timeout");
170-
channelDeps.set(ZuulDependencyKeys.httpRequestHeadersReadTimeoutCounter, httpRequestHeadersReadTimeoutCounter);
171169
final Counter httpRequestReadTimeoutCounter = registry.counter("server.http.request.read.timeout");
172170
channelDeps.set(ZuulDependencyKeys.httpRequestReadTimeoutCounter, httpRequestReadTimeoutCounter);
173171
channelDeps.set(ZuulDependencyKeys.filterLoader, filterLoader);
@@ -191,8 +189,6 @@ protected void addChannelDependencies(
191189

192190
channelDeps.set(ZuulDependencyKeys.sessionCtxDecorator, sessionCtxDecorator);
193191
channelDeps.set(ZuulDependencyKeys.requestCompleteHandler, reqCompleteHandler);
194-
final Counter httpRequestHeadersReadTimeoutCounter = registry.counter("server.http.request.headers.read.timeout");
195-
channelDeps.set(ZuulDependencyKeys.httpRequestHeadersReadTimeoutCounter, httpRequestHeadersReadTimeoutCounter);
196192
final Counter httpRequestReadTimeoutCounter = registry.counter("server.http.request.read.timeout");
197193
channelDeps.set(ZuulDependencyKeys.httpRequestReadTimeoutCounter, httpRequestReadTimeoutCounter);
198194
channelDeps.set(ZuulDependencyKeys.filterLoader, filterLoader);

zuul-core/src/main/java/com/netflix/zuul/netty/server/BaseZuulChannelInitializer.java

-15
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package com.netflix.zuul.netty.server;
1818

1919
import com.google.common.base.Preconditions;
20-
import com.netflix.config.CachedDynamicBooleanProperty;
2120
import com.netflix.config.CachedDynamicIntProperty;
2221
import com.netflix.netty.common.CloseOnIdleStateHandler;
2322
import com.netflix.netty.common.Http1ConnectionCloseHandler;
@@ -57,7 +56,6 @@
5756
import com.netflix.zuul.netty.insights.PassportStateHttpServerHandler;
5857
import com.netflix.zuul.netty.insights.ServerStateHandler;
5958
import com.netflix.zuul.netty.server.ssl.SslHandshakeInfoHandler;
60-
import com.netflix.zuul.netty.timeouts.HttpHeadersTimeoutHandler;
6159
import com.netflix.zuul.passport.PassportState;
6260
import io.netty.channel.Channel;
6361
import io.netty.channel.ChannelHandler;
@@ -90,12 +88,6 @@ public abstract class BaseZuulChannelInitializer extends ChannelInitializer<Chan
9088
public static final CachedDynamicIntProperty MAX_CHUNK_SIZE =
9189
new CachedDynamicIntProperty("server.http.decoder.maxChunkSize", 32768);
9290

93-
public static final CachedDynamicBooleanProperty HTTP_REQUEST_HEADERS_READ_TIMEOUT_ENABLED =
94-
new CachedDynamicBooleanProperty("server.http.request.headers.read.timeout.enabled", false);
95-
96-
public static final CachedDynamicIntProperty HTTP_REQUEST_HEADERS_READ_TIMEOUT =
97-
new CachedDynamicIntProperty("server.http.request.headers.read.timeout", 10000);
98-
9991
/**
10092
* The port that the server intends to listen on. Subclasses should NOT use this field, as it may not be set, and
10193
* may differ from the actual listening port. For example:
@@ -137,7 +129,6 @@ public abstract class BaseZuulChannelInitializer extends ChannelInitializer<Chan
137129
// protected final RequestRejectedChannelHandler requestRejectedChannelHandler;
138130
protected final SessionContextDecorator sessionContextDecorator;
139131
protected final RequestCompleteHandler requestCompleteHandler;
140-
protected final Counter httpRequestHeadersReadTimeoutCounter;
141132
protected final Counter httpRequestReadTimeoutCounter;
142133
protected final FilterLoader filterLoader;
143134
protected final FilterUsageNotifier filterUsageNotifier;
@@ -215,7 +206,6 @@ private BaseZuulChannelInitializer(
215206

216207
this.sessionContextDecorator = channelDependencies.get(ZuulDependencyKeys.sessionCtxDecorator);
217208
this.requestCompleteHandler = channelDependencies.get(ZuulDependencyKeys.requestCompleteHandler);
218-
this.httpRequestHeadersReadTimeoutCounter = channelDependencies.get(ZuulDependencyKeys.httpRequestHeadersReadTimeoutCounter);
219209
this.httpRequestReadTimeoutCounter = channelDependencies.get(ZuulDependencyKeys.httpRequestReadTimeoutCounter);
220210

221211
this.filterLoader = channelDependencies.get(ZuulDependencyKeys.filterLoader);
@@ -261,11 +251,6 @@ protected HttpServerCodec createHttpServerCodec() {
261251
}
262252

263253
protected void addHttpRelatedHandlers(ChannelPipeline pipeline) {
264-
pipeline.addLast(new HttpHeadersTimeoutHandler.InboundHandler(
265-
HTTP_REQUEST_HEADERS_READ_TIMEOUT_ENABLED::get,
266-
HTTP_REQUEST_HEADERS_READ_TIMEOUT::get,
267-
httpRequestHeadersReadTimeoutCounter
268-
));
269254
pipeline.addLast(new PassportStateHttpServerHandler.InboundHandler());
270255
pipeline.addLast(new PassportStateHttpServerHandler.OutboundHandler());
271256
if (httpRequestReadTimeout > -1) {

zuul-core/src/main/java/com/netflix/zuul/netty/server/ZuulDependencyKeys.java

-2
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,6 @@ public class ZuulDependencyKeys {
4848
new ChannelConfigKey<>("sessionCtxDecorator");
4949
public static final ChannelConfigKey<RequestCompleteHandler> requestCompleteHandler =
5050
new ChannelConfigKey<>("requestCompleteHandler");
51-
public static final ChannelConfigKey<Counter> httpRequestHeadersReadTimeoutCounter =
52-
new ChannelConfigKey<>("httpRequestHeadersReadTimeoutCounter");
5351
public static final ChannelConfigKey<Counter> httpRequestReadTimeoutCounter =
5452
new ChannelConfigKey<>("httpRequestReadTimeoutCounter");
5553
public static final ChannelConfigKey<FilterLoader> filterLoader = new ChannelConfigKey<>("filterLoader");

zuul-core/src/main/java/com/netflix/zuul/netty/timeouts/HttpHeadersTimeoutHandler.java

-99
This file was deleted.

zuul-integration-test/src/test/java/com/netflix/zuul/integration/IntegrationTest.java

-62
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@
5252
import java.io.InputStream;
5353
import java.net.HttpURLConnection;
5454
import java.net.ServerSocket;
55-
import java.net.Socket;
5655
import java.net.URL;
5756
import java.nio.charset.StandardCharsets;
5857
import java.time.Duration;
@@ -142,10 +141,6 @@ static void afterAll() {
142141

143142
@BeforeEach
144143
void beforeEachTest() {
145-
AbstractConfiguration config = ConfigurationManager.getConfigInstance();
146-
config.setProperty("server.http.request.headers.read.timeout.enabled", false);
147-
config.setProperty("server.http.request.headers.read.timeout", 10000);
148-
149144
this.pathSegment = randomPathSegment();
150145
this.wmRuntimeInfo = wireMockExtension.getRuntimeInfo();
151146
this.wireMock = wireMockExtension.getRuntimeInfo().getWireMock();
@@ -271,63 +266,6 @@ void httpGetFailsDueToOriginReadTimeout(
271266
verifyResponseHeaders(response);
272267
}
273268

274-
@ParameterizedTest
275-
@MethodSource("arguments")
276-
void httpGetHappyPathWithHeadersReadTimeout(
277-
final String description,
278-
final OkHttpClient okHttp,
279-
final boolean requestBodyBuffering,
280-
final boolean responseBodyBuffering)
281-
throws Exception {
282-
AbstractConfiguration config = ConfigurationManager.getConfigInstance();
283-
config.setProperty("server.http.request.headers.read.timeout.enabled", true);
284-
285-
wireMock.register(get(anyUrl()).willReturn(ok().withBody("hello world")));
286-
287-
Request request = setupRequestBuilder(requestBodyBuffering, responseBodyBuffering)
288-
.get()
289-
.build();
290-
Response response = okHttp.newCall(request).execute();
291-
assertThat(response.code()).isEqualTo(200);
292-
assertThat(response.body().string()).isEqualTo("hello world");
293-
verifyResponseHeaders(response);
294-
}
295-
296-
@ParameterizedTest
297-
@MethodSource("arguments")
298-
void httpPostHappyPathWithHeadersReadTimeout(
299-
final String description,
300-
final OkHttpClient okHttp,
301-
final boolean requestBodyBuffering,
302-
final boolean responseBodyBuffering)
303-
throws Exception {
304-
AbstractConfiguration config = ConfigurationManager.getConfigInstance();
305-
config.setProperty("server.http.request.headers.read.timeout.enabled", true);
306-
307-
wireMock.register(post(anyUrl()).willReturn(ok().withBody("Thank you next")));
308-
309-
Request request = setupRequestBuilder(requestBodyBuffering, responseBodyBuffering)
310-
.post(RequestBody.create("Simple POST request body".getBytes(StandardCharsets.UTF_8)))
311-
.build();
312-
Response response = okHttp.newCall(request).execute();
313-
assertThat(response.code()).isEqualTo(200);
314-
assertThat(response.body().string()).isEqualTo("Thank you next");
315-
verifyResponseHeaders(response);
316-
}
317-
318-
@Test
319-
void httpGetFailsDueToHeadersReadTimeout() throws Exception {
320-
AbstractConfiguration config = ConfigurationManager.getConfigInstance();
321-
config.setProperty("server.http.request.headers.read.timeout.enabled", true);
322-
config.setProperty("server.http.request.headers.read.timeout", 100);
323-
324-
Socket slowClient = new Socket("localhost", ZUUL_SERVER_PORT);
325-
Thread.sleep(500);
326-
// end of stream reached because zuul closed the connection
327-
assertThat(slowClient.getInputStream().read()).isEqualTo(-1);
328-
slowClient.close();
329-
}
330-
331269
@ParameterizedTest
332270
@MethodSource("arguments")
333271
void httpGetFailsDueToMalformedResponseChunk(

0 commit comments

Comments
 (0)