https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=26208 --- Comment #5 from David Cook <dcook@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.