Andres Freund <andres@anarazel.de> writes:
> Add amcheck extension to contrib.
axolotl just failed on this:
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=axolotl&dt=2017-03-13%2017%3A49%3A24
***************
*** 78,86 **** -- make sure we don't have any leftover locks SELECT * FROM pg_locks WHERE relation IN
('bttest_a_idx'::regclass,'bttest_b_idx'::regclass);
! locktype | database | relation | page | tuple | virtualxid | transactionid | classid | objid | objsubid |
virtualtransaction| pid | mode | granted | fastpath
!
----------+----------+----------+------+-------+------------+---------------+---------+-------+----------+--------------------+-----+------+---------+----------
! (0 rows) COMMIT; -- cleanup
--- 78,87 ---- -- make sure we don't have any leftover locks SELECT * FROM pg_locks WHERE relation IN
('bttest_a_idx'::regclass,'bttest_b_idx'::regclass);
! locktype | database | relation | page | tuple | virtualxid | transactionid | classid | objid | objsubid |
virtualtransaction| pid | mode | granted | fastpath
!
----------+----------+----------+------+-------+------------+---------------+---------+-------+----------+--------------------+-------+-----------------+---------+----------
! relation | 57562 | 57573 | | | | | | | | 4/29
| 20342 | AccessShareLock | t | t
! (1 row) COMMIT; -- cleanup
I could be wrong, but the most obvious explanation for this failure is
that autovacuum had a lock on the table or index when we looked.
Even if that isn't why axolotl failed in this particular case, I think
it's dead certain that we will see such failures from time to time
if this test script isn't tightened up. IIUC what the test is trying
to look for, I think adding "AND pid = pg_backend_pid()" to this query
would be an appropriate fix.
regards, tom lane