Clarity: Advance Reporting Request header is too large and fails with Error 400

book

Article ID: 197848

calendar_today

Updated On:

Products

Clarity PPM On Premise Clarity PPM SaaS

Issue/Introduction

Users gets Error 400 when navigating to Advance Reporting 

 

Steps to Reproduce 

 

  1. Login to Clarity with a user who has Advance Reporting Rights 
  2. Navigate to Advance reporting

Expected Result: User should be able to land to Advance Reporting Page 

Actual Error : User gets Error 400 and in the Catalina log you will see the below errors 

 

 

 INFO [http-nio-8090-exec-1] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header

Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level.

        java.lang.IllegalArgumentException: Request header is too large

                at org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:726)

                at org.apache.coyote.http11.Http11InputBuffer.parseHeader(Http11InputBuffer.java:873)

                at org.apache.coyote.http11.Http11InputBuffer.parseHeaders(Http11InputBuffer.java:579)

                at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:518)

                at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)

                at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:810)

                at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1506)

                at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)

                at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)

                at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)

                at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

                at java.lang.Thread.run(Unknown Source)

 

Cause

The reason for this issue is when you pass headers in your request which is greater than default 

  1. The maximum size of the request and response HTTP header, if not specified, this attribute is set to 8192 (4 KB), which is more than enough. However, if you are adding lot of headers or using cookies extensively, this limit can be breached. 

Environment

Release : 15.x

Component : CA PPM JASPERSOFT

Resolution

To solve this,

 

  1. Stop the Jaspersoft Tomcat services
  2. Open the file $TOMCAT_HOME/conf/server.xml -->find the "connection" section --> add the parameter maxHttpHeaderSize="102400" 
    1. Example: <Connector port="8090" protocol="HTTP/1.1" redirectPort="8443" maxHttpHeaderSize="102400" URIEncoding="UTF-8"/>
  3. Save the file and stop Jaspersoft Tomcat 
  4. Delete $TOMCAT_HOME/temp & $TOMCAT_HOME/work folder 
  5. Start the Jaspersoft Tomcat services

Additional Information

Note: In the above steps we have user maxHttpHeaderSize="102400" and you can decide the value after finding out the size of the Header in browser developer tools