Context:
In SUPPORT-8628 it was discovered that due to changes in Optimize 3.1.0 the peformance of calls to EngineDefinitionAuthorizationService.isAuthorizedToSeeDefinition does not scale well, especially in the scenario of the */entities and collection/<id>/role endpoints due to a nested Reader call being definitionReader.getDefinitionEngines(definitionType, definitionKey) which causes one elasticsearch request per entity. Depending on the latency to elasticsearch this add up quickly to bad response times as these calls are ran sequentially and redundantly (n reports for same definition casue such search queries).
AT:
- results of definitionReader.getDefinitionEngines(definitionType, definitionKey) need to be cached for a configurable cache window
- results of TenantService.getTenants should get cached for a configurable cache window
- results of eventProcessRoleService.getRoles should get cached for a configurable cache window
- performance tests are extended to verify the caching benefits on /entities endpoints (private and collection specific) (response times must be below < 1s)
- cache entry limit and default ttl should be configurable
This is the controller panel for Smart Panels app
- is related to
-
OPT-4257 Collection /role endpoint is performing badly for Manager users
- Done