open-ils.storage does not recognize loss of database connections
Bug #1830968 reported by
Galen Charlton
This bug affects 3 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
New
|
Medium
|
Unassigned |
Bug Description
I've observed that it is possible for an open-ils.storage drone to have its database connection terminated (e.g., via a pg_terminate_
A better outcome would be for the drone to either attempt to reconnect to the database or to terminate itself.
Evergreen 3.1+
description: | updated |
Changed in evergreen: | |
importance: | Undecided → Medium |
description: | updated |
tags: | added: database |
To post a comment you must log in.
Some further research:
- it looks like DBD::Pg does support meaningful values for ->state(), with 'S8006' in particular representing a connection issue
- if we go the route of letting the child terminate, setting force_recycle (see OpenSRF bug 1706147) is an option
- slightly smarter might be letting the drone make one attempt to reconnect, then retrying the method from the beginning if the connection succeeds or terminating the drone otherwise