[Koha-bugs] [Bug 26208] Overdues restrictions not consistently removed when renewing multiple items at once

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Sun Dec 6 23:37:10 CET 2020


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

--- Comment #5 from David Cook <dcook at prosentient.com.au> ---
(In reply to Nick Clemens from comment #4)
> In these cases with restrictions there are no failures, just a race
> condition:
>         # Remove any OVERDUES related debarment if the borrower has no
> overdues
>         if ( $patron
>           && $patron->is_debarred
>           && ! $patron->has_overdues
>           && @{ GetDebarments({ borrowernumber => $borrowernumber, type =>
> 'OVERDUES' }) } 
>         ) {
>             DelUniqueDebarment({ borrowernumber => $borrowernumber, type =>
> 'OVERDUES' });
>         }
> 
> When all the transactions hit at once they are getting conflicting
> information and not removing the debarment, so all items renewed but
> restrictions stay
> 

Ok that's interesting. So the last 2 renewals for overdues will be happening
around the same time, so $patron->has_overdues will be true for both. Yeah
that's not good. Thanks for the clarification.

> I filed bug 27152, but currently this is a bug affecting many sites and this
> is a simple solution. There is a performance cost, but there will be with a
> bulk endpoint too

I would say that a bulk endpoint could actually have less of a performance
cost, because with a bulk endpoint you could do less database I/O by fetching
all the database data with 1 query. Although I guess with our use of DBIC we
don't really do that as we currently prioritize convenience over performance.
Anyway, food for thought.

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


More information about the Koha-bugs mailing list