Hi Josh, Jason, The change in behavior was not intentional. Thanks for trouble shooting!
-b On Thu, Apr 30, 2020 at 11:05 AM Jason Stephenson <[email protected]> wrote: > 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 >
