|
@@ -128,6 +128,10 @@ public final class HttpServer2 implements FilterContainer {
|
|
|
public static final String HTTP_MAX_RESPONSE_HEADER_SIZE_KEY =
|
|
|
"hadoop.http.max.response.header.size";
|
|
|
public static final int HTTP_MAX_RESPONSE_HEADER_SIZE_DEFAULT = 65536;
|
|
|
+
|
|
|
+ public static final String HTTP_SOCKET_BACKLOG_SIZE_KEY =
|
|
|
+ "hadoop.http.socket.backlog.size";
|
|
|
+ public static final int HTTP_SOCKET_BACKLOG_SIZE_DEFAULT = 128;
|
|
|
public static final String HTTP_MAX_THREADS_KEY = "hadoop.http.max.threads";
|
|
|
public static final String HTTP_TEMP_DIR_KEY = "hadoop.http.temp.dir";
|
|
|
|
|
@@ -433,6 +437,9 @@ public final class HttpServer2 implements FilterContainer {
|
|
|
httpConfig.setResponseHeaderSize(responseHeaderSize);
|
|
|
httpConfig.setSendServerVersion(false);
|
|
|
|
|
|
+ int backlogSize = conf.getInt(HTTP_SOCKET_BACKLOG_SIZE_KEY,
|
|
|
+ HTTP_SOCKET_BACKLOG_SIZE_DEFAULT);
|
|
|
+
|
|
|
for (URI ep : endpoints) {
|
|
|
final ServerConnector connector;
|
|
|
String scheme = ep.getScheme();
|
|
@@ -448,6 +455,7 @@ public final class HttpServer2 implements FilterContainer {
|
|
|
}
|
|
|
connector.setHost(ep.getHost());
|
|
|
connector.setPort(ep.getPort() == -1 ? 0 : ep.getPort());
|
|
|
+ connector.setAcceptQueueSize(backlogSize);
|
|
|
server.addListener(connector);
|
|
|
}
|
|
|
server.loadListeners();
|
|
@@ -640,7 +648,6 @@ public final class HttpServer2 implements FilterContainer {
|
|
|
|
|
|
private static void configureChannelConnector(ServerConnector c) {
|
|
|
c.setIdleTimeout(10000);
|
|
|
- c.setAcceptQueueSize(128);
|
|
|
if(Shell.WINDOWS) {
|
|
|
// result of setting the SO_REUSEADDR flag is different on Windows
|
|
|
// http://msdn.microsoft.com/en-us/library/ms740621(v=vs.85).aspx
|