Tom Lane wrote: > Alvaro Herrera <alvhe...@2ndquadrant.com> writes: > > Tom Lane wrote: > >> I've not proven this rigorously, but it seems obvious in hindsight: > >> what's happening is that when the object_address test drops everything > >> with DROP CASCADE, other processes are sometimes just starting to execute > >> the event trigger when the DROP commits. When they go to look up the > >> trigger function, they don't find it, leading to "cache lookup failed for > >> function". > > > Hm, maybe we can drop the event trigger explicitely first, then wait a > > little bit, then drop the remaining objects with DROP CASCADE? > > As I said, that's no fix; it just makes the timing harder to hit. Another > process could be paused at the critical point for longer than whatever "a > little bit" is.
Yeah, I was thinking we could play some games with the currently running XIDs from a txid_snapshot or some such, with a reasonable upper limit on the waiting time (for the rare cases with a server doing other stuff with long-running transactions.) -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (email@example.com) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers