Corrupted btree index on HEAD because of covering indexes

Поиск
Список
Период
Сортировка
От Michael Paquier
Тема Corrupted btree index on HEAD because of covering indexes
Дата
Msg-id 20180419052436.GA16000@paquier.xyz
обсуждение исходный текст
Ответы Re: Corrupted btree index on HEAD because of covering indexes  (Teodor Sigaev <teodor@sigaev.ru>)
Список pgsql-hackers
Hi all,

I was just testing the VACUUM truncation logic, and bumped into what
looks like a corrupted btree index.  Here is a reproducer:
create table aa (a int primary key, b bool);
insert into aa values (generate_series(1,1000000), false);
checkpoint;
update aa set b = false where a > 500000; -- Dirties a set of shared
buffers
delete from aa where a > 750000; -- Delete a set of rows
vacuum aa;
delete from aa where a > 10;
vacuum aa; -- error on btree with right sibling

And here is the actual failure when the second vacuum:
ERROR:  XX000: right sibling 4132 of block 2128 is not next child 5396 of block 412 in index "aa_pkey"
LOCATION:  _bt_mark_page_halfdead, nbtpage.c:1564

This works on REL_10_STABLE, so I am adding an open item.  I have not
investigated the exact problem yet, but bisect is showing me covering
indexes as the culprit (8224de4).

Thanks,
--
Michael

Вложения

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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: Truncation failure in autovacuum results in data corruption(duplicate keys)
Следующее
От: Teodor Sigaev
Дата:
Сообщение: Re: Corrupted btree index on HEAD because of covering indexes