[Koha-bugs] [Bug 29685] 'If all unavailable' state for 'on shelf holds' makes holds page very slow if there's a lot of items on opac

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Wed Dec 15 12:00:37 CET 2021


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=29685

Jonathan Druart <jonathan.druart+koha at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #128516|0                           |1
        is obsolete|                            |

--- Comment #4 from Jonathan Druart <jonathan.druart+koha at gmail.com> ---
Created attachment 128557
  -->
https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=128557&action=edit
Bug 29685: Reduce item processing by calculating 'items any available' outside
of loop

See bug 24185, this avoids looping every each item of the record for every item
of the record

How to reproduce:

1) on freshly installed kohadevbox create/import one book,
remember that biblionumber for later use it in down below,

2) add 100 items for that book for some library,

3) find some patron, that patron's card number we will
use as a borrower down below to open holds page,

4) check for the rule or set up a single circulation rule
in admin "/cgi-bin/koha/admin/smart-rules.pl",
that rule should match above book items/library/patron,
check that rule to have a non-zero number of holds (total, daily, count)
allowed,
and, IMPORTANT: set up "On shelf holds allowed" to "If all unavailable",
("item level holds" doesn't matter).

5) open "Home > Catalog > THAT_BOOK > Place a hold on THAT_BOOK" page
("holds" tab), and enter patron code in the search field,
or you can create a direct link by yourself, for example, in my case it was:
/cgi-bin/koha/reserve/request.pl?biblionumber=4&findborrower=23529000686353

6) it should be pretty long page generation time on old code, densely
increasing for every hundred items added. In the case of this solution, it's
fast, and time increases a little only, linear.

In testing with 100 books I went from ~6.5 seconds to ~3.2 seconds

Signed-off-by: Andrew Fuerste-Henry <andrew at bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart at bugs.koha-community.org>

-- 
You are receiving this mail because:
You are watching all bug changes.


More information about the Koha-bugs mailing list