[koha-commits] main Koha release repository branch 3.22.x updated. v3.22.12-35-g84ff856

Git repo owner gitmaster at git.koha-community.org
Wed Nov 30 14:15:18 CET 2016


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "main Koha release repository".

The branch, 3.22.x has been updated
       via  84ff856f7718117dcec4e2d684de5514deb02250 (commit)
      from  e7f5161bc76d282f113ae63de768fa81cec52b63 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 84ff856f7718117dcec4e2d684de5514deb02250
Author: Kyle M Hall <kyle at bywatersolutions.com>
Date:   Wed Aug 24 11:13:48 2016 +0000

    Bug 14736 - AllowRenewalIfOtherItemsAvailable slows circulation down in case of a record with many items and many holds
    
    If the AllowRenewalIfOtherItemsAvailable sys pref is set to allow, and a
    borrower has an item checked out that has many items {30+} AND many
    holds {70+) on it, loading the checkouts table for this borrower takes
    FOREVER to load. The load time takes forever, because of the
    factoring that happens to determine if an item is truly
    available for renewal.
    
    This patch swaps the use of GetMemberDetails for GetMember
    and reorders the subroutine calls to check each items' renewability
    from fastest to slowest.
    
    In a test case, the results of pre patch were:
    Start of loop: 2016-08-24T11:05:14
    End of loop:   2016-08-24T11:05:29
    Resulting in 15 seconds being spent in the loop
    
    Post patch results were:
    Start of loop: 2016-08-24T11:08:43
    End of loop:   2016-08-24T11:08:48
    Resulting in only 5 seconds being spent in the loop!
    
    Test Plan:
    1) Apply this patch
    2) Note there are no changes in functionality for the renewals column of
       the patron checkouts table.
    
    If you wish to go further and test the performance benefit:
    1) Create a record with 50 items and 100 holds ( 50 waiting, 50 unfilled )
    2) Check out one of the waiting holds to a patron
    3) Time the amount of time it takes for the checkouts table to load
    4) Apply this patch
    5) Repeat step 3, you should see an improvement in load time
    
    Signed-off-by: Jesse Maseto <jesse at bywatersolutions.com>
    
    Signed-off-by: Jonathan Druart <jonathan.druart at biblibre.com>
    
    Signed-off-by: Kyle M Hall <kyle at bywatersolutions.com>
    (cherry picked from commit 665c5c62fa8b61752e65ff9d18487befc38cb647)
    Signed-off-by: Julian Maurice <julian.maurice at biblibre.com>

-----------------------------------------------------------------------

Summary of changes:
 C4/Circulation.pm |    8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
main Koha release repository


More information about the koha-commits mailing list