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

[UIREQ-541] Move requests does not show all items (over 10) Created: 29/Oct/20  Updated: 18/Mar/21  Resolved: 19/Nov/20

Status: Closed
Project: ui-requests
Components: None
Affects versions: None
Fix versions: 5.0.0
Parent: Epic to link all support issues located in Dev projects

Type: Bug Priority: P2
Reporter: Anya Assignee: Sergiy Sergiyenko
Resolution: Done Votes: 0
Labels: Support
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Attachments: PNG File screenshot-1.png     PNG File screenshot-2.png    
Issue links:
Relates
relates to UIREQ-552 The height of modal does not adapt to... Closed
relates to UIREQ-558 "414 Request URI Too Long" error when... Closed
Sprint: Core: F - Sprint 101, Core: F - Sprint 102, Core: F - Sprint 100
Story Points: 3
Development Team: Prokopovych
Release: Q3 2020 Bug Fix
Affected Institution:
Chalmers, Simmons
Epic Link: Epic to link all support issues located in Dev projects
Estimation Notes and Assumptions: Assuming we'll increase the limit to 1,000. No changes to the ui display

 Description   

In Chalmers Goldenrod we have noted that there are items missing in the Move requests -modal. Only 9 items are shown even if there are a lot more. Tested in Snapshot-stable as of 2020-10-29 and found that the bug is there as well, but here 10 items are shown.

Steps to reproduce:
1. Place a request on an item that is on an instance with more than 10 items, for example Barcode 1203922273 at the instance Arkitekten
https://chalmers.folio.ebsco.com/requests/view/d65bfc26-f834-43db-a60f-cca06cdb1819

2. At Request detail, click Actions - move request

Expected result:
To see all possible items to move the request to.
At Arkitekten there are many items, about 100. In Snapshot stable there were 13 items on the instance i tested.

Actual result:
I see 9 other items (In Snapsot stable i saw 10 other items)

Interested: Marie Widigson



 Comments   
Comment by Anya [ 29/Oct/20 ]

Tagging Cate Boerema

Comment by Kelly Drake [ 29/Oct/20 ]

Able to duplicate in Simmons test environment, Goldenrod hotfix #4. (for reference https://simmons-test.folio.indexdata.com/requests/view/6ebb274f-5bef-4350-97f5-8d5f7764d01c)

Comment by Kelly Drake [ 29/Oct/20 ]

Anya - what priority should this be? P2 or P3?

Comment by Anya [ 29/Oct/20 ]

Kelly Drake I am leaning toward 2...

Comment by Sergiy Sergiyenko [ 05/Nov/20 ]

Hi Anya.

The issue was that a default limit (=10) was set to display items when Move requests.
Could you please clarify what limit should be set - 100, 1000?

cc Cate Boerema

Comment by Cate Boerema (Inactive) [ 05/Nov/20 ]

Hi Sergiy Sergiyenko. In grooming we decided that 1,000 seems like a reasonable limit. Of course, if there is an instance with 1,000 items (very unlikely, per Charlotte), this popup is not going to be very usable. That said, changing the UI to better handle such a high number of items (by adding search or filter capabilities, for example) is out of scope for this issue.

Comment by Sergiy Sergiyenko [ 05/Nov/20 ]

Oh, I just saw it. Sorry, Cate Boerema, I missed it.

Comment by Zak Burke [ 10/Nov/20 ]

This is testable on folio-snapshot by placing the request on one of the item attached to "L’Apprenti sorcier / Paul Dukas"; just do a keyword search for "dukas", then click a barcode and choose "New request" from the "Actions" menu.

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

Tested in snapshot and it looks great. Thanks for all your work on this Sergiy Sergiyenko!

Comment by Cate Boerema (Inactive) [ 18/Nov/20 ]

Hi Sergiy Sergiyenko, I have tested this in Bugfest and am getting a permission error:

  1. Log into Bugfest as abreaux/admin or folio/folio
  2. Go to https://bugfest-honeysuckle.folio.ebsco.com/requests/view/1871011e-14e7-4423-a47b-6351df4c68ca?filters=requestStatus.Open%20-%20Awaiting%20pickup%2CrequestStatus.Open%20-%20Not%20yet%20filled%2CrequestStatus.Open%20-%20In%20transit%2CrequestStatus.Open%20-%20Awaiting%20delivery&query=29d3ed6c-f0e4-414d-bf46-dfca84c09988&sort=Request%20Date
  3. This is a request on an item in an instance with more than a hundred other items
  4. From the actions menu, choose move to another item

Expected: should show all other items

Actual:

Comment by Sergiy Sergiyenko [ 19/Nov/20 ]

Hi Cate Boerema.

Thanks for pointing this out.

After investigation, it turned out that the reason for the error is exceeding the max URI length. In other words, if the number of items that we specify in the request exceeds 70, we will receive a 414 Request-URI Too Long error.
Bohdan Suprun confirmed that there is a limitation on the max URI length that BE is able to process. It was experimentally found that it is 3510 characters.

Considering the above, I believe it would be better to create a separate ticket to address this issue.
A preliminary proposal is to divide the array of items into chunks with a length of about 50 items and make separate requests for each such chunk.

cc Zak Burke, Marc Johnson

Comment by Marc Johnson [ 19/Nov/20 ]

Sergiy Sergiyenko

A preliminary proposal is to divide the array of items into chunks with a length of about 50 items and make separate requests for each such chunk.

Depending upon what else is in the query, e.g. if there are other CQL clauses and the length of the server name, it might be safer to use a slightly smaller number, like 40

Comment by Zak Burke [ 19/Nov/20 ]

Yes, Sergiy Sergiyenko, the inability to do joins except by providing a list of IDs, which leads to realllllllllllly long query strings, is an architectural flaw in our system we haven't really figured out how to cope with. The approach we've taken in ui-users is to step through the list and retrieve things in batches. We found that 50 works there, but as Marc Johnson noted that's really dependent on what other values are part of the query.

I haven't looked closely at the ui-users block to see if we could usefully make that into a generic function or if it's just a pattern we need to repeat.

Comment by Marc Johnson [ 19/Nov/20 ]

the inability to do joins except by providing a list of IDs, which leads to realllllllllllly long query strings, is an architectural flaw in our system we haven't really figured out how to cope with

I don't think anyone has really investigated this challenge

I haven't looked closely at the ui-users block to see if we could usefully make that into a generic function or if it's just a pattern we need to repeat.

In mod-circulation (which also has to do this, because it also makes requests to the storage modules using CQL), there is a function that takes an index (e.g. id), a list of values and the rest of the CQL clauses and generates a set of CQL queries from the partitioned values.

Comment by Cate Boerema (Inactive) [ 19/Nov/20 ]

Okay, Sergiy Sergiyenko. Can you please create that separate issue and link it here? I will test this again in BugFest with a smaller number of items and hopefully it can be closed.

Comment by Sergiy Sergiyenko [ 19/Nov/20 ]

UIREQ-558 Closed is created.

Comment by Cate Boerema (Inactive) [ 19/Nov/20 ]

Okay, I tested that more than 10 items show in the popup in BugFest with this request: https://bugfest-honeysuckle.folio.ebsco.com/requests/view/d02502fa-44db-4e09-a018-d40b4578c265

Marie Widigson and Kelly Drake, it seems that we are now able to display up to 70 items in this popup. We'll need to do more work to display more than 70. Would you consider that to be a Q3 release blocker/hotfix issue? Or could it wait until R1 2021. Thanks!

Comment by Kelly Drake [ 19/Nov/20 ]

Cate Boerema Simmons can wait for more than 70 to R1.

Comment by Marie Widigson [ 20/Nov/20 ]

Thanks for taking care of this. Chalmers can wait for more than 70 as well. (A bit confused about the different namings. R1 2021=Iris i suppose.)

Comment by Cate Boerema (Inactive) [ 23/Nov/20 ]

Thanks Kelly Drake and Marie Widigson. Yes R1 2021 = Iris. We are using "R1" instead of "Q1" since our releases no longer map to quarters.

I will create a new bug for displaying more than 70 items in this popup and will assign it to R1 2021. Actually the bug is already created and in code review: UIREQ-558 Closed

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