Re: Online enabling of checksums
От | Andrey Borodin |
---|---|
Тема | Re: Online enabling of checksums |
Дата | |
Msg-id | 9D6D9E66-41AE-425D-80A9-5B121A5EA7EA@yandex-team.ru обсуждение исходный текст |
Ответ на | Re: Online enabling of checksums (Magnus Hagander <magnus@hagander.net>) |
Ответы |
Re: Online enabling of checksums
|
Список | pgsql-hackers |
> 5 апр. 2018 г., в 19:58, Magnus Hagander <magnus@hagander.net> написал(а): > > > > On Thu, Apr 5, 2018 at 4:55 PM, Andrey Borodin <x4mmm@yandex-team.ru> wrote: > > > > 5 апр. 2018 г., в 14:33, Tomas Vondra <tomas.vondra@2ndquadrant.com> написал(а): > > > > This patch version seems fine to me. I'm inclined to mark it RFC. > +1 > The patch works fine for me. I've tried different combinations of backend cancelation and the only suspicious thing I foundis that you can start multiple workers by cancelling launcher and not cancelling worker. Is it problematic behavior?If we run pg_enable_data_checksums() it checks for existing launcher for a reason, m.b. it should check for workertoo? > > I don't think it's a problem in itself -- it will cause pointless work, but not actually cause any poroblems I think (whereasduplicate launchers could cause interesting things to happen). > > How did you actually cancel the launcher to end up in this situation? select pg_enable_data_checksums(10000,1); select pg_sleep(0.1); select pg_cancel_backend(pid),backend_type from pg_stat_activity where backend_type ~ 'checksumhelper launcher' ; select pg_enable_data_checksums(10000,1); select pg_sleep(0.1); select pg_cancel_backend(pid),backend_type from pg_stat_activity where backend_type ~ 'checksumhelper launcher' ; select pg_enable_data_checksums(10000,1); select pg_sleep(0.1); select pg_cancel_backend(pid),backend_type from pg_stat_activity where backend_type ~ 'checksumhelper launcher' ; select pid,backend_type from pg_stat_activity where backend_type ~'checks'; pid | backend_type -------+----------------------- 98587 | checksumhelper worker 98589 | checksumhelper worker 98591 | checksumhelper worker (3 rows) There is a way to shoot yourself in a leg then by calling pg_disable_data_checksums(), but this is extremely stupid for auser. Best regards, Andrey Borodin.
В списке pgsql-hackers по дате отправления: