Best-hold order bugfixes

Bug #1164058 reported by Lebbeous Fogle-Weekley
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Evergreen
Fix Released
Medium
Unassigned

Bug Description

For Evergreen 2.4+

The best-hold selection stock sort orders with "Traditional" in the name aren't quite right at modeling the traditional behavior of best-hold selection.

Traditional with Holds-go-home needs approx as the second determinant, otherwise holds whose request_lib matches the copy-in-hand's circ_lib alway try to go home even before the max foreign circulations interval has passed. With this re-ordering, we get the traditional behavior more perfectly.

The approx determinant represents a calculation that is somewhat more expensive than the hprox determinant it displaces, but best-hold selection part of checkin still completes in 0.117 seconds in a test on a wimpy VM (using 2 cores of an AMD Opteron 8380 and 2 GB of memory) with 1,000 holds targeting the same title. And approx coming first is just more correct, so it's the configuration that should be default. If sites do have performance issues, subbing pprox for approx could be appropriate if the site doesn't use proximity adjustments, or improvements could be made in the stored procedures underlying approx. But it's my expectation at this time that it's adequately performant.

Branch coming with pullrequest.

Revision history for this message
Lebbeous Fogle-Weekley (lebbeous) wrote :
Revision history for this message
Lebbeous Fogle-Weekley (lebbeous) wrote :

Removing pullrequest just for the moment, and generalizing this bug a little.

Disregard the branch in comment #1, and check out this branch:

This contains a second fix aimed at ensuring correct holds-go-home behavior.

Testing is ongoing, so not asking for a merge quite yet (although anyone else is still welcome to test).

summary: - Wrong best-hold order for "traditional" stock defaults
+ Best-hold order bugfixes
tags: removed: pullrequest
Revision history for this message
Lebbeous Fogle-Weekley (lebbeous) wrote :
Revision history for this message
Lebbeous Fogle-Weekley (lebbeous) wrote :

More bugfixes coming. Holds-go-home has a bug in at least some situations.

Revision history for this message
Lebbeous Fogle-Weekley (lebbeous) wrote :

A third commit has been added here addressing the correctness of the holds-go-home feature. My own early tests look good, but more thorough whole-workflow testing is happening even now.

Ben Shum (bshum)
Changed in evergreen:
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Lebbeous Fogle-Weekley (lebbeous) wrote :

The promised "more bugfixes" are here, with more techref documentation aiming to clear up the design a bit.

tags: added: pullrequest
Revision history for this message
Lebbeous Fogle-Weekley (lebbeous) wrote :

Force-pushed to the same branch.

Revision history for this message
Mike Rylander (mrylander) wrote :

Picked to master. Thanks!

Changed in evergreen:
status: Confirmed → Fix Committed
Ben Shum (bshum)
Changed in evergreen:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.