Re: [HACKERS] Re: Freezing docs for v6.5

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [HACKERS] Re: Freezing docs for v6.5
Дата
Msg-id 12252.928466366@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [HACKERS] Re: Freezing docs for v6.5  (Bruce Momjian <maillist@candle.pha.pa.us>)
Список pgsql-hackers
I wrote:
>> I suspect that this is an instance of a generic problem with *all*
>> the SysCache tables, and perhaps the relcache as well: there is no
>> mechanism to ensure that the caches stay in sync with the underlying
>> relation during an abort.

Actually, there is such a mechanism: I find that the "shared
invalidation" manager has the right sorts of hooks into the SysCache
stuff.  It appears that once a tuple has been committed, the SI code
will ensure that it gets flushed from all the backends' caches if it
is modified.  The problem comes up when a backend creates a tuple,
causes it to be loaded into SysCache, and then aborts, all within
one transaction.  The SI code doesn't handle that case, for reasons
that are not clear to me.

Bruce Momjian <maillist@candle.pha.pa.us> writes:
> Other backends don't see the rows until they are committed, but we do
> see them because they are part of our own transaction.

Yes, this seems to be a key part of the problem.

The fix I just committed seems to cure the known cases, but it is
not elegant.  I now think that the *real* problem is somewhere in
the sinval code.  But I'm not inclined to try to solve it for 6.5.
        regards, tom lane


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

Предыдущее
От: Vadim Mikheev
Дата:
Сообщение: Re: [HACKERS] Re: Freezing docs for v6.5
Следующее
От: Vadim Mikheev
Дата:
Сообщение: Re: [HACKERS] Ye olde "relation doesn't quite exist" problem