Details
-
Type:
Improvement
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.13, 2.14
-
Fix Version/s: 2.14.3
-
Component/s: Repository
-
Labels:
-
Story Points:2
-
Sprint:Sprint 87, Sprint 88
Description
AbstractGroupRepository collects any throwables thrown from its member repositories when requesting content and stores them in a map (memberThrowables) which it then propagates upstream inside a GroupItemNotFoundException. The stored throwables are only used when handling 'describe' requests.
For complex setups with lots of nested groups and many concurrent requests these throwables can end up taking a significant amount of heap, only never to be used because the requests are almost exclusively non-describe requests.
By skipping collection of these throwables for non-describe requests we should reduce pressure on the heap for all users (those with complex setups should see the most benefit).