[Bug 35826] New: Optimize building of holds queue based on transport cost matrix
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Bug ID: 35826 Summary: Optimize building of holds queue based on transport cost matrix Change sponsored?: --- Product: Koha Version: master Hardware: All OS: All Status: NEW Severity: enhancement Priority: P5 - low Component: Hold requests Assignee: koha-bugs@lists.koha-community.org Reporter: andreas.jonsson@kreablo.se QA Contact: testopia@bugs.koha-community.org CC: gmcharlt@gmail.com There are several problems when building the holds queue which makes it hard for the libraries to predict the outcome for how items are allocated based on their configured policy. 1. The allocation of items should be done by optimizing on transport cost. Currently a greedy algorithm is applied when building the holds queue which doesn't always produce optimal results. 2. The allocation of items should not fall back to some default allocation if an allocation by using the transport cost matrix fails. If no allocation can be found that satisfies the configured constraints it is a violation of the configured policies o proceed and make an allocation. 3. Although items at the local library have transport cost 0, assigning local items should not be given absolute precedence. It is simply false that assigning local items "is obviously the least costly" as the comment says. (That we hard code the cost to 0 for local items is also an arbitrary restriction in Koha, there is no technical reason as to why we shouldn't allow the libraries to set a cost for allocating local items.) I am currently working on a solution based on the Hungarian Algorithm. -- You are receiving this mail because: You are watching all bug changes. You are the assignee for the bug.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Andreas Jonsson <andreas.jonsson@kreablo.se> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|koha-bugs@lists.koha-commun |andreas.jonsson@kreablo.se |ity.org | -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Andreas Jonsson <andreas.jonsson@kreablo.se> changed: What |Removed |Added ---------------------------------------------------------------------------- URL| |https://wiki.koha-community | |.org/wiki/Optimize_holds_qu | |eue_building_using_the_Hung | |arian_Algorithm Status|NEW |In Discussion -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #1 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- Created RFC: https://wiki.koha-community.org/wiki/Optimize_holds_queue_building_using_the... -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Kyle M Hall <kyle@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kyle@bywatersolutions.com -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #2 from Kyle M Hall <kyle@bywatersolutions.com> --- (In reply to Andreas Jonsson from comment #1)
Created RFC: https://wiki.koha-community.org/wiki/ Optimize_holds_queue_building_using_the_Hungarian_Algorithm
This all looks really great but I'm worried about: Items that cannot be assigned to fill any current hold and holds that cannot be filled by any available item should have been sorted out before applying the algorithm, so there must be at least one item that can be assigned to one hold, and it would be unsatisfying if the algorithm failed to produce any allowed item assignment at all. I think the implication here is we must find the holdabilty of each item for each hold before we assign items to holds. I think that makes our current greedy algorithm at worst compares the first hold to all items, the second hold to all items less one, the third hold to all items less two and so forth. I tried to write the big O for these and mangled them so bad I thought it best to leave them out :) If I am correct about this, I think we need to retain the option to use the greedy algorithm. Did I miss something? -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #3 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- Provided that all rows with all values being "infinity" and all columns with all values being "infinity" is removed from the cost matrix beforehand and there's still something left in the matrix, then there must exist at least one pairing with finite cost that the algorithm will produce as result. And if the matrix is empty the greedy algorithm wouldn't find any allocations either. So, I'd say that we do not need the greedy algorithm. I think that my reasoning about different values to represent infinity was a bit confused. If a single large constant is used to represent infinity the result of the algorithm will still maximize the number of finite valued pairings, provided that the value representing infinity is larger than the total cost of any finite cost assignment. It might still be a good idea to use different values to represent infinity to prefer not filling holds towards the end of the queue if not all holds can be filled. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #4 from Kyle M Hall <kyle@bywatersolutions.com> --- (In reply to Andreas Jonsson from comment #3)
Provided that all rows with all values being "infinity" and all columns with all values being "infinity" is removed from the cost matrix beforehand and there's still something left in the matrix, then there must exist at least one pairing with finite cost that the algorithm will produce as result.
And if the matrix is empty the greedy algorithm wouldn't find any allocations either.
So, I'd say that we do not need the greedy algorithm.
I think that my reasoning about different values to represent infinity was a bit confused. If a single large constant is used to represent infinity the result of the algorithm will still maximize the number of finite valued pairings, provided that the value representing infinity is larger than the total cost of any finite cost assignment. It might still be a good idea to use different values to represent infinity to prefer not filling holds towards the end of the queue if not all holds can be filled.
Sounds good to me! -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #5 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- Created attachment 161373 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=161373&action=edit Bug 35826: optimize on transport cost when building holds queue -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Catrina Berka <catrina@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |catrina@bywatersolutions.co | |m -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #6 from Kyle M Hall <kyle@bywatersolutions.com> --- Can you publish a branch somewhere? Apply? [(y)es, (n)o, (i)nteractive] y Applying: Bug 35826: optimize on transport cost when building holds queue error: sha1 information is lacking or useless (C4/HoldsQueue.pm). error: could not build fake ancestor Patch failed at 0001 Bug 35826: optimize on transport cost when building holds queue hint: Use 'git am --show-current-patch=diff' to see the failed patch When you have resolved this problem run "git bz apply --continue". If you would prefer to skip this patch, instead run "git bz apply --skip". To restore the original branch and stop patching run "git bz apply --abort". -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #7 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- Sure: https://github.com/Kreablo/Koha/tree/feature-optimize-holds-queue-with-trans... -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #8 from Kyle M Hall <kyle@bywatersolutions.com> --- kohadev-koha@kohadevbox:koha((24874c76354...))$ hyperfine --warmup 3 --runs 100 'perl t/db_dependent/HoldsQueue.t' Benchmark 1: perl t/db_dependent/HoldsQueue.t Time (mean ± σ): 4.009 s ± 0.709 s [User: 3.218 s, System: 0.481 s] Range (min … max): 3.412 s … 5.955 s 100 runs kohadev-koha@kohadevbox:koha((24874c76354...))$ hyperfine --warmup 3 --runs 100 'perl t/db_dependent/HoldsQueue.t' Benchmark 1: perl t/db_dependent/HoldsQueue.t Time (mean ± σ): 4.193 s ± 0.798 s [User: 3.356 s, System: 0.510 s] Range (min … max): 3.449 s … 6.049 s 100 runs Not sure if we can consider HoldsQueue.t as representative of anything real world, but it does indicate performance is only slightly affected. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #9 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- I have done some profiling using real library data from region libraries and the algorithm itself cannot even be seen in the flame graph. It is the setup that is costly. The setup is more costly because we are making an exhaustive search for the optimal solution. With the greedy method we don't check the restrictions beetween each hold-item pair. Memoizing validate_hold_sibling and can_be_transferred would speed up the process. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Nick Clemens <nick@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nick@bywatersolutions.com --- Comment #10 from Nick Clemens <nick@bywatersolutions.com> --- What is needed for discussion here? -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #11 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- I have created an RFC: https://wiki.koha-community.org/wiki/Optimize_holds_queue_building_using_the... The discussion is on whether the community thinks that this is a worthwhile solution or not. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #12 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- Created attachment 161956 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=161956&action=edit Bug 35826: Fix errors in transport cost optimization -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #13 from Kyle M Hall <kyle@bywatersolutions.com> --- (In reply to Andreas Jonsson from comment #11)
I have created an RFC: https://wiki.koha-community.org/wiki/ Optimize_holds_queue_building_using_the_Hungarian_Algorithm
The discussion is on whether the community thinks that this is a worthwhile solution or not.
I'm going to go out on a limb and say that this is absolutely worthwhile. If anyone disagrees please let us know! -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #14 from Kyle M Hall <kyle@bywatersolutions.com> --- More benchmarks: build_holds_queue.pl with 3364 holds ( no tcm ) Master: ./misc/cronjobs/holds/build_holds_queue.pl Time (mean ± σ): 6.447 s ± 0.678 s [User: 4.801 s, System: 0.196 s] Range (min … max): 5.674 s … 7.588 s 10 runs Bug 35826: ./misc/cronjobs/holds/build_holds_queue.pl Time (mean ± σ): 6.745 s ± 0.750 s [User: 4.962 s, System: 0.209 s] Range (min … max): 6.081 s … 8.219 s 10 runs build_holds_queue.pl with 3364 holds ( with tcm ) Master: ./misc/cronjobs/holds/build_holds_queue.pl Time (mean ± σ): 6.805 s ± 0.625 s [User: 4.977 s, System: 0.232 s] Range (min … max): 6.046 s … 8.098 s 10 runs Bug 35826: ./misc/cronjobs/holds/build_holds_queue.pl Time (mean ± σ): 6.931 s ± 0.746 s [User: 5.142 s, System: 0.216 s] Range (min … max): 5.715 s … 7.903 s 10 runs build_holds_queue.pl with 6614 holds ( with tcm ) Master:: ./misc/cronjobs/holds/build_holds_queue.pl Time (mean ± σ): 6.991 s ± 0.545 s [User: 5.069 s, System: 0.219 s] Range (min … max): 6.529 s … 7.877 s 10 runs Bug 35826: ./misc/cronjobs/holds/build_holds_queue.pl Time (mean ± σ): 7.222 s ± 0.955 s [User: 5.341 s, System: 0.234 s] Range (min … max): 5.977 s … 8.636 s 10 runs build_holds_queue.pl with 9470 holds ( with tcm ) Master: ./misc/cronjobs/holds/build_holds_queue.pl Time (mean ± σ): 7.345 s ± 0.760 s [User: 5.410 s, System: 0.261 s] Range (min … max): 6.227 s … 8.432 s 10 runs Bug 35826: ./misc/cronjobs/holds/build_holds_queue.pl Time (mean ± σ): 6.871 s ± 0.881 s [User: 5.056 s, System: 0.210 s] Range (min … max): 5.937 s … 8.221 s 10 runs build_holds_queue.pl with 17159 holds ( with tcm ) Master: ./misc/cronjobs/holds/build_holds_queue.pl Time (mean ± σ): 6.862 s ± 0.643 s [User: 4.869 s, System: 0.194 s] Range (min … max): 6.034 s … 8.365 s 10 runs Bug 35826: ./misc/cronjobs/holds/build_holds_queue.pl Time (mean ± σ): 7.207 s ± 0.555 s [User: 5.132 s, System: 0.219 s] Range (min … max): 6.081 s … 7.833 s 10 runs Will run with some production data next -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #15 from Kyle M Hall <kyle@bywatersolutions.com> --- Tests with production data from a large library with 61661 holds on 218573 records with 1798064 items: kohadev-koha@kohadevbox:koha((fee4368cd81...))$ git checkout origin/master; hyperfine --warmup 3 --runs 10 "./misc/cronjobs/holds/build_holds_queue.pl --force"; git checkout bug35826-qa; hyperfine --warmup 3 --runs 10 "./misc/cronjobs/holds/build_holds_queue.pl --force" HEAD is now at fee4368cd81 Bug 35930: Add guards for plugins_enabled Benchmark 1: ./misc/cronjobs/holds/build_holds_queue.pl --force Time (mean ± σ): 43.093 s ± 3.282 s [User: 33.352 s, System: 1.129 s] Range (min … max): 38.749 s … 49.173 s 10 runs Previous HEAD position was fee4368cd81 Bug 35930: Add guards for plugins_enabled Switched to branch 'bug35826-qa' Your branch is ahead of 'origin/master' by 2 commits. (use "git push" to publish your local commits) Benchmark 1: ./misc/cronjobs/holds/build_holds_queue.pl --force Time (mean ± σ): 42.098 s ± 2.568 s [User: 32.566 s, System: 1.026 s] Range (min … max): 37.995 s … 45.096 s 10 runs TLDR: With real world data, not only should it route items more efficiently, it appears to be slightly faster then our current code -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #16 from Nick Clemens <nick@bywatersolutions.com> --- *** Bug 33796 has been marked as a duplicate of this bug. *** -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Michelle Spinney <mspinney@clamsnet.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mspinney@clamsnet.org -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 George Williams (NEKLS) <george@nekls.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |george@nekls.org --- Comment #17 from George Williams (NEKLS) <george@nekls.org> --- Is there a test plan for this? -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #18 from Kyle M Hall <kyle@bywatersolutions.com> --- (In reply to George Williams (NEKLS) from comment #17)
Is there a test plan for this?
I would say the test plan would be something along the lines of: 1) Enable the Transport Cost Matrix, set your values how you see fit 2) Place a number of holds on a number of records 3) Build the holds queue 4) Inspect what items were targeted to what holds -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #19 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- We have been running this in a test system of a large coalition of regional Libraries, but I think that we need a collection of unit tests to sufficiently test all aspects. It is too tedious to manually walk through all possible scenarios. I will try to find some more time to work on this. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #20 from Kyle M Hall <kyle@bywatersolutions.com> --- (In reply to Andreas Jonsson from comment #19)
We have been running this in a test system of a large coalition of regional Libraries, but I think that we need a collection of unit tests to sufficiently test all aspects. It is too tedious to manually walk through all possible scenarios. I will try to find some more time to work on this.
Thanks Andreas! -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Katie Bliss <kebliss@dmpl.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kebliss@dmpl.org -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #21 from Kyle M Hall <kyle@bywatersolutions.com> --- (In reply to Kyle M Hall from comment #20)
(In reply to Andreas Jonsson from comment #19)
We have been running this in a test system of a large coalition of regional Libraries, but I think that we need a collection of unit tests to sufficiently test all aspects. It is too tedious to manually walk through all possible scenarios. I will try to find some more time to work on this.
Andreas, have you had any time to work on those tests? -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #22 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- Created attachment 163017 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=163017&action=edit Bug 35826: Keep items on retry. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #23 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- Created attachment 163018 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=163018&action=edit Bug 35826: Add unit tests. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #24 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- Created attachment 163107 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=163107&action=edit Bug 35826: Make copy of cost matrix when substituting inf -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Kyle M Hall <kyle@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|In Discussion |Signed Off -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Kyle M Hall <kyle@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #161373|0 |1 is obsolete| | Attachment #161956|0 |1 is obsolete| | Attachment #163017|0 |1 is obsolete| | Attachment #163018|0 |1 is obsolete| | Attachment #163107|0 |1 is obsolete| | --- Comment #25 from Kyle M Hall <kyle@bywatersolutions.com> --- Created attachment 163641 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=163641&action=edit Bug 35826: optimize on transport cost when building holds queue Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #26 from Kyle M Hall <kyle@bywatersolutions.com> --- Created attachment 163642 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=163642&action=edit Bug 35826: Fix errors in transport cost optimization Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #27 from Kyle M Hall <kyle@bywatersolutions.com> --- Created attachment 163643 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=163643&action=edit Bug 35826: Keep items on retry. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #28 from Kyle M Hall <kyle@bywatersolutions.com> --- Created attachment 163644 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=163644&action=edit Bug 35826: Add unit tests. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #29 from Kyle M Hall <kyle@bywatersolutions.com> --- Created attachment 163645 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=163645&action=edit Bug 35826: Make copy of cost matrix when substituting inf Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Lisette Scheer <lisette.scheer@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |lisette.scheer@bywatersolut | |ions.com -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Martin Renvoize <martin.renvoize@ptfs-europe.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #163641|0 |1 is obsolete| | --- Comment #30 from Martin Renvoize <martin.renvoize@ptfs-europe.com> --- Created attachment 164501 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=164501&action=edit Bug 35826: optimize on transport cost when building holds queue Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Martin Renvoize <martin.renvoize@ptfs-europe.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #163642|0 |1 is obsolete| | --- Comment #31 from Martin Renvoize <martin.renvoize@ptfs-europe.com> --- Created attachment 164502 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=164502&action=edit Bug 35826: Fix errors in transport cost optimization Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Martin Renvoize <martin.renvoize@ptfs-europe.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #163643|0 |1 is obsolete| | --- Comment #32 from Martin Renvoize <martin.renvoize@ptfs-europe.com> --- Created attachment 164503 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=164503&action=edit Bug 35826: Keep items on retry. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Martin Renvoize <martin.renvoize@ptfs-europe.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #163644|0 |1 is obsolete| | --- Comment #33 from Martin Renvoize <martin.renvoize@ptfs-europe.com> --- Created attachment 164504 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=164504&action=edit Bug 35826: Add unit tests. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Martin Renvoize <martin.renvoize@ptfs-europe.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #163645|0 |1 is obsolete| | --- Comment #34 from Martin Renvoize <martin.renvoize@ptfs-europe.com> --- Created attachment 164505 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=164505&action=edit Bug 35826: Make copy of cost matrix when substituting inf Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Martin Renvoize <martin.renvoize@ptfs-europe.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |martin.renvoize@ptfs-europe | |.com QA Contact|testopia@bugs.koha-communit |martin.renvoize@ptfs-europe |y.org |.com -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Martin Renvoize <martin.renvoize@ptfs-europe.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Signed Off |Passed QA --- Comment #35 from Martin Renvoize <martin.renvoize@ptfs-europe.com> --- Well implemented, clear code and unit tests present. Current tests pass, new tests also passing. QA script happy, Passing QA NOTE: New dependency -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Kyle M Hall <kyle@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Passed QA |Patch doesn't apply --- Comment #36 from Kyle M Hall <kyle@bywatersolutions.com> --- Andreas, could you rebase your patch set for master? Thanks! -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Andreas Jonsson <andreas.jonsson@kreablo.se> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #164501|0 |1 is obsolete| | --- Comment #37 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- Created attachment 164964 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=164964&action=edit Bug 35826: optimize on transport cost when building holds queue Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Andreas Jonsson <andreas.jonsson@kreablo.se> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #164502|0 |1 is obsolete| | --- Comment #38 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- Created attachment 164965 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=164965&action=edit Bug 35826: Fix errors in transport cost optimization Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Andreas Jonsson <andreas.jonsson@kreablo.se> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #164503|0 |1 is obsolete| | --- Comment #39 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- Created attachment 164966 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=164966&action=edit Bug 35826: Keep items on retry. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Andreas Jonsson <andreas.jonsson@kreablo.se> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #164504|0 |1 is obsolete| | --- Comment #40 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- Created attachment 164967 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=164967&action=edit Bug 35826: Add unit tests. Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Andreas Jonsson <andreas.jonsson@kreablo.se> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #164505|0 |1 is obsolete| | --- Comment #41 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- Created attachment 164968 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=164968&action=edit Bug 35826: Make copy of cost matrix when substituting inf Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Andreas Jonsson <andreas.jonsson@kreablo.se> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Patch doesn't apply |Needs Signoff -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Martin Renvoize <martin.renvoize@ptfs-europe.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Needs Signoff |Signed Off --- Comment #42 from Martin Renvoize <martin.renvoize@ptfs-europe.com> --- You don't need to go so the way back to NSO for a rebase, thanks for the quick action. Testing to PQA so it hurts Katrins queue again. 😃 -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Martin Renvoize <martin.renvoize@ptfs-europe.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Signed Off |Passed QA -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #43 from Nick Clemens <nick@bywatersolutions.com> --- (In reply to Martin Renvoize from comment #42)
Testing to PQA so it hurts Katrins queue again. 😃
Punish the RM with patches! :-D -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #44 from Katrin Fischer <katrin.fischer@bsz-bw.de> --- (In reply to Nick Clemens from comment #43)
(In reply to Martin Renvoize from comment #42)
Testing to PQA so it hurts Katrins queue again. 😃
Punish the RM with patches! :-D
I am watching you too! ;) -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #45 from Andreas Jonsson <andreas.jonsson@kreablo.se> --- I also recommend bug 35899 for busy libraries with many holds. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Katrin Fischer <katrin.fischer@bsz-bw.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dependency -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #46 from Katrin Fischer <katrin.fischer@bsz-bw.de> --- Note: This introduces a new dependency on libalgorithm-munkres-perl. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Katrin Fischer <katrin.fischer@bsz-bw.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Passed QA |Pushed to main Version(s)| |24.05.00 released in| | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #47 from Katrin Fischer <katrin.fischer@bsz-bw.de> --- Pushed for 24.05! Well done everyone, thank you! -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #48 from Katrin Fischer <katrin.fischer@bsz-bw.de> --- (In reply to Katrin Fischer from comment #46)
Note: This introduces a new dependency on libalgorithm-munkres-perl.
I have learned now that this is a bigger deal than I thought. Ideally the developer introducing a new dependency should check early on if it's OK to use it. As we support various OS versions we need to make sure it's available everywhere or if extra work would be needed. The packaging manager will need to push the dependency to the staging repo first before we push this and changes for ktd need to be made. I hope I got that all correctly. We are looking into properly updating the documentation on Monday! -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Marcel de Rooy <m.de.rooy@rijksmuseum.nl> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |m.de.rooy@rijksmuseum.nl --- Comment #49 from Marcel de Rooy <m.de.rooy@rijksmuseum.nl> --- hmm current master Error while loading /etc/koha/plack.psgi: Can't locate Algorithm/Munkres.pm in @INC -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #50 from Marcel de Rooy <m.de.rooy@rijksmuseum.nl> --- (In reply to Katrin Fischer from comment #48)
(In reply to Katrin Fischer from comment #46)
Note: This introduces a new dependency on libalgorithm-munkres-perl.
I have learned now that this is a bigger deal than I thought.
Would be nice to have the module first. Now master crashes. Cant load plack.psgi -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #51 from Katrin Fischer <katrin.fischer@bsz-bw.de> --- (In reply to Marcel de Rooy from comment #50)
(In reply to Katrin Fischer from comment #48)
(In reply to Katrin Fischer from comment #46)
Note: This introduces a new dependency on libalgorithm-munkres-perl.
I have learned now that this is a bigger deal than I thought.
Would be nice to have the module first. Now master crashes. Cant load plack.psgi
Yes, we need to decide on how we want to handle these so we avoid breakages. Sorry for that. ktd should now work if you pull latest images, for other installations it can be installed manually. Mason was looking into it. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 David Cook <dcook@prosentient.com.au> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dcook@prosentient.com.au --- Comment #52 from David Cook <dcook@prosentient.com.au> --- (In reply to Marcel de Rooy from comment #50)
(In reply to Katrin Fischer from comment #48)
(In reply to Katrin Fischer from comment #46)
Note: This introduces a new dependency on libalgorithm-munkres-perl.
I have learned now that this is a bigger deal than I thought.
Would be nice to have the module first. Now master crashes. Cant load plack.psgi
Agreed. Just came to complain about the same thing heh. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #53 from Katrin Fischer <katrin.fischer@bsz-bw.de> --- (In reply to David Cook from comment #52)
(In reply to Marcel de Rooy from comment #50)
(In reply to Katrin Fischer from comment #48)
(In reply to Katrin Fischer from comment #46)
Note: This introduces a new dependency on libalgorithm-munkres-perl.
I have learned now that this is a bigger deal than I thought.
Would be nice to have the module first. Now master crashes. Cant load plack.psgi
Agreed. Just came to complain about the same thing heh.
Complaining is one way, what we need to do is build a solid workflow so we don't end up in the same situation again :) ktd should be ok again, where are you experiencing issues now? -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #54 from Martin Renvoize <martin.renvoize@ptfs-europe.com> --- Perhaps we should just highlight the relevant option for KTD.. or set the default differently: https://gitlab.com/koha-community/koha-testing-docker/-/blob/main/env/defaul... By the time things get to release the packaging issues should all be resolved -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #55 from Katrin Fischer <katrin.fischer@bsz-bw.de> --- Hm yes and no - instructions for developers are probably helpful, but we also need to know beforehand if a package makes sense/should be used. A check by PM could highlight issues with different Debian versions that might make us rethink implementation sometimes. I think involving them early is key. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Fridolin Somers <fridolin.somers@biblibre.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|Pushed to main |Needs documenting CC| |fridolin.somers@biblibre.co | |m --- Comment #56 from Fridolin Somers <fridolin.somers@biblibre.com> --- Not backported to 23.11.x -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Martin Renvoize <martin.renvoize@ptfs-europe.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC|martin.renvoize@ptfs-europe | |.com | -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Nick Clemens (kidclamp) <nick@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |37594 Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=37594 [Bug 37594] Holds assigned to multiple items when using RTHQ and Transport Cost Matrix -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Nick Clemens (kidclamp) <nick@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |38126 Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=38126 [Bug 38126] Holds queue is allocating holds twice when using TransportCostMatrix and LocalHoldsPriority -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Steve, OSLRI, USA <sspohn@oslri.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bywater@oslri.net, | |sspohn@oslri.net -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 --- Comment #57 from Katrin Fischer <katrin.fischer@bsz-bw.de> --- There is some discussion about an unexpected behavior changes that is probably related in the Mattermost Townsquare channel: https://chat.koha-community.org/koha-community/pl/qe9krxsmnpdwiyg69wy8uao31a It would be good if we could get some more info/insight into the current workings of the mechanism there. -- You are receiving this mail because: You are watching all bug changes.
https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=35826 Nick Clemens (kidclamp) <nick@bywatersolutions.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Blocks| |41959 Referenced Bugs: https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=41959 [Bug 41959] Holds queue builder doesn't always check all holds when using transport cost matrix -- You are receiving this mail because: You are watching all bug changes.
participants (1)
-
bugzilla-daemon@bugs.koha-community.org