One of our servers (AOL 3.3+ad13, OpenACS 5.0.2 (approximately), postgres 7.4.2 ) occasionally hangs, not accepting new connections (and not running scheduled procs).
Restarting the server gets things back to normal.
At least two out of the last four times this happened, the last code being executed has been:
ns_log notice "mailing lists: try to record bounced mail"
catch {
if {[regexp {X-Field: ([0-9]*)-([0-9]*)} $body match user_id job_id]} {
db_transaction {
ns_log notice "mailing lists: bounce recorded for job $job_id and user $user_id"
db_dml record_bounce_in_log {}
if {[db_resultrows]} {
db_dml increment_bounce_count {}
}
}
}
}
The first ns_log statement is executed, the second one (inside the db_transaction) isn't. The regexp matches.
Can anyone think of any reason db_transaction should fail to initialize? Unable to allocate a db_handle? Or something else related to postgresql and transactions?
/Nis