LP#1949910: serialize deleting items from item bucket
authorGalen Charlton <gmc@equinoxOLI.org>
Thu, 11 Nov 2021 16:21:11 +0000 (11:21 -0500)
committerChris Sharp <csharp@georgialibraries.org>
Wed, 15 Dec 2021 19:57:04 +0000 (14:57 -0500)
commitcad4f1f9c38e75a3cd912f863aecec3edc121d03
tree776f0ae81e0cd854e12d372834ff537be1aaa635
parentf8e192b338a29d9a785a0ead5841e9b486106ea9
LP#1949910: serialize deleting items from item bucket

This patch serializes the fetching and fleshing of items to delete
when the delete-from-item-bucket action is invoked, thereby
avoiding possible drone starvation from open-ils.search. It
also throws up the progress dialog for good measure while
the deletion occurs.

To test
-------
[1] Set up an item bucket with 25-50 items.
[2] From the item bucket intervace, invoke the action to delete
    all of the items.
[3] Note that the open-ils.search.asset.copy.fleshed2.retrieve calls,
    one for each item, are all made simultaneously. Assuming stock
    max_children settings, this will cause open-ils.search to log
    that some requests are hitting the backlog.
[4] Apply the patch and refresh the item bucket page, then repeat
    step 2 (it doesn't matter for this purpose that the items have
    already been deleted). This time, the open-ils.search API calls
    are made serially and a progress bar is displayed while the
    deletion takes place. Verify that no requests hit the backlog.

Signed-off-by: Galen Charlton <gmc@equinoxOLI.org>
Open-ILS/web/js/ui/default/staff/cat/bucket/copy/app.js