Replica HA_ERR_FOUND_DUPP_KEY after migration-on-replica cutover

Abierto
#1,556 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 10 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
35/100
Tipo de issue
Error
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
go, mysql
Área
databases

Línea de trabajo

Empieza reproduciendo el migration-on-replica cutover con MySQL 8.0.41 y gh-ost 1.1.7 usando el comando y las transacciones concurrentes descritos en el issue. Rastrea el comportamiento del cutover y de la réplica en torno al error HA_ERR_FOUND_DUPP_KEY notificado; se considera terminado cuando se haya identificado la causa y se haya evitado el fallo de la réplica sin romper el migration-on-replica cutover.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

bug data-integrity

I am doing table migration with gh-ost with migration-on-replica and there is transactions being processed at same time.

After cutover, there is replica failure.

Error message:
Duplicate entry '0' for key 'transaction.PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY

MySQL Version: 8.0.41-commercial

gh-ost Version: 1.1.7 (git commit: 41e72706c8caac24dc8225758eb688aae69a0ce8)

Command

./gh-ost \
    -migrate-on-replica \
    -ssl-allow-insecure \
    -ssl \
    -max-load=Threads_running=25 \
    -critical-load=Threads_running=1000 \
    -chunk-size=1000 \
    -max-lag-millis=1500 \
    -user="ghost" \
    -password="xxxx" \
    -host=slave-ip \
    -port=3306 \
    -database="transaction" \
    -table="transaction" \
    -verbose \
    -initially-drop-ghost-table \
    -initially-drop-old-table \
    -alter="CHANGE ID ID BIGINT unsigned not null auto_increment" \
    -cut-over=default \
    -exact-rowcount \
    -concurrent-rowcount \
    -default-retries=120 \
    -panic-flag-file=/tmp/ghost.panic.flag \
    -postpone-cut-over-flag-file=./ghost.postpone.flag \
    -execute
Lenguaje dominante
Go
Estrellas
13.6k
Forks
1.4k
Merge medio
9 d 19 h
PR fusionados (30 d)
1

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de github/gh-ost

Todos los issues de github/gh-ost

Issues similares

Más issues de Go

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.