Re: pgsql: Delay commit status checks until freezing executes.

Поиск
Список
Период
Сортировка
От Peter Geoghegan
Тема Re: pgsql: Delay commit status checks until freezing executes.
Дата
Msg-id CAH2-Wz=pYBdTnPim1e_r+tXnz2_ERHfNUEHT6CABa3x6+4Pr+A@mail.gmail.com
обсуждение исходный текст
Ответ на Re: pgsql: Delay commit status checks until freezing executes.  (Robert Haas <robertmhaas@gmail.com>)
Ответы Re: pgsql: Delay commit status checks until freezing executes.  (Andres Freund <andres@anarazel.de>)
Re: pgsql: Delay commit status checks until freezing executes.  (Amit Kapila <amit.kapila16@gmail.com>)
Список pgsql-hackers
On Wed, Jan 4, 2023 at 7:03 AM Robert Haas <robertmhaas@gmail.com> wrote:
> But that having been said, I'm kind of astonished that you didn't know
> about this already. The freezing behavior is in general extremely hard
> to get right, and I guess I feel if you don't understand how the
> underlying functions work, including things like performance
> considerations

I was the one that reported the issue with CLOG lookups in the first place.

> and which functions return fully reliable results, I do
> not think you should be committing your own patches in this area.

My mistake here had nothing to do with my own goals. I was trying to
be diligent by hardening an existing check in passing, and it
backfired.

> There is probably a lot of potential benefit in improving the way this
> stuff works, but there is also a heck of a lot of danger of creating
> subtle data corrupting bugs that could easily take years to find.

It's currently possible for VACUUM to set the all-frozen bit while
unsetting the all-visible bit, due to a race condition [1]. This is
your long standing bug. So apparently nobody is qualified to commit
patches in this area.

About a year ago, there was a massive argument over some earlier work
in the same general area, by me. Being the subject of a pile-on on
this mailing list is something that I find deeply upsetting and
demoralizing. I just cannot take much more of it. At the same time,
I've made quite an investment in the pending patches, and think that
it's something that I have to see through.

If I am allowed to finish what I've started, then I will stop all new
work on VACUUM. I'll go back to working on B-Tree indexing. Nobody is
asking me to focus on VACUUM, and there are plenty of other things
that I could be doing that don't seem to lead to these situations.

[1] https://postgr.es/m/CAH2-WznuNGSzF8v6OsgjaC5aYsb3cZ6HW6MLm30X0d65cmSH6A@mail.gmail.com
--
Peter Geoghegan



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

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: psql's FETCH_COUNT (cursor) is not being respected for CTEs
Следующее
От: Hannu Krosing
Дата:
Сообщение: pgbench - adding pl/pgsql versions of tests