From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Re: [COMMITTERS] pgsql: Perform only one ReadControlFile() during startup. |
Date: | 2017-09-16 19:59:01 |
Message-ID: | 27204.1505591941@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers pgsql-hackers |
Andres Freund <andres(at)anarazel(dot)de> writes:
> On 2017-09-16 14:30:21 -0400, Tom Lane wrote:
>> I wonder whether we shouldn't just revert this patch altogether.
> The problem is that the patch that makes the segment size configurable
> also adds a bunch more ordering constraints due to the fact that the
> contents of the control file influence how much shared buffers are
> needed (via wal_buffers = -1, which requires the segment size, which is
> read from the control file). Reading things in the wrong order leads to
> bad results too.
Maybe we could redefine wal_buffers to avoid that. Or read the control
file at the time where we need it. This does not seem like a problem
that justifies a system-wide change that's much more delicate than
you thought.
>> I'm now quite worried about whether we aren't introducing
>> hazards of using stale values from the file; if a system crash isn't
>> enough to get it to flush its cache, then what is?
> I don't think the problem here is stale values, it's "just" a stale
> pointer pointing into shared memory that gets reiniitalized?
The code that's crashing is attempting to install some pre-existing
copy of pg_control into shared memory. Even if there were good reason
to think the copy were up to date, I'm not sure we should trust it
in a crash recovery context. I'd rather see this hunk of code just
playing dumb and reading the file (which, I'm pretty sure, is what
it did up till this week).
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Andres Freund | 2017-09-16 20:27:05 | Re: Re: [COMMITTERS] pgsql: Perform only one ReadControlFile() during startup. |
Previous Message | Tom Lane | 2017-09-16 19:32:10 | pgsql: Doc: add example of transition table use in a trigger. |
From | Date | Subject | |
---|---|---|---|
Next Message | Kim Rose Carlsen | 2017-09-16 20:07:07 | Remove useless joins (VARCHAR vs TEXT) |
Previous Message | Peter Geoghegan | 2017-09-16 19:47:21 | Re: valgrind vs. shared typmod registry |