Re: WIP: WAL prefetch (another approach)

Поиск
Список
Период
Сортировка
От Andres Freund
Тема Re: WIP: WAL prefetch (another approach)
Дата
Msg-id 20210429005922.ftonkkpijkhhlazf@alap3.anarazel.de
обсуждение исходный текст
Ответ на Re: WIP: WAL prefetch (another approach)  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: WIP: WAL prefetch (another approach)
Re: WIP: WAL prefetch (another approach)
Список pgsql-hackers
Hi,

On 2021-04-28 20:24:43 -0400, Tom Lane wrote:
> Andres Freund <andres@anarazel.de> writes:
> > Oh! I was about to ask how much shared buffers your primary / standby
> > have.
> Default configurations, so 128MB each.

I thought that possibly initdb would detect less or something...


I assume this is 32bit? I did notice that a 32bit test took a lot longer
than a 64bit test. But didn't investigate so far.


> And I think I may actually have reproduce a variant of the issue!

Unfortunately I had not set up things in a way that the primary retains
the WAL, making it harder to compare whether it's the WAL that got
corrupted or whether it's a decoding bug.

I can however say that pg_waldump on the standby's pg_wal does also
fail. The failure as part of the backend is "invalid memory alloc
request size", whereas in pg_waldump I get the much more helpful:
pg_waldump: fatal: error in WAL record at 4/7F5C31C8: record with incorrect prev-link 416200FF/FF000000 at 4/7F5C3200

In frontend code that allocation actually succeeds, because there is no
size check. But in backend code we run into the size check, and thus
don't even display a useful error.

In 13 the header is validated before allocating space for the
record(except if header is spread across pages) - it seems inadvisable
to turn that around?


Greetings,

Andres Freund



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Richard Yen
Дата:
Сообщение: Patch to allow pg_filedump to support reading of pg_filenode.map
Следующее
От: "houzj.fnst@fujitsu.com"
Дата:
Сообщение: RE: [bug?] Missed parallel safety checks, and wrong parallel safety