method_lookup('open-ils.storage.transaction.FOO')->run($client) now problematic

Bug #1664386 reported by Galen Charlton on 2017-02-13
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Evergreen
High
Unassigned

Bug Description

There are a handful of places in open-ils.storage that do this:

$self->method_lookup('open-ils.storage.transaction.{begin/rollback}')->run($client)

Passing $client to method_lookup->run has the effect of specifying that you want a top-level request, not a subrequest. With the recent subrequest and client time zone changes to Evergreen and OpenSRF master, the upshot is that a storage method that also does transaction management will return to the top-level client not only its results, but also '1' from each invocation of $self->method_lookup('open-ils.storage.transaction.{begin/rollback}')->run($client).

Since that idiom is no longer needed (session information which which to construct the transaction ID is now automatically passed to subrequests), it should be removed to avoid breaking clients of the following methods:

open-ils.storage.actor.user.checked_out
open-ils.storage.booking.reservation.resource_targeter
open-ils.storage.action.hold_request.copy_targeter

Evergreen master
OpenSRF master

Galen Charlton (gmc) on 2017-02-13
Changed in evergreen:
milestone: none → 2.12-beta
importance: Undecided → High
Galen Charlton (gmc) wrote :

A patch is available at the tip of the user/gmcharlt/lp1664386_fix_db_xact_subrequests branch:

http://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/gmcharlt/lp1664386_fix_db_xact_subrequests

tags: added: pullrequest
Bill Erickson (berick) on 2017-02-13
Changed in evergreen:
status: New → Confirmed
Bill Erickson (berick) on 2017-02-13
Changed in evergreen:
assignee: nobody → Bill Erickson (berick)
Bill Erickson (berick) wrote :

Bug and subsequent fix confirmed. Merged to master. Thanks, Galen!

Changed in evergreen:
status: Confirmed → Fix Committed
assignee: Bill Erickson (berick) → nobody
Changed in evergreen:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers