Como as somas de verificação de dados interagem com a replicação de streaming?


11

As somas de verificação de dados são um novo recurso introduzido na 9.3 e:

existe um novo parâmetro GUC "ignore_checksum_failure" que forçará o PostgreSQL a continuar processando uma transação, mesmo que seja detectada corrupção

No caso de uma falha de soma de verificação em um mestre de replicação, esses dados corrompidos serão replicados para escravos ou a replicação será interrompida. Depende da configuração de ignore_checksum_failure?

Este README possui algumas informações relacionadas úteis, mas não responde diretamente à pergunta.


6
Muito boa pergunta. Depende parcialmente se as somas de verificação de dados afetam o WAL também (o que o IIRC não afeta, exceto as imagens de página inteira no WAL). Não tive tempo de pesquisar somas de verificação de dados, pois tenho ajudado com outros recursos. Pedir no pgsql-general pode ser uma boa ideia. Se o tempo e o novo bebê permitirem, darei uma olhada nas fontes, mas não prendo a respiração.
Craig Ringer

3
@Craig parabéns!
Jack diz que tente topanswers.xyz

4
O que você aprende no StackExchange ... "ajudando com outros recursos" é um eufemismo para "trocar fraldas".
Colin 'Hart

Respostas:


1

Se os dados foram corrompidos enquanto estavam no disco, a corrupção não deve ser replicada, a menos que já estivesse presente no backup a partir do qual a réplica foi criada.

Obviamente, se você ignorar as falhas da soma de verificação, o mestre poderá começar a dar errado, e esse erro será replicado.

Se a corrupção estiver ocorrendo na memória, todas as apostas estão desativadas.


2
está bem perto da marca aqui. A documentação no ignore_checksum_failureparâmetro inclui o aviso de que "esse comportamento pode ... propagar ... corrupção". Sem mencionar explicitamente a replicação (streaming), parece que isso está implícito aqui. Normalmente, um erro de soma de verificação faria com que a transação fosse cancelada, portanto, nenhum dado seria replicado. Ignorar esse erro permitiria confirmar a transação e gravar (potencialmente) dados corrompidos, que também seriam replicados.
Colin 'Hart
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.