Problema de Visibilidad de Transacciones en Clúster PostgreSQL Multi-AZ: Una inmersión profunda en el informe de Jepsen

2025-05-03
Problema de Visibilidad de Transacciones en Clúster PostgreSQL Multi-AZ: Una inmersión profunda en el informe de Jepsen

Un informe reciente de Jepsen destaca un problema de larga data de visibilidad de transacciones en clústeres Amazon RDS para PostgreSQL Multi-AZ: el orden en que las transacciones se vuelven visibles difiere entre el principal y las réplicas. Esto no causa pérdida de datos ni corrupción, y no afecta a las implementaciones de AZ único ni a las bases de datos Aurora. El problema está relacionado con la anomalía 'Long Fork', que viola el Aislamiento de Instantánea. La publicación detalla la causa raíz (actualizaciones asíncronas a ProcArray y WAL), ilustrando cómo esto lleva a resultados inconsistentes (por ejemplo, Alice y Bob observando diferentes clasificaciones de un artículo de Hacker News). Si bien rara vez afecta la corrección de la aplicación, solucionarlo es crucial para las capacidades de nivel empresarial de los clústeres PostgreSQL. AWS está colaborando con la comunidad PostgreSQL para resolver esto, ofreciendo soluciones alternativas, como revisar las suposiciones de la aplicación sobre el orden de las transacciones y usar mecanismos de sincronización explícitos.