[Koha-bugs] [Bug 19599] New: anonymise_issue_history can be very slow on large systems

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Thu Nov 9 12:54:50 CET 2017


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=19599

            Bug ID: 19599
           Summary: anonymise_issue_history can be very slow on large
                    systems
 Change sponsored?: ---
           Product: Koha
           Version: master
          Hardware: All
                OS: All
            Status: NEW
          Severity: major
          Priority: P5 - low
         Component: Architecture, internals, and plumbing
          Assignee: koha-bugs at lists.koha-community.org
          Reporter: nick at bywatersolutions.com
        QA Contact: testopia at bugs.koha-community.org

When running anonymise_issue_history we now call it on a set of patrons from
search_patrons_to_anonymise, however, this generates a slow SQL query that can
take hours to run.

UPDATE `old_issues` SET `old_issues`.`borrowernumber` = '9807' WHERE ( 
`issue_id` IN ( 
    SELECT * FROM ( 
        SELECT `old_issues`.`issue_id` FROM (
            SELECT `me`.`borrowernumber`, `me`.`cardnumber`, `me`.`surname`,
`me`.`firstname`, `me`.`title`, `me`.`othernames`, `me`.`initials`,
`me`.`streetnumber`, `me`.`streettype`, `me`.`address`, `me`.`address2`,
`me`.`city`, `me`.`state`, `me`.`zipcode`, `me`.`country`, `me`.`email`,
`me`.`phone`, `me`.`mobile`, `me`.`fax`, `me`.`emailpro`, `me`.`phonepro`,
`me`.`B_streetnumber`, `me`.`B_streettype`, `me`.`B_address`,
`me`.`B_address2`, `me`.`B_city`, `me`.`B_state`, `me`.`B_zipcode`,
`me`.`B_country`, `me`.`B_email`, `me`.`B_phone`, `me`.`dateofbirth`,
`me`.`branchcode`, `me`.`categorycode`, `me`.`dateenrolled`, `me`.`dateexpiry`,
`me`.`gonenoaddress`, `me`.`lost`, `me`.`debarred`, `me`.`debarredcomment`,
`me`.`contactname`, `me`.`contactfirstname`, `me`.`contacttitle`,
`me`.`guarantorid`, `me`.`borrowernotes`, `me`.`relationship`, `me`.`sex`,
`me`.`password`, `me`.`flags`, `me`.`userid`, `me`.`opacnote`,
`me`.`contactnote`, `me`.`sort1`, `me`.`sort2`, `me`.`altcontactfirstname`,
`me`.`altcontactsurname`, `me`.`altcontactaddress1`, `me`.`altcontactaddress2`,
`me`.`altcontactaddress3`, `me`.`altcontactstate`, `me`.`altcontactzipcode`,
`me`.`altcontactcountry`, `me`.`altcontactphone`, `me`.`smsalertnumber`,
`me`.`sms_provider_id`, `me`.`privacy`, `me`.`privacy_guarantor_checkouts`,
`me`.`checkprevcheckout`, `me`.`updated_on`, `me`.`lastseen`, `me`.`lang`,
`me`.`login_attempts`, `me`.`overdrive_auth_token` 
            FROM `borrowers` `me` 
            LEFT JOIN `old_issues` `old_issues` ON
`old_issues`.`borrowernumber` = `me`.`borrowernumber` 
            WHERE ( ( `old_issues`.`borrowernumber` IS NOT NULL AND `privacy`
<> '0' AND `returndate` < '2017-05-13 00:00:00' ) ) 
            GROUP BY `borrowernumber`) `me`  
         JOIN `old_issues` `old_issues` ON `old_issues`.`borrowernumber` =
`me`.`borrowernumber` 
         WHERE ( `returndate` < '2017-05-13 00:00:00' ) )
`_forced_double_subquery` )  
     )

I think anonymise_issue_history should be a standalone function taking the same
params as search_patrons_to_anonymise to eliminate nesting of queries

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are watching all bug changes.


More information about the Koha-bugs mailing list