Re: buffer assertion tripping under repeat pgbench load

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@2ndquadrant.com>
Cc: Greg Smith <greg@2ndquadrant.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2012-12-23T18:10:45Z
Lists: pgsql-hackers
Andres Freund <andres@2ndquadrant.com> writes:
>> This is my first test like this against 9.3 development though, so the cause
>> could be an earlier commit.  I'm just starting with the most recent work as
>> the first suspect.  Next I think I'll try autovacuum=off and see if the
>> crash goes away.  Other ideas are welcome.

> Something like the (untested) debug message below might be helpful:

It might also be interesting to know if there is more than one
still-pinned buffer --- that is, if you're going to hack the code, fix
it to elog(LOG) each pinned buffer and then panic after completing the
loop.

			regards, tom lane


Commits

  1. Follow TLI of last replayed record, not recovery target TLI, in walsenders.

  2. Avoid holding vmbuffer pin after VACUUM.