API roles and lookup performance
Whenever Cloud API receives a JWT, it must look up the roles on the JWT and then attempt
to match them to role.yaml files. For internal users, this lookup
involves a query of the User table for the user's roles. The lookup may
encounter roles that are either in the JWT or returned by the User
table query for which they are no corresponding role.yaml files. The
lookup may also have to resolve roles whose names have been translated.
To improve the performance of this lookup, the role names for the default language and US English are now cached by PLDependencies (RoleNameCache). This cache refreshes:
- Any time a Role is updated.
- After the number of minutes specified by the
RoleNameCacheStaleTimeMinutesapplication configuration parameter has elapsed.
In the base configuration, RoleNameCacheStaleTimeMinutes is set to 60
minutes. The parameter can have a minimum value of 1 and a maximum value of 720.