HOT breaks CLUSTER, a bit

Поиск
Список
Период
Сортировка
От Tom Lane
Тема HOT breaks CLUSTER, a bit
Дата
Msg-id 27093.1189552622@sss.pgh.pa.us
обсуждение исходный текст
Ответы Re: HOT breaks CLUSTER, a bit  ("Heikki Linnakangas" <heikki@enterprisedb.com>)
Список pgsql-hackers
While editing Bruce's README.HOT documentation I ran into a problem.
I had idly added the following text after thinking about the different
sorts of snapshots we use:

---
Another unpleasant consequence is that it is no longer very meaningful to
use SnapshotAny in an index scan: if the index was created more recently
than the last vacuum, it's possible that some of the visited tuples do not
match the index entry they are linked to.  This does not seem to be a
fatal objection in practice, since there are few users of SnapshotAny and
they all use seqscans.
---

However, a quick grep to confirm that turned up a problem: CLUSTER uses
SnapshotAny with an indexscan.  This essentially means that CLUSTER
might fetch recently-dead tuples out of order, because it finds them
attached to an index HOT chain that's for a different index key value.

I think that this is not a fatal objection; the out-of-order-ness is
limited and won't be seen at all by transactions with snapshots
postdating the CLUSTER, and CLUSTER can't guarantee the ordering will
stay pristine for long anyway.  But it's a bit worrisome.  Does anyone
see a bigger problem here than I do?

BTW, the proposed HOT code in indexam.c that special-cases SnapshotAny
is a crock ...
        regards, tom lane


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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: Preparation for PostgreSQL releases 8.2.5, 8.1.10, 8.0.14, 7.4.18, 7.3.20
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Preparation for PostgreSQL releases 8.2.5, 8.1.10, 8.0.14, 7.4.18, 7.3.20