HDFS-13493. Reduce the HttpServer2 thread count on DataNodes. Contributed by Erik Krogen.
(cherry picked from commit cddbbe5f690e4617413f6e986adc6fa900629f03) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/f57e91a3 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/f57e91a3 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/f57e91a3 Branch: refs/heads/branch-3.1 Commit: f57e91a3483188089fc9aac1e493c08ec9045b8c Parents: a138496 Author: Inigo Goiri <inigo...@apache.org> Authored: Wed May 23 12:12:08 2018 -0700 Committer: Inigo Goiri <inigo...@apache.org> Committed: Wed May 23 12:12:40 2018 -0700 ---------------------------------------------------------------------- .../hdfs/server/datanode/web/DatanodeHttpServer.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/f57e91a3/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/DatanodeHttpServer.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/DatanodeHttpServer.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/DatanodeHttpServer.java index 0ce327a..4349c26 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/DatanodeHttpServer.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/DatanodeHttpServer.java @@ -89,6 +89,13 @@ public class DatanodeHttpServer implements Closeable { private InetSocketAddress httpsAddress; static final Log LOG = LogFactory.getLog(DatanodeHttpServer.class); + // HttpServer threads are only used for the web UI and basic servlets, so + // set them to the minimum possible + private static final int HTTP_SELECTOR_THREADS = 1; + private static final int HTTP_ACCEPTOR_THREADS = 1; + private static final int HTTP_MAX_THREADS = + HTTP_SELECTOR_THREADS + HTTP_ACCEPTOR_THREADS + 1; + public DatanodeHttpServer(final Configuration conf, final DataNode datanode, final ServerSocketChannel externalHttpChannel) @@ -97,7 +104,12 @@ public class DatanodeHttpServer implements Closeable { this.conf = conf; Configuration confForInfoServer = new Configuration(conf); - confForInfoServer.setInt(HttpServer2.HTTP_MAX_THREADS_KEY, 10); + confForInfoServer.setInt(HttpServer2.HTTP_MAX_THREADS_KEY, + HTTP_MAX_THREADS); + confForInfoServer.setInt(HttpServer2.HTTP_SELECTOR_COUNT_KEY, + HTTP_SELECTOR_THREADS); + confForInfoServer.setInt(HttpServer2.HTTP_ACCEPTOR_COUNT_KEY, + HTTP_ACCEPTOR_THREADS); int proxyPort = confForInfoServer.getInt(DFS_DATANODE_HTTP_INTERNAL_PROXY_PORT, 0); HttpServer2.Builder builder = new HttpServer2.Builder() --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org