Re: VACUUM can finish an interrupted nbtree page split -- is that okay?

Поиск
Список
Период
Сортировка
От Peter Geoghegan
Тема Re: VACUUM can finish an interrupted nbtree page split -- is that okay?
Дата
Msg-id CAH2-Wzkt+6zvnLacp9o2UrD20R5X_njTUXBdHoPuce7v_MUTXQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: VACUUM can finish an interrupted nbtree page split -- is thatokay?  (Heikki Linnakangas <hlinnaka@iki.fi>)
Ответы Re: VACUUM can finish an interrupted nbtree page split -- is that okay?  (Peter Geoghegan <pg@bowt.ie>)
Список pgsql-hackers
On Tue, May 7, 2019 at 12:27 AM Heikki Linnakangas <hlinnaka@iki.fi> wrote:
> I don't understand that reasoning. Yes, _bt_pagedel() will complain if
> it finds a half-dead internal page. But how does that mean that
> _bt_lock_branch_parent() can't encounter one?

I suppose that in theory it could, but only if you allow that any
possible state could be found -- it doesn't seem any more likely than
any other random illegal state.

Even when it happens, we'll get a "failed to re-find parent key" error
message when we go a bit further. Isn't that a logical outcome?

Actually, maybe we won't get that error, because we're talking about a
corrupt index, and all bets are off -- no reason to think that the
half-dead internal page would be consistent with other pages in any
way. But even then, you'll go on to report it in the usual way, since
VACUUM scans nbtree indexes in physical order.
-- 
Peter Geoghegan



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

Предыдущее
От: David Fetter
Дата:
Сообщение: Re: [PATCH v1] Add a way to supply stdin to TAP tests
Следующее
От: Fujii Masao
Дата:
Сообщение: Re: reloption to prevent VACUUM from truncating empty pages at theend of relation