Summary: | Use L1 cache for get_all_subpermissions | ||
---|---|---|---|
Product: | Koha | Reporter: | Jonathan Druart <jonathan.druart> |
Component: | Architecture, internals, and plumbing | Assignee: | Jonathan Druart <jonathan.druart> |
Status: | CLOSED INVALID | QA Contact: | Testopia <testopia> |
Severity: | enhancement | ||
Priority: | P5 - low | CC: | dcook |
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Change sponsored?: | --- | Patch complexity: | --- |
Documentation contact: | Documentation submission: | ||
Text to go in the release notes: | Version(s) released in: | ||
Circulation function: | |||
Bug Depends on: | |||
Bug Blocks: | 27341 | ||
Attachments: | Bug 27343: Cache get_all_subpermissions return |
Description
Jonathan Druart
2021-01-05 13:51:54 UTC
Created attachment 114876 [details] [review] Bug 27343: Cache get_all_subpermissions return The permissions are fetched for every hit, we should cache them in L1. What do you mean by every hit? It seems to me that it's basically called for every request, but we clear the L1 cache for every request anyway, so I'm not sure this patch would change anything? Hum, looks like I was so frustrated to not find something significant in get_template_and_user that I invented problems. Yes, it's plain silly to use L1 in this situation. And L2 won't help much... (In reply to Jonathan Druart from comment #3) > Hum, looks like I was so frustrated to not find something significant in > get_template_and_user that I invented problems. > > Yes, it's plain silly to use L1 in this situation. And L2 won't help much... I do dislike get_template_and_user... heh. What about the block for "LoadSearchHistoryToTheFirstLoggedUser"? It looks like that could generate way more database calls than should be necessary, although I doubt that would show up in the benchmarking... Actually, going back to permissions, I have been thinking about whether we should calculate permissions for each request, or if we should calculate permissions at login time. I think that AWS calculates at least some permissions at login time, which would be more performant, although the annoying thing is that sometimes you have to logout and login again to gain newly assigned permissions. |