[OPEN-ILS-GENERAL] Hold Targeter - Ignore Closing logic change?

Jason Stephenson jason at sigio.com
Thu Apr 30 11:04:44 EDT 2020


Josh,

I don't know what the intention was when the new hold targeter was
written, but I think it is potentially a bug.

Would you mind opening a bug on Launchpad?

Jason

On 4/29/20 11:13 PM, Josh Stompro wrote:
> Hello, we have been doing curbside pickup, along with using the
> emergency closing handler to mark all of our locations closed.
> 
> I was just told that some holds have not been targeting the local
> copies... which led me to notice that the expected item was getting
> skipped with a log entry of "skipping copy X at closed org".  That led
> me to see that we had the following Library Settings set.
> 
> Target copies for a hold even if copy's circ lib is closed  = True
> Target copies for a hold even if copy's circ lib is closed IF the circ
> lib is the hold's pickup lib  = False
> 
> Now, with the old targeter, this seemed to work fine because the second
> setting was checked, and if it was false the first setting was checked
> as a fallback.   (Could someone check my interpretation of the old logic
> though.)
> https://github.com/evergreen-library-system/Evergreen/blob/7f48513889098e47ee4a9d1b7cdbf5d5fe2ca8bb/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm#L1362
> 
> The new targeter doesn't seem to have the same fallthrough logic.  If
> the circ_lib matches the pickup lib then only
> the circ.holds.target_when_closed_if_at_pickup_lib setting is checked.
> https://github.com/evergreen-library-system/Evergreen/blob/47f5ddaa8b029d41c710255380260614ef7ea6ae/Open-ILS/src/perlmods/lib/OpenILS/Utils/HoldTargeter.pm#L705
> 
> I would think this would have caused more havok than it did, but I found
> that because of bug 1868837, in many cases the local copy was still
> being selected, so there were still quite a few items being pulled for
> customers at the same location.
> https://bugs.launchpad.net/evergreen/+bug/1868837  
> 
> I don't know if this behavior change is really a bug or not.  It made
> sense to me that the  circ.holds.target_when_closed would take effect if
> the  circ.holds.target_when_closed_if_at_pickup_lib  setting was set to
> false, but the current way is perhaps clearer since you don't have to
> know about the fallthrough behavior.
> 
> After I changed the circ.holds.target_when_closed_if_at_pickup_lib
> setting to true and reset all the holds and retargeted, everything again
> works as expected.
> 
> Josh
> 
> -- 
> Josh Stompro - IT Director
> Lake Agassiz Regional Library
> Desk: 218-233-3757 Ext 139
> Cell: 218-790-2110


More information about the Open-ils-general mailing list