Re: Hot standby and b-tree killed items

Поиск
Список
Период
Сортировка
От Simon Riggs
Тема Re: Hot standby and b-tree killed items
Дата
Msg-id 1229679524.4793.481.camel@ebony.2ndQuadrant
обсуждение исходный текст
Ответ на Hot standby and b-tree killed items  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Ответы Re: Hot standby and b-tree killed items  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Список pgsql-hackers
On Fri, 2008-12-19 at 10:49 +0200, Heikki Linnakangas wrote:

> Whenever a B-tree index scan fetches a heap tuple that turns out to be 
> dead, the B-tree item is marked as killed by calling _bt_killitems. When 
> the page gets full, all the killed items are removed by calling 
> _bt_vacuum_one_page.
> 
> That's a problem for hot standby. If any of the killed b-tree items 
> point to a tuple that is still visible to a running read-only 
> transaction, we have the same situation as with vacuum, and have to 
> either wait for the read-only transaction to finish before applying the 
> WAL record or kill the transaction.
> 
> It looks like there's some cosmetic changes related to that in the 
> patch, the signature of _bt_delitems is modified, but there's no actual 
> changes that would handle that situation. I didn't see it on the TODO on 
> the hot standby wiki either. Am I missing something, or the patch?

ResolveRedoVisibilityConflicts() describes the current patch's position
on this point, which on review is wrong, I agree.

It looks like I assumed that _bt_delitems is only called during VACUUM,
which I knew it wasn't. I know I was going to split XLOG_BTREE_VACUUM
into two record types at one point, one for delete, one for vacuum. In
the end I didn't. Anyhow, its wrong.

We have infrastructure in place to make this work correctly, just need
to add latestRemovedXid field to xl_btree_vacuum. So that part is easily
solved.

Thanks for spotting it. More like that please!

-- Simon Riggs           www.2ndQuadrant.comPostgreSQL Training, Services and Support



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

Предыдущее
От: Simon Riggs
Дата:
Сообщение: Re: Sync Rep: First Thoughts on Code
Следующее
От: Grzegorz Jaskiewicz
Дата:
Сообщение: Re: possible bug in 8.4