From: Bill Erickson Date: Tue, 26 Feb 2013 19:33:58 +0000 (-0500) Subject: Repair clear holds shelf transaction timeout X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=75e400b05a51cec3f8560cf505d4094128ba659a;p=evergreen%2Fmasslnc.git Repair clear holds shelf transaction timeout Initiate our cstore transaction after making the initial, potentially long-running call to collect the clear-shelf holds to process. Otherwise, the cstore transaction may time out while waiting on the holds retrieval to complete. Signed-off-by: Bill Erickson Signed-off-by: Ben Shum --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm index 019b0333e3..8ef501b261 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Circ/Holds.pm @@ -3474,7 +3474,7 @@ __PACKAGE__->register_method( sub clear_shelf_process { my($self, $client, $auth, $org_id, $match_copy) = @_; - my $e = new_editor(authtoken=>$auth, xact => 1); + my $e = new_editor(authtoken=>$auth); $e->checkauth or return $e->die_event; my $cache = OpenSRF::Utils::Cache->new('global'); @@ -3487,6 +3487,8 @@ sub clear_shelf_process { "open-ils.circ.captured_holds.id_list.expired_on_shelf.retrieve" )->run($auth, $org_id, $match_copy); + $e->xact_begin; + my @holds; my @canceled_holds; # newly canceled holds my $chunk_size = 25; # chunked status updates