Re: [HACKERS] Speed up Clog Access by increasing CLOG buffers
От | Robert Haas |
---|---|
Тема | Re: [HACKERS] Speed up Clog Access by increasing CLOG buffers |
Дата | |
Msg-id | CA+TgmobrMF8ALx_7pGM+4G=i-o3NBf+FrB4bh6XHqUF7NuVgDA@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] Speed up Clog Access by increasing CLOG buffers (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: [HACKERS] Speed up Clog Access by increasing CLOG buffers
|
Список | 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 по дате отправления: