In che modo i checksum dei dati interagiscono con la replica in streaming?


11

I checksum dei dati sono una nuova funzionalità introdotta in 9.3 e:

esiste un nuovo parametro GUC "ignore_checksum_failure" che costringerà PostgreSQL a continuare l'elaborazione di una transazione anche se viene rilevata la corruzione

In caso di errore di checksum su un master di replica, i dati corrotti si replicheranno sugli slave o si arresterà. Dipende dall'impostazione di ignore_checksum_failure?

Questo file README contiene alcune utili informazioni correlate ma non risponde direttamente alla domanda.


6
Ottima domanda Dipende in parte dal fatto che i checksum dei dati influenzino anche WAL (quale IIRC non lo fanno, ad eccezione delle immagini a pagina intera in WAL). Non ho avuto il tempo di scavare nei checksum dei dati come ho aiutato con altre funzionalità. Chiedere pgsql-general può essere una buona idea. Se il tempo e il nuovo bambino lo permettono, darò un'occhiata alle fonti, ma non trattengo il respiro.
Craig Ringer,

3
Complimenti @Craig!
Jack dice di provare topanswers.xyz

4
Le cose che impari su StackExchange ... "aiutare con altre funzionalità" è un eufemismo per "cambiare i pannolini".
Colin 't Hart,

Risposte:


1

Se i dati sono stati danneggiati mentre sul disco, il danneggiamento non dovrebbe essere replicato a meno che non fosse già presente nel backup da cui è stata creata la replica.

Naturalmente, se si ignorano gli errori di checksum, il master può iniziare a fare cose sbagliate e quell'errore verrà replicato.

Se il danneggiamento si verifica in memoria, tutte le scommesse sono disattivate.


2
è abbastanza vicino al segno qui. La documentazione relativa al ignore_checksum_failureparametro include l'avviso che "questo comportamento può ... propagare ... corruzione". Senza menzionare esplicitamente la replica (streaming), sembrerebbe che questo sia implicito qui. Normalmente un errore di checksum causerebbe l'interruzione della transazione, quindi nessun dato verrebbe replicato. Ignorare questo errore consentirebbe di eseguire il commit della transazione e scrivere dati (potenzialmente) danneggiati, che verrebbero anche replicati.
Colin 't Hart,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.