Re: Bugs in TOAST handling, OID assignment and redo recovery

Поиск
Список
Период
Сортировка
От Pavan Deolasee
Тема Re: Bugs in TOAST handling, OID assignment and redo recovery
Дата
Msg-id CABOikdPZP5q0EbFibREgCE2PKb8ZRHJGwYHqCDnHkFaKeXDJEQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Bugs in TOAST handling, OID assignment and redo recovery  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Ответы Re: Bugs in TOAST handling, OID assignment and redo recovery  (Bruce Momjian <bruce@momjian.us>)
Re: Bugs in TOAST handling, OID assignment and redo recovery  (Peter Eisentraut <peter.eisentraut@2ndquadrant.com>)
Список pgsql-hackers


On Thu, Apr 12, 2018 at 5:53 AM, Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote:
On 4/10/18 06:29, Pavan Deolasee wrote:
> One of our 2ndQuadrant support customers recently reported a sudden rush
> of TOAST errors post a crash recovery, nearly causing an outage. Most
> errors read like this:
>
> ERROR: unexpected chunk number 0 (expected 1) for toast value nnnn

While researching this, I found that the terminology in this code is
quite inconsistent.  It talks about chunks ids, chunk indexes, chunk
numbers, etc. seemingly interchangeably.  The above error is actually
about the chunk_seq, not about the chunk_id, as one might think.

The attached patch is my attempt to clean this up a bit.  Thoughts?

While I agree that we should clean it up, I wonder if changing error text would be a good idea. These errors are being reported by a very long time and if we change the text, we might forget the knowledge about the past reports.

Also, "toast value" is same as "chunk_id". Should we clean up something there too? "chunk_seq number" -- should that be just "chunk_seq"?


Thanks,
Pavan

--
 Pavan Deolasee                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Double-writes, take two?
Следующее
От: Thomas Munro
Дата:
Сообщение: Re: [HACKERS] PATCH: Keep one postmaster monitoring pipe per process