1. Glosario/

Primary Component (PC)

PC, partición de quórum

En un clúster Galera, no todos los nodos son equivalentes en todo momento: solo los que forman el Primary Component tienen derecho a procesar escrituras. El PC es el subconjunto de nodos que ha alcanzado el quórum — es decir, la mayoría de los votos totales del clúster — y que por tanto puede operar de forma segura. Los nodos excluidos del PC pasan al estado non-Primary y dejan de aceptar sentencias DML.

Cómo funciona #

Galera utiliza un protocolo de membresía basado en wsrep (Write-Set Replication). Cada nodo intercambia heartbeats y votos con el resto. Cuando una partición de red o un fallo aísla a un grupo de nodos, cada grupo calcula de forma independiente si posee más de la mitad de los votos totales del clúster.

  • El grupo con más de la mitad de los votos se convierte (o permanece) en el Primary Component.
  • El grupo minoritario pasa al estado non-Primary: las conexiones de los clientes reciben un error y no se acepta ninguna escritura.

Este mecanismo es la principal protección contra el split-brain: dos particiones no pueden creer simultáneamente que son el PC y divergir de forma silenciosa.

Contexto operativo #

El caso más crítico es el clúster de dos nodos: si uno cae, el superviviente tiene exactamente el 50% de los votos y no alcanza el quórum. Entra en estado non-Primary aunque esté completamente operativo. La solución habitual es añadir un tercer nodo o un árbitro ligero (garbd) para garantizar que un lado siempre pueda superar el 50%.

En escenarios de mantenimiento o bootstrap de emergencia, es posible forzar manualmente la formación del PC:

SET GLOBAL wsrep_provider_options='pc.bootstrap=YES';

Esta operación debe ejecutarse con precaución: si existe otra partición activa con datos más recientes, promover el nodo equivocado puede provocar la pérdida de transacciones ya confirmadas.