Andres Freund <andres@2ndquadrant.com> writes:
> On 2015-01-14 10:05:01 -0500, Tom Lane wrote:
>> Hah, I suspected as much. Is that the one that's stuck in
>> LockBufferForCleanup, or the other one that's got a similar backtrace
>> to all the user processes?
> Do you have a theory? Right now it primarily looks like contention on a
> single buffer due to the high number of dynamic statements, possibly
> made worse by the signalling between normal pinners and vacuum waiting
> for cleanup.
The readers shouldn't be contending with each other. It's certainly
plausible enough that there's a steady stream of readers that would
prevent LockBufferForCleanup from getting in, but that should not
result in any readers getting blocked. So something's gotten broken
in that area.
regards, tom lane