-
Improvement
-
Resolution: Fixed
-
Critical
-
None
-
-
771.v3fa_85a_df2c50
When there are many roles defined (>100 assuming one user per role) the UI becomes very laggy as the number of checkboxes is at least quadratic with the number of roles. In other tickets users claim to use over 400 roles. That result in over 160000 checkboxes.
This has following effects:
- Page loading is slow (~1min)
- UI is very laggy
- Scrolling takes several seconds
- Huge memory consumption in the browser
- Hitting limits in Jetty (number of max form items (default 10000), max form size (default 200000)) during submit
To overcome this the way the checkboxes are shown has to be radically changed.
- the jelly will just provide an empty table. A template is already there for adding new assignments and can be reused
- On page load the complete list of roles and assigned users is fetched as json and stored in a variable
- Only a defined number of rows (20) is added to the table and shown
- Scrolling can be achieved via buttons
- when clicking a checkbox the corresponding json needs to be updated
- upon save/apply only the json is sent to the backend not the complete form
- filtering should still be working to allow showing only the things a user needs to look at
- relates to
-
JENKINS-75686 Assign roles page causes browser memory exhaustion
-
- Resolved
-
- links to