Inventory tool performance seems to be worst since 16.11. I think it is because of authorized values computing changed by Bug 17249. For each subfield of each item, we try to get the authorized value description with Koha::AuthorisedValues->search_by_marc_field. But this method does not use cache like Koha::AuthorisedValues->get_description_by_koha_field. I propose to use Koha::AuthorisedValues->get_description_by_koha_field and also to look for authorized value description only for item fields used in TT : location, notforloan, itemlost, damaged, withdrawn. I have experimented inventory time on 100 items from 5s to 1s.
Created attachment 65416 [details] [review] Bug 19023 - inventory tool performance Inventory tool performance seems to be worst since 16.11. I think it is because of authorized values computing changed by Bug 17249. For each subfield of each item, we try to get the authorized value description with Koha::AuthorisedValues->search_by_marc_field. But this method does not use cache like Koha::AuthorisedValues->get_description_by_koha_field. I propose to use Koha::AuthorisedValues->get_description_by_koha_field and also to look for authorized value description only for item fields used in TT : location, notforloan, itemlost, damaged, withdrawn. I have experimented inventory time on 100 items from 5s to 1s. Test plan : - Without patch - Perform inventory with barcode file - Check results and mesure execution time - Apply patch - Reperform inventory with same barcode file - Check results is the same - Compare execution time - Run prove t/db_dependent/Items/GetItemsForInventory.t
Created attachment 65426 [details] [review] [SIGNED-OFF] Bug 19023 - inventory tool performance Inventory tool performance seems to be worst since 16.11. I think it is because of authorized values computing changed by Bug 17249. For each subfield of each item, we try to get the authorized value description with Koha::AuthorisedValues->search_by_marc_field. But this method does not use cache like Koha::AuthorisedValues->get_description_by_koha_field. I propose to use Koha::AuthorisedValues->get_description_by_koha_field and also to look for authorized value description only for item fields used in TT : location, notforloan, itemlost, damaged, withdrawn. I have experimented inventory time on 100 items from 5s to 1s. Test plan : - Without patch - Perform inventory with barcode file - Check results and mesure execution time - Apply patch - Reperform inventory with same barcode file - Check results is the same - Compare execution time - Run prove t/db_dependent/Items/GetItemsForInventory.t Signed-off-by: Owen Leonard <oleonard@myacpl.org>
Created attachment 65435 [details] [review] Bug 19023 - inventory tool performance Inventory tool performance seems to be worst since 16.11. I think it is because of authorized values computing changed by Bug 17249. For each subfield of each item, we try to get the authorized value description with Koha::AuthorisedValues->search_by_marc_field. But this method does not use cache like Koha::AuthorisedValues->get_description_by_koha_field. I propose to use Koha::AuthorisedValues->get_description_by_koha_field and also to look for authorized value description only for item fields used in TT : location, notforloan, itemlost, damaged, withdrawn. I have experimented inventory time on 100 items from 5s to 1s. Test plan : - Without patch - Perform inventory with barcode file - Check results and mesure execution time - Apply patch - Reperform inventory with same barcode file - Check results is the same - Compare execution time - Run prove t/db_dependent/Items/GetItemsForInventory.t Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Pushed to master for 17.11, thanks to everybody involved!
Pushed to 17.05.x, will be in 17.05.04.
This patch has been pushed to 16.11.x and will be in 16.11.12.
Blocked by bug 14399, skipping for 16.05.x