Description
This is not easy to reproduce but it can happen if you:
- configure your user profile to see hidden pages => this will lead to a very long query string on the URL used to retrieve the tree contents (top level pages that are normally hidden are now visible so they have to be explicitly excluded, this leads to a very long exclude list with absolute document references)
- add many cookies
The request for tree contents fails with something like:
java.lang.IllegalArgumentException: Request header is too large org.apache.coyote.http11.Http11InputBuffer.fill(Http11InputBuffer.java:785) org.apache.coyote.http11.Http11InputBuffer.parseHeader(Http11InputBuffer.java:940) org.apache.coyote.http11.Http11InputBuffer.parseHeaders(Http11InputBuffer.java:607) org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:525) org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818) org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1626) org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.base/java.lang.Thread.run(Thread.java:834)
The problem is described here https://thewebspark.com/2017/12/06/tomcat-request-header-too-large-resolved/ . If you expect to have many cookies then you should increase maxHttpHeaderSize for Tomcat. On XWiki side, we should try to reduce the size of the tree URL:
- remove some redundancy in the exclusions list (i.e. we can pass relative references)
- use POST instead of GET