Epic to link all support issues located in Dev projects (SUP-12)

[UIU-1987] Viewing user loan details (when > 100 loans) results in ui unstable error for some loans Created: 01/Dec/20  Updated: 23/Jun/21  Resolved: 10/Dec/20

Status: Closed
Project: ui-users
Components: None
Affects versions: None
Fix versions: 5.0.9, 6.0.0
Parent: Epic to link all support issues located in Dev projects

Type: Bug Priority: P2
Reporter: Carole Godfrey Assignee: Zak Burke
Resolution: Done Votes: 0
Labels: support
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Attachments: PNG File loan-details.png     PNG File screenshot-1.png     GIF File user-loans-100plus.gif    
Issue links:
Relates
relates to UIU-1984 loan history - stripes error when mor... Closed
Sprint: Core: F - Sprint 103
Development Team: Prokopovych
Release: Q3 2020 Hot Fix #1
Affected Institution:
BNCF, Chalmers, Lehigh
Epic Link: Epic to link all support issues located in Dev projects

 Description   

Overview:
Steps to Reproduce:

  1. Log into a FOLIO Goldenrod (hotfix-5 environment - users 4.0.7)
  2. Navigate to a user having more than 100 loans total
  3. Go to open loans and select one of the loans (see attached gif)
  4. Observe - Error Page - with message - "The following occurred resulting in the current page becoming unstable.
    ERROR:Cannot read property 'status' of undefined"
    This error happens if the loan is not part of the first 100 returned -
    circulation/loans?query=(userId=ff9c90f2-2d88-4f94-95ad-246c300e0305)%20sortby%20id&limit=100

Expected Results:
Loan details are displayed
Actual Results:
Error page is displayed
Additional Information:

URL:
Interested parties:
Annalisa Di Sabato



 Comments   
Comment by Cate Boerema (Inactive) [ 01/Dec/20 ]

Marc Johnson is this FE or BE/which project should I move it to?

FYI Holly Mistlebauer as an example of the kind of issue you'll need to triage if you take on PO lead for Core Functional.

Comment by Marc Johnson [ 01/Dec/20 ]

Cate Boerema

Is this FE or BE/which project should I move it to?

I believe the UI should be defensive about the presence of a particular object being undefined.

It should probably be moved to UI users (assuming that is how support issues are addressed and that the support group has triaged this issue).

It would be interesting to know which object the UI was expecting, in case that does point to a back end bug.

cc: Zak Burke

Comment by Cate Boerema (Inactive) [ 01/Dec/20 ]

Thanks Marc Johnson. Yes, we are supposed to move the Support issues to the development projects. We just need to make sure to assign them to the Support epic and give them the "support" label

Comment by Cate Boerema (Inactive) [ 01/Dec/20 ]

Zak Burke do you have any new info on this bug? There is a go/no-go meeting in 20 minutes and I'd like to be able to give them an update on this one.

Comment by Zak Burke [ 01/Dec/20 ]

Cate Boerema, no new info. It doesn't appear to repro for me in folio-snapshot.

The ticket is a bit conflicted with itself: the description says "Log into a FOLIO Goldenrod (hotfix-5 environment - users 4.0.7)" but the "Release" value is "Q3 2020 Bug Fix". It's possible this is resolved in Honeysuckle (ui-users v5.0.8) already. I'll try to confirm that momentarily.

Comment by Cate Boerema (Inactive) [ 01/Dec/20 ]

Release is the release in which you want the issue to be fixed.

Comment by Cate Boerema (Inactive) [ 01/Dec/20 ]

Okay - I just realized this is a Goldenrod bug and BNCF is just now upgrading to Goldenrod. We should still keep investigating this (and it might even need to be backported to Goldenrod) but I don't think this is a Honeysuckle release blocker. I will remove the Release selection for now.

Comment by Cate Boerema (Inactive) [ 01/Dec/20 ]

Hmmm, I just did a quick JIRA search and found this possible duplicate bug (also filed by a production customer in the last 24 hours): UIU-1984 Closed

Comment by Zak Burke [ 01/Dec/20 ]

With a current and Q3-2020 (Honeysuckle) stripes build, I am unable to generate the error page described in the ticket. I can, however, generate a page that shows a loading-spinner forever and I think is a symptom of the same problem. This appears to be easily fixable by changing limit=100 to limit=1000 (or even higher) in a few key places.

In short, the bug is still present in Honeysuckle but doesn’t display as flagrantly as it did in Goldenrod. It is easy to fix and I think doing so is low-risk if folks are interested in back-porting the fix to Goldenrod.

Comment by Michelle Suranofsky [ 01/Dec/20 ]

Zak Burke Lehigh will be moving to Honeysuckle fairly soon ...so a Goldenrod back-port is not needed for us.

Comment by Holly Mistlebauer [ 02/Dec/20 ]

Cate Boerema: I need to make sure I get the notifications that you get. Please advise.

Comment by Cate Boerema (Inactive) [ 02/Dec/20 ]

Hi Holly Mistlebauer. I became aware of this bug because Carole Godfrey thought to ping me on Slack.

The documented process is that folks filing support bugs should make sure to assign dev teams (this way they will pop-up in the dev backlog which PO leads review regularly). I believe we also agreed that, if the issue was urgent (like this one), the reporter should tag the relevant PO in the issue comments. The relevant PO can be found here: https://folio-org.atlassian.net/wiki/display/COMMUNITY/Directory+of+Product+Owners+by+Area+of+Focus I don't see this part of the process documented on the wiki. Kelly Drake or Anya might want to add it. We might also want to add that, if it's not clear who the relevant PO is for a given issue, the reporter should tag the FOLIO Lead PO (currently me, but looking to backfill).

Hope that's helpful!

Comment by Carole Godfrey [ 02/Dec/20 ]

Cate Boerema - will this fix be made available as a hotfix to Honeysuckle - Anything special needed to request this?

Comment by Cate Boerema (Inactive) [ 02/Dec/20 ]

Carole Godfrey, I can request it when the fix has passed test in snapshot.

Do we need a goldenrod hotfix, as well or can BNCF wait until they upgrade to Honeysuckle?

Comment by Carole Godfrey [ 02/Dec/20 ]

Thanks Cate Boerema - fix has only been requested for Honeysuckle

Comment by Cate Boerema (Inactive) [ 02/Dec/20 ]

Does anyone know of a user record where this repros in https://bugfest-honeysuckle.folio.ebsco.com/?

Comment by Zak Burke [ 03/Dec/20 ]

Note from Holly Mistlebauer:

Libraries use 'dummy' users to assign bunches of books to when they want to move books, process them, or whatever. A single user could have thousands of items checked out to them.

IOW, eventually we need to implement paging through the loan-list. Scrolling through more than a few hundred loans is not a great UX.

Comment by Lisa Sjögren [ 03/Dec/20 ]

Cate Boerema I verified that this is happening in Chalmers' Goldenrod environment as well.

Comment by Cheryl Malmborg [ 03/Dec/20 ]

Chicago currently has 308 patrons with more than 100 current loans. The high is 1089.

Comment by Zak Burke [ 07/Dec/20 ]

I settled on 2,000 because we patched a bug somewhere recently, I don’t remember where exactly, that accidentally pulled 10k loans out of mod-circulation instead of a more limited number. The result was a 500 from mod-circ, and a comment from a back-end dev was something like, “Well, yeah, you try to pull that much data through mod-circ and I’m not surprised it tipped over.”

Long term, I think the right thing to do here is to implement paging so you can potentially get all loans, in click-for-more batches, if you want ’em, but you don’t kill mod-circ trying to get ’em all at once.

Comment by Marc Johnson [ 07/Dec/20 ]

Zak Burke

The result was a 500 from mod-circ, and a comment from a back-end dev was something like, “Well, yeah, you try to pull that much data through mod-circ and I’m not surprised it tipped over.”

Indeed, because mod-circulation fetches related records before providing a response to the client, asking for a lot of records in a single page can cause memory pressure that might induce failure.

We have broadly these options to address this on the back end:

  • Stop fetching as many related records and shift that responsibility to the client
  • Limit the maximum page size that any request can ask for
  • Use what FOLIO refers to as streaming for these APIs (however this is more complicated than for storage due to the coordination of fetching the related records)
Comment by Cate Boerema (Inactive) [ 08/Dec/20 ]

Zak Burke provided me with a user I could test with yesterday. And things were looking really good.

211 items charged to edwina, https://folio-snapshot.dev.folio.org/users/preview/4adf499e-c954-4bf9-9261-26720608e120?query=edwina. Clicking around in the open-loans list has correctly shown loan details for every row so far.

So I am going to put this into Awaiting release and will seek hotfix approval on the #release_bug_triage channel (I am pretty sure they will say yes).

Zak Burke, before we deploy this to Bugfest, though, I would love it if you could set up a user there with a lot of loans so I can repro it there before the fix is deployed. Thanks much!

Comment by Cate Boerema (Inactive) [ 08/Dec/20 ]

BTW, Zak Burke, did you make any further code changes since I tested? I know you were going to look into improving scrolling. If you ended up doing that, I think I should retest.

Comment by Zak Burke [ 08/Dec/20 ]

I have not made any additional changes, e.g. to reduce the janky scrolling, Cate Boerema; I got caught up in other tasks.

The bugfest-honeysuckle user bond has 200 open loans.

Comment by Cate Boerema (Inactive) [ 09/Dec/20 ]

The bugfest-honeysuckle user bond has 200 open loans.

Thanks Zak Burke. I am able to repro the issue with that user. Every 5 or so loans I click on don't load. I just get the loading indicator and the page never resolves.

Just waiting for hotfix approval at this point. I'll put this in Awaiting release when I get it.

Comment by Cate Boerema (Inactive) [ 10/Dec/20 ]

Zak Burke, I got approval for this hotfix on the #release_bug_triage channel. I am putting this in Awaiting release status. Thanks!

Comment by Cate Boerema (Inactive) [ 14/Dec/20 ]

Okay, this fix was deployed to BugFest and I tested again with this user: https://bugfest-honeysuckle.folio.ebsco.com/users/fac03ec0-fbaa-42f2-a985-01e94e3ecb6c/loans/open Now the loan details page always load (hooray!). I did try renewing a couple loans and attempted to declare one lost using the ellipses on the loans page. When I did that, I got a pubsub error, but I guess that probably relates to MODPUBSUB-147 Closed (and CIRC-1043 Closed which was closed as a duplicate of that error). Zak Burke, if you can confirm this, I'll go ahead and close this issue as done. Thanks!

Screenshot of pubsub error:

Comment by Zak Burke [ 14/Dec/20 ]

You are correct about the PubSub error being unrelated, Cate Boerema.

Comment by Cate Boerema (Inactive) [ 14/Dec/20 ]

Great! Closing this as done. Thanks for all your work on this, Zak Burke. I'll let the #releases folks know this hotfix has been tested and can be deployed to customers (probably as part of their initial Honeysuckle upgrade since most (all?) haven't upgraded to Honeysuckle yet).

Generated at Thu Feb 08 22:21:22 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.