Re: [HACKERS] Re: PANIC: invalid index offnum: 186 when processingBRIN indexes in VACUUM
От | Michael Paquier |
---|---|
Тема | Re: [HACKERS] Re: PANIC: invalid index offnum: 186 when processingBRIN indexes in VACUUM |
Дата | |
Msg-id | CAB7nPqSFXBgpNvoXqiiJY1kOD4+OpVa-=CMxHiy_zhG3sZ+Qcg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] Re: PANIC: invalid index offnum: 186 when processing BRIN indexes in VACUUM (Tom Lane <tgl@sss.pgh.pa.us>) |
Ответы |
Re: [HACKERS] Re: PANIC: invalid index offnum: 186 when processing BRIN indexes in VACUUM
|
Список | pgsql-hackers |
On Tue, Oct 31, 2017 at 4:56 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Alvaro Herrera <alvherre@alvh.no-ip.org> writes: >> Tom Lane wrote: >>> So: I put the blame on the fact that summarize_range() thinks that >>> the tuple offset it has for the placeholder tuple is guaranteed to >>> hold good, even across possibly-long intervals where it's holding >>> no lock on the containing buffer. > >> Yeah, I think this is a pretty reasonable explanation for the problem. >> I don't understand why it doesn't fail in 9.6. > > Yeah, we're still missing an understanding of why we didn't see it > before; the inadequate locking was surely there before. I'm guessing > that somehow the previous behavior of PageIndexDeleteNoCompact managed > to mask the problem (perhaps only by not throwing an error, which doesn't > imply that the index state was good afterwards). But I don't see quite > how it did that. Because 24992c6d has added a check on the offset number by using PageIndexTupleDeleteNoCompact() in brin_doupdate() making checks tighter, no? I have not tested, and I lack knowledge about the brin code, but it seems to me that if we had a similar check then things could likely blow up. -- Michael -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
В списке pgsql-hackers по дате отправления: