Comment 5 for bug 885270

Revision history for this message
Ian Bays (ian-bays) wrote :

This came to light on the SEDAR project currently at version 2.2.2 where trying to delete a patron resulted in "Network or server failure:

method=open-ils.actor.user.delete
params=["111586e44c7b33150edd2d736268fc91",478628]
THROWN:
{"payload":[],"debug":"osrfMethodException : *** Call to
[open-ils.actor.user.delete] failed for session
[1358422045.214206.135842204525442], thread trace [1]:\nException:
OpenSRF::DomainObject::oilsMethodException 2013-01-17T11:27:25
OpenSRF::Application /usr/local/share/perl/5.10.1//OpenSRF/Application.pm:211
<500> Error committing transaction\n\n","status":500}

We had not set the Library Setting for "Patron Registration: cloned patrons get address copy" and as above eventually tracked it down to this issue. The only way we found to fix it was to find the other patron record and to put that other patron's key into the address record. Only then could we delete the original patron from the workstation.

There are too many use-cases in the system for address data to be shared between users and for that address data to be "owned" by just one of them with no means of transferring "ownership".

We fixed it for this one case, but I now discover there are 976 groups of shared addresses waiting to bite us. Needless to say we are setting the Library Setting (cloned patrons get address copy) to true.

If anyone else thinks this is a bug and is able to come up with a script or SQL to find and clone these addresses and set the pointers correctly we will be very appreciative ;-)