Percona XtraDB Cluster de chaves duplicadas quando o servidor é retirado da rotação

1

Eu tenho uma configuração de três nós do Percona XtraDB Cluster (5.5).

Toda noite, encerramos o MySQL em um nó selecionado aleatoriamente para fazer backups do diretório de dados.

Quando nosso tráfego está razoavelmente ocupado, isso causa alguns alertas de erro (2-4) ao longo das linhas de SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '140577' for key 'PRIMARY' . Conflito de chave primária, obviamente, exceto que estamos usando auto_increment colunas como a chave primária nessas tabelas. Como cada nó tem um deslocamento atribuído pelo mecanismo do cluster, isso não deveria estar ocorrendo.

Suspeito que tirar o nó do cluster faz com que os outros dois nós alterem seus deslocamentos de incremento automático, de uma forma que faz com que eles potencialmente entrem em conflito enquanto a alteração ocorre. Não sei por que isso não seria uma ação atômica e também como eu poderia consertar isso.

Alguém já encontrou isso? Existe uma maneira de congelar temporariamente as configurações de incremento automático no cluster para que elas não sejam embaralhadas durante o processo de backup ou alguma outra solução em que eu não esteja pensando?

    
por ceejayoz 30.07.2014 / 18:29

2 respostas

0

No topo da minha cabeça, eu diria adicionar slave à mixagem e fazer backups no escravo sem remover o nó do cluster.

O que acontece é que quando você coloca o nó de volta, ele não sabe como os números da chave primária avançaram nos nós ativos antes de conseguir uma nova gravação, porque ela não estará se resfriando até alcançar outras duas réplicas. Portanto, ele grava um novo registro e fornece um ID de chave primária que já existe em duas réplicas que não foram eliminadas. Em essência, o nó não deve receber gravações até que esteja sincronizado.

    
por 15.08.2014 / 17:01
0

Eu sei que é um post antigo e você pode já ter feito isso, mas para alguém que vê esse comportamento com o PXC (Percona XtraDB Cluster) parece que você acertou o bug link

Atualize seu PXC para a versão mais recente em que você está atualmente. Por exemplo, se você estiver no 5.5.19 para a atualização 5.5 mais recente. Se você estiver no 5.6.x, atualize para a atualização mais recente.

Este problema ocorreu na produção.

    
por 10.10.2016 / 12:08