MongoDB solo admite la versión 1 del protocolo de set de réplicas (pv1). pv1 es el valor por defecto para todos los nuevos sets de réplicas.
Preservación de guardados
w:1 guardar
Con,pv1 puede usar para priorizar catchUpTimeoutMillis entre conmutaciones por error más rápidas y la preservación de escrituras.w:1
w: "majority" guardar
pv1 garantiza la preservación de las escrituras confirmadas de w:
"majority".
Disponibilidad
pv1 está disponible en la versión MongoDB 3.2 o posterior y es el valor predeterminado para todos los nuevos conjuntos de réplicas.
Vetos
pv1 no utiliza vetos. Los nodos individuales pueden votar a favor o en contra de un candidato en una elección en particular, pero no pueden vetar individualmente (abortar) una elección de forma unilateral.
Detección de primarias simultáneas
En algunas circunstancias, dos nodos en un set de réplicas pueden creer transitoriamente que son los primarios, pero como mucho, uno de ellos podrá completar escrituras con el nivel de confirmación de escritura { w:
"majority" }. El nodo que puede completar { w: "majority" } escrituras es el primario actual, y el otro nodo es un ex primario que aún no ha reconocido su descenso de categoría, típicamente debido a una partición de red. Cuando esto ocurre, los clientes que se conectan al antiguo primario pueden observar la presencia de datos obsoletos a pesar de haber solicitado la preferencia de lectura primary, y las nuevas escrituras en el antiguo primario eventualmente se revertirán.
pv1 Utiliza el concepto de mandato. Esto permite una detección más rápida de primarias simultáneas y de múltiples elecciones exitosas en un corto período de tiempo.
Elecciones consecutivas
pv1 hace un intento de “mejor esfuerzo” para que el secundario con mayor priority disponible convoque a una elección. Esto podría llevar a elecciones consecutivas ya que los nodos elegibles con mayor prioridad pueden convocar una elección.
Sin embargo, para pv1:
Las elecciones de prioridad se han limitado a que ocurran sólo si el nodo de mayor prioridad se encuentra a 10 segundos del primario actual.
Los árbitros votarán no en las elecciones si detectan una primaria sana de igual o mayor prioridad que el candidato.
double Voting
pv1 evita doble voto en la convocatoria de elecciones de un nodo. Esto se logra a través del uso de términos.