Re: [HACKERS] Speed up Clog Access by increasing CLOG buffers - Mailing list pgsql-hackers

From Robert Haas
Subject Re: [HACKERS] Speed up Clog Access by increasing CLOG buffers
Date
Msg-id CA+TgmobrMF8ALx_7pGM+4G=i-o3NBf+FrB4bh6XHqUF7NuVgDA@mail.gmail.com
Whole thread Raw
In response to Re: [HACKERS] Speed up Clog Access by increasing CLOG buffers  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [HACKERS] Speed up Clog Access by increasing CLOG buffers  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Thu, Mar 9, 2017 at 9:17 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> I think eight is enough.  Committed with some cosmetic changes.
>
> Buildfarm thinks eight wasn't enough.
>
> https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=clam&dt=2017-03-10%2002%3A00%3A01

At first I was confused how you knew that this was the fault of this
patch, but this seems like a pretty indicator:

TRAP: FailedAssertion("!(curval == 0 || (curval == 0x03 && status !=
0x00) || curval == status)", File: "clog.c", Line: 574)

I'm not sure whether it's related to this problem or not, but now that
I look at it, this (preexisting) comment looks like entirely wishful
thinking:
    * If we update more than one xid on this page while it is being written    * out, we might find that some of the
bitsgo to disk and others don't.    * If we are updating commits on the page with the top-level xid that    * could
breakatomicity, so we subcommit the subxids first before we mark    * the top-level commit.
 

The problem with that is the word "before".  There are no memory
barriers here, so there's zero guarantee that other processes see the
writes in the order they're performed here.  But it might be a stretch
to suppose that that would cause this symptom.

Maybe we should replace that Assert() with an elog() and dump out the
actual values.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Amit Kapila
Date:
Subject: Re: [HACKERS] Write Ahead Logging for Hash Indexes
Next
From: Peter Geoghegan
Date:
Subject: Re: [HACKERS] on_dsm_detach() callback and parallel tuplesort BufFile resource management