item editor retrieves all stat cats on first invocation for a performance hit
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Medium
|
Unassigned | ||
2.2 |
Won't Fix
|
Medium
|
Unassigned | ||
2.3 |
Fix Released
|
Medium
|
Unassigned |
Bug Description
During the login sequence, the staff client retrieves and caches copy stat cats and entries for the workstation library "full path" (basically, the workstation, its ancestors, and descendants), using the call open-ils.
The item editor is equipped to retrieve stat cats that have not yet been cached thus, but it does it for whole libraries at a time. So for example, if the workstation is BR1, and you load an item owned by BR4, it'll call the same full path retrieve on BR4 and cache those as well.
But there's a design/logic flaw here where it eventually makes the full path retrieve call against the top of the org tree, which essentially retrieves all stat cats in the system. The more you have, the longer it takes, though it's a one-time cost per login session.
Changed in evergreen: | |
status: | New → Confirmed |
importance: | Undecided → Medium |
no longer affects: | evergreen/2.4 |
Changed in evergreen: | |
milestone: | none → 2.4.0-alpha |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
I tried this on a test system (master) with a BR4 item on a BR1 workstation and could not reproduce the problem. So something more subtle is happening, jfyi. Still investigating...