Re: Online enabling of checksums

Поиск
Список
Период
Сортировка
От Sergei Kornilov
Тема Re: Online enabling of checksums
Дата
Msg-id 716191533148947@sas1-02732547ccc0.qloud-c.yandex.net
обсуждение исходный текст
Ответ на Re: Online enabling of checksums  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
Hi

> This doesn't test the consequences of the restart being skipped, nor
> does it review on a code level the correctness.
I check not only one stuff during review. I look code too: bgworker checksumhelper.c registered with:
> bgw.bgw_start_time = BgWorkerStart_RecoveryFinished;
And then process the whole cluster (even if we run checksumhelper before, but exit before its completed). Or
BgWorkerStart_RecoveryFinisheddoes not guarantee start only after recovery finished?
 
Before start any real work (and after recovery end) checksumhelper checked current cluster status again:

> +     * If a standby was restarted when in pending state, a background worker
> +     * was registered to start. If it's later promoted after the master has
> +     * completed enabling checksums, we need to terminate immediately and not
> +     * do anything. If the cluster is still in pending state when promoted,
> +     * the background worker should start to complete the job.

> What if your replicas are delayed (e.g. recovery_min_apply_delay)?
> What if you later need to do PITR?
if we start after replay pg_enable_data_checksums and before it completed - we plan start bgworker on recovery finish.
if we replay checksumhelper finish - we _can_ start checksumhelper again and this is handled during checksumhelper
start.

Behavior seems correct for me. I miss something very wrong?

regards, Sergei


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

Предыдущее
От: Simon Muller
Дата:
Сообщение: Re: Allow COPY's 'text' format to output a header
Следующее
От: Jeremy Schneider
Дата:
Сообщение: Re: Have an encrypted pgpass file