Avoid Internal Server Errors with Hold Count Calculation/Display
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Medium
|
Unassigned | ||
3.1 |
Fix Released
|
Medium
|
Unassigned | ||
3.2 |
Fix Released
|
Medium
|
Unassigned |
Bug Description
This issue arose because of Internal Server errors caused by time out of loading search results on our system, which displays the hold count for each record. Before the count is displayed, it is calculated on load, causing the issue.
The approach to address this is to precalculate the hold count and store it in a new table. The count would be updated on the creation, fulfillment, or cancellation of a hold. This moves the processing time away from the returning of search results, which is used a lot more than modifying holds.
On our system, we have seen speed increases on the returning of search results. Currently, our implementation only focuses a few hold types, since we only use a few. This fix will be ported over to master and updated with a larger set of hold types for community.
Changed in evergreen: | |
milestone: | 2.4.0-beta → 2.4.0-rc |
Changed in evergreen: | |
importance: | Undecided → Wishlist |
status: | New → Triaged |
Changed in evergreen: | |
milestone: | 2.4.0-rc → 2.5.0-alpha |
Changed in evergreen: | |
milestone: | 2.5.0-m1 → none |
tags: |
added: holds performance removed: count hold |
Changed in evergreen: | |
status: | Triaged → Confirmed |
importance: | Wishlist → Medium |
assignee: | Kyle Tomita (tomitakyle) → nobody |
milestone: | none → 3.2-beta |
Changed in evergreen: | |
milestone: | 3.2-beta → 3.2-rc |
Changed in evergreen: | |
milestone: | 3.2-rc → 3.2.1 |
Changed in evergreen: | |
milestone: | 3.2.1 → 3.2.2 |
Changed in evergreen: | |
milestone: | 3.2.2 → 3.2.3 |
Changed in evergreen: | |
milestone: | 3.2.3 → 3.3-beta1 |
status: | Confirmed → New |
Changed in evergreen: | |
milestone: | 3.3-beta1 → 3.3-rc |
Changed in evergreen: | |
milestone: | 3.3-rc → 3.3.1 |
Changed in evergreen: | |
milestone: | 3.3.1 → 3.3.2 |
Changed in evergreen: | |
assignee: | nobody → Cesar V (cesardv) |
tags: | added: signedoff |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
As a general note on this: I am working on some improvements for search that would likely include open hold counts as one of a number of things to be stored in an additional table. Some of it is still in the planning phases, granted (see some of the activity metric discussion on the general list). I imagine that my broader scope work will conflict with this work, if not in original intent than in duplication of work that the backend is doing.
If you want to question me about what I am working on feel free to email me.