Browse Source

HDFS-10423. Increase default value of httpfs maxHttpHeaderSize. Contributed by Nicolae Popa.

(cherry picked from commit aa1b583cf99d1a7cfe554d1769fc4af252374663)

Conflicts:
	hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/libexec/httpfs-config.sh
Aaron T. Myers 9 years ago
parent
commit
0f616cefeb

+ 4 - 0
hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/conf/httpfs-env.sh

@@ -44,6 +44,10 @@
 #
 # export HTTPFS_SSL_ENABLED=false
 
+# The maximum size of Tomcat HTTP header
+#
+# export HTTPFS_MAX_HTTP_HEADER_SIZE=65536
+
 # The location of the SSL keystore if using SSL
 #
 # export HTTPFS_SSL_KEYSTORE_FILE=${HOME}/.keystore

+ 7 - 0
hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/libexec/httpfs-config.sh

@@ -164,6 +164,13 @@ else
   print "Using   HTTPFS_SSL_KEYSTORE_PASS:     ${HTTPFS_SSL_KEYSTORE_PASS}"
 fi
 
+if [ "${HTTPFS_MAX_HTTP_HEADER_SIZE}" = "" ]; then
+  export HTTPFS_MAX_HTTP_HEADER_SIZE=65536
+  print "Setting HTTPFS_MAX_HTTP_HEADER_SIZE:     ${HTTPFS_MAX_HTTP_HEADER_SIZE}"
+else
+  print "Using   HTTPFS_MAX_HTTP_HEADER_SIZE:     ${HTTPFS_MAX_HTTP_HEADER_SIZE}"
+fi
+
 if [ "${CATALINA_BASE}" = "" ]; then
   export CATALINA_BASE=${HTTPFS_HOME}/share/hadoop/httpfs/tomcat
   print "Setting CATALINA_BASE:       ${CATALINA_BASE}"

+ 1 - 0
hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/tomcat/server.xml

@@ -71,6 +71,7 @@
     -->
     <Connector port="${httpfs.http.port}" protocol="HTTP/1.1"
                connectionTimeout="20000"
+               maxHttpHeaderSize="${httpfs.max.http.header.size}"
                redirectPort="8443"/>
     <!-- A "Connector" using the shared thread pool-->
     <!--

+ 1 - 0
hadoop-hdfs-project/hadoop-hdfs-httpfs/src/main/tomcat/ssl-server.xml

@@ -70,6 +70,7 @@
          described in the APR documentation -->
     <Connector port="${httpfs.http.port}" protocol="HTTP/1.1" SSLEnabled="true"
                maxThreads="150" scheme="https" secure="true"
+               maxHttpHeaderSize="${httpfs.max.http.header.size}"
                clientAuth="false" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2,SSLv2Hello"
                keystoreFile="${httpfs.ssl.keystore.file}"
                keystorePass="${httpfs.ssl.keystore.pass}"/>

+ 4 - 0
hadoop-hdfs-project/hadoop-hdfs-httpfs/src/site/markdown/ServerSetup.md.vm

@@ -80,6 +80,8 @@ HttpFS preconfigures the HTTP and Admin ports in Tomcat's `server.xml` to 14000
 
 Tomcat logs are also preconfigured to go to HttpFS's `logs/` directory.
 
+HttpFS default value for the maxHttpHeaderSize parameter in Tomcat's `server.xml` is set to 65536 by default.
+
 The following environment variables (which can be set in HttpFS's `etc/hadoop/httpfs-env.sh` script) can be used to alter those values:
 
 * HTTPFS\_HTTP\_PORT
@@ -88,6 +90,8 @@ The following environment variables (which can be set in HttpFS's `etc/hadoop/ht
 
 * HADOOP\_LOG\_DIR
 
+* HTTPFS\_MAX\_HTTP\_HEADER\_SIZE
+
 HttpFS Configuration
 --------------------