On Wed, Feb 8, 2023 at 7:31 PM Amit Langote <amitlangot...@gmail.com> wrote: > On Tue, Feb 7, 2023 at 23:38 Andres Freund <and...@anarazel.de> wrote: >> The tests seem to frequently hang on freebsd: >> https://cirrus-ci.com/github/postgresql-cfbot/postgresql/commitfest%2F42%2F3478 > > Thanks for the heads up. I’ve noticed this one too, though couldn’t find the > testrun artifacts like I could get for some other failures (on other cirrus > machines). Has anyone else been a similar situation?
I think I have figured out what might be going wrong on that cfbot animal after building with the same CPPFLAGS as that animal locally. I had forgotten to update _out/_readRangeTblEntry() to account for the patch's change that a view's RTE_SUBQUERY now also preserves relkind in addition to relid and rellockmode for the locking consideration. Also, I noticed that a multi-query Portal execution with rules was failing (thanks to a regression test added in a7d71c41db) because of the snapshot used for the 2nd query onward not being updated for command ID change under patched model of multi-query Portal execution. To wit, under the patched model, all queries in the multi-query Portal case undergo ExecutorStart() before any of it is run with ExecutorRun(). The patch hadn't changed things however to update the snapshot's command ID for the 2nd query onwards, which caused the aforementioned test case to fail. This new model does however mean that the 2nd query onwards must use PushCopiedSnapshot() given the current requirement of UpdateActiveSnapshotCommandId() that the snapshot passed to it must not be referenced anywhere else. The new model basically requires that each query's QueryDesc points to its own copy of the ActiveSnapshot. That may not be a thing in favor of the patched model though. For now, I haven't been able to come up with a better alternative. -- Thanks, Amit Langote EDB: http://www.enterprisedb.com
v34-0001-Move-AcquireExecutorLocks-s-responsibility-into-.patch
Description: Binary data