[OPEN-ILS-DEV] ***SPAM*** Re: SIP2 hard disconnect after particular series of messages
Bill Erickson
erickson at esilibrary.com
Thu Jun 10 13:45:04 EDT 2010
On Thu, Jun 10, 2010 at 12:31 PM, Uhlman, Brandon EDUC:EX <
Brandon.Uhlman at gov.bc.ca> wrote:
> [My mailbox shows this as being sent yesterday (and resent today), but it
> doesn't show up in the archives, etc, so I'm resending again from the same
> address I sent the original message. Apologies for any duplication folks
> receive.]
>
> Thanks, atz.
>
> You are, of course, right on all counts.
>
> I am connecting using 'RAW' socket connection to a SIP server running
> against SVN rel_1_6_0 (~ 1.6.0.2 vintage), on a replicated instance of
> Evergreen. That was my initial thought as to the cause of the problem, but
> it looked to me like all the DB calls were authoritative.
>
> Correction: the code says they should be authoritative, but somewhere along
> the way they get mis-directed and end up hitting the slave DB to which the
> data hasn't replicated yet.
>
> Specifically, the ACS was dying while trying to generate the content for
> message 64, the patron information response. More specifically,
> $e->retrieve_action_circulation($circ_id) in __circ_to_barcode() in
> OpenILS::SIP::Patron (around line 442) returns undef (because the circ
> hasn't replicated to the slave yet), and the ACS doesn't know how to handle
> that.
>
> That shouldn't be a problem, because, by definition, $e, created by
> editor()/make_editor() in SIP.pm (which is just a singleton method for
> OpenILS::Utils::CStoreEditor) is created with xact => 1, which should wrap
> all these selects in a transaction and force them to the primary database
> server.
>
As an aside (and so it's not forgotten), as of 1.6.1, the SIP code no longer
starts a transaction for the shared editor. It looks like we need to get
some xact_begins and rollbacks in the __circ_to_* routines or otherwise
create a temp editor for that set of function calls.
-b
--
Bill Erickson
| VP, Software Development & Integration
| Equinox Software, Inc. / Your Library's Guide to Open Source
| phone: 877-OPEN-ILS (673-6457)
| email: erickson at esilibrary.com
| web: http://esilibrary.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://libmail.georgialibraries.org/pipermail/open-ils-dev/attachments/20100610/83eafeb3/attachment.htm
More information about the Open-ils-dev
mailing list