![](http://content.invisioncic.com/i328763/monthly_2023_11/pic2.thumb.png.fa2565a609638993e32470bb686bad09.png)
Problem:
A customer has raised a question about the limitation of the collection passed in parameter. He did a simple testing by passing more than 18k+ items from the multiple selection input control to the report which has a query using $X{IN} with a collection parameter. However, the report only display up to 9992 records instead of all the passed in items.
Testing as following steps:
Run the report by select all 18k+ from the multiple-selection input control.
http://community-static.jaspersoft.com/sites/default/files/wiki_attachments/pic1.png
Click OK to run. Only 9992 records displayed. See attached picture 2.
http://community-static.jaspersoft.com/sites/default/files/wiki_attachments/pic2.png
Solution:
It's a limitation of JRS input controls, derived from a Tomcat configuration.
If you display the number of parameter values in the report, you will see "9992 parameters". Which means that JR gets a list of 9992 values for the report parameter.
Tomcat's log file has the following message:
18-Nov-2016 09:38:05.574 INFO [http-nio-8080-exec-8] org.apache.tomcat.util.http.Parameters.processParameters More than the maximum number of request parameters (GET plus POST) for a single request ([10,000]) were detected. Any parameters beyond this limit have been ignored. To change this limit, set the maxParameterCount attribute on the Connector.
If you set maxParameterCount to 20000 for the HTTP connector in conf/server.xml, JR will get the full list of values from the JRS input control.
Here is the configuration sample:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxParameterCount="20000"/>
Recommended Comments
There are no comments to display.