Re: Intermittent BRIN failures on hyrax and lousyjack

Alvaro Herrera <alvherre@2ndquadrant.com>

From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2020-07-09T22:55:48Z
Lists: pgsql-hackers
On 2020-Jul-09, Tom Lane wrote:

> Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> > On 2020-Jun-30, Tom Lane wrote:
> >> SELECT brin_desummarize_range('brinidx', 0);
> >> +WARNING:  leftover placeholder tuple detected in BRIN index "brinidx", deleting
> 
> >> So (1) the comment needs to be adjusted to mention that vacuum
> >> cancellation is enough to create the situation, and (2) probably the
> >> message needs to be downgraded quite a lot, DEBUG2 or even less.
> >> Or maybe we could just delete the quoted stanza altogether.
> 
> > Yeah, maybe deleting the whole thing is a decent answer.  When I wrote
> > that, I was thinking that it was a very unlikely event, but evidently
> > that's not true.
> 
> trilobite (also a CCA animal) just reported one of these, too:
> 
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=trilobite&dt=2020-07-09%2008%3A03%3A08
> 
> Were you going to fix this, or did you expect me to?

I have a moment now, let me have a go at it.  I agree with deleting the
message.  I think I'll keep the comment, slightly reworded:

	/*
	 * Placeholder tuples only appear during unfinished summarization, and we
	 * hold SUE lock, so this function cannot run concurrently with
	 * that.  Any placeholder tuples that exist must be leftovers from a
	 * crashed or aborted summarization; remove them silently.
	 */

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Commits

  1. Remove WARNING message from brin_desummarize_range

  2. BRIN de-summarization