Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-78120

Adding new users in Space Permission fails when maxParameterCount is exceeded

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Low Low
    • None
    • 6.10.1, 7.6.3, 7.14.1, 9.2.4
    • None

      Issue Summary

      At the moment admins are not able to add new users in Space Permissions, when there is already a lot of users configured in the Space Permissions. The page refreshes, but the new added user is not configured and no error message is seen. 

      The following can be seen in the tomcat logs when this happens:

      10-Aug-9999 20:58:20.930 INFO [http-nio-8090-exec-9] 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.
      

      By default, the Tomcat server limits the number of parameter and value pairs within the HTTP request to 10,000.  When saving space permissions, Confluence sends one parameter/value pair for each user and/or group and for each permission.  Since each user/group can have multiple permissions, this number of parameter/value pairs can quickly increase beyond the 10,000 limit. 

      For more details on the Tomcat maxParameterCount parameter, please see: Apache Tomcat 9 Configuration Reference

      The issue here is that admins are not aware about this, as there is no visible error message in the UI.

      Steps to Reproduce

      1. Populate a space with at least 450 users ensuring that they are all given all the permissions.
      2. Attempt to add a new user. Ensure that the total number of variable pairs exceed 10000

      Expected Results

      • User Permission is added normally or
      • Error message is seen to inform the admin the reason the user permission was not added

      Actual Results

      • The space permission page refreshes. 
      • The User is not added.
      • No error message or warning seen in the UI.
      • The following can be seen in the tomcat logs
      10-Aug-9999 20:58:20.930 INFO [http-nio-8090-exec-9] 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. 
      • In the payload tab in the Developer Tools, of the browser, you will notice that there are more than 10000 value pairs

      Workaround

      Solution 1

      If hundreds of users have been added to a space individually, the best option would be to use Groups to provide permissions to Space.

      Solution 2

      If the option above is not viable, increase the maxParameterCount within Tomcat:

      1. Stop Confluence
      2. Add the maxParameterCount parameter to the Tomcat connector in the <confluence-install-folder>/conf/server.xml file.  For example:
        <Connector port="8090" protocol="HTTP/1.1"
        connectionTimeout="20000"
        redirectPort="8443" maxParameterCount="15000"/>
        
      1. Start Confluence

              Unassigned Unassigned
              afaridi Ahmad Faridi (Inactive)
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: