Cannot Reproduce
Details
Assignee
Alexander KurashAlexander KurashReporter
Aditya KumarAditya KumarLabels
Priority
P2Story Points
0Development Team
VegaParent
Release
Lotus (R1 2022) Bug FixRCA Group
Not a bugAffected Institution
CornellTAMUTestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Assignee
Alexander Kurash
Alexander KurashReporter
Aditya Kumar
Aditya KumarLabels
Priority
Story Points
0
Development Team
Vega
Parent
Release
Lotus (R1 2022) Bug Fix
RCA Group
Not a bug
Affected Institution
Cornell
TAMU
TestRail: Cases
Open TestRail: Cases
TestRail: Runs
Open TestRail: Runs
Created January 27, 2022 at 12:22 PM
Updated June 28, 2022 at 6:35 AM
Resolved March 1, 2022 at 2:07 PM
Overview:
The open loans page for a user with large quantities of loans put lot of CPU and memory pressure on user's computer. Refer screenshots.
Various API relating to checkout and loan renewal process takes a lot of time to complete. (Refer HAR files attached)
GET /automated-patron-blocks takes >12s
GET /circulation/loans takes >8s
POST /circulation/renew-by-barcode takes > 8s for a single loan renewal
Multiple loans renewal process takes lot of time, > 8 * (no of loans being renewed). Multiple API calls are made to /circulation/renew-by-barcode to renew multiple loans synchronously. Also no spikes observed on CPU utilization of the EC2 and RDS. No slow queries found. Observed for cornell-test, jcnt cluster.
High content download time observed for some APIs like /circulations/loans. Although this can be due to larger latency as observed from India. Refer screenshots and HAR files
Steps to Reproduce:
Log into some BugFest Juniper environment.
Click Users - FOLIO (ebsco.com)
Open network tab and observe various API timings & Content download timings.
Open Chrome/Edge task manager to observe CPU and memory resources being consumed by the particular tab opened.
Select multiple loans and click renew button on top right
Again observe the network timings for various API calls.
Expected Results:
The loans page for user should not hamper user's computer responsiveness.
Multiple loans renewal process should take reasonable amount of time.
Actual Results:
The loans page for user hampers user's PC responsiveness.
Multiple loans renewal process should takes a lot of time.
Additional Information:
How to Use the Google Chrome Task Manager (lifewire.com)
How to open har file (howtocreate.com)
This ticket can be further split into multiple tickets to different projects.
Adding few tickets here to refer.
PTF - Renew loan items Workflow Test Report (Goldenrod) - Folio Development Teams - FOLIO Wiki
When trying to renew all on a user with a lot of loans, only 99 loans are renewed. - FOLIO Issue Tracker
Multiple loan renewal workflow calls multiple /renew_by_barcode API synchronously. - FOLIO Issue Tracker
Suggestions
The open loans page for a user can show loans in a paginated way with a search bar to search for loans.
A batch renewal API should exist and be used to renew multiple loans. The API should do all the validations including the limits setup by the tenant prior to actually renewing the loans. Parallel renewals can be done once the validation succeeds considering all loans. If the validation fails, the user can be presented with appropriate error message and can decide further actions. Example, If the user is trying to renew 4 loans at once when the tenant has a limit of two, the first attempt should fail and the user can be presented with a message and has option to choose which loans he wants to renew (2 out of 4). Override option can also be provided as present in some other workflows
URL: Users - FOLIO (ebsco.com)
Interested parties: