Docs Menu
Docs Home
/ /
Replicación

rs.stepDown() (método mongosh)

rs.stepDown(stepDownSecs, secondaryCatchUpPeriodSecs)

Instruye al La primaria del conjunto de réplicas se convertirá en secundaria. Tras la desvinculación de la primaria, las secundarias elegibles celebran una elección para la primaria.

El método no reduce inmediatamente el nivel del primario. Si no hay secundarios actualizados con el primario, este espera electable hasta secondaryCatchUpPeriodSecs 10 segundos (por defecto,) a que un secundario se ponga al día. Una vez que un secundario elegible está disponible, el método reduce el nivel del primario.

Una vez retirado, el primario original se convierte en secundario y no podrá volver a ser primario durante el tiempo restante especificado por stepDownSecs.

Para obtener una explicación detallada de la ejecución del método, consulte Comportamiento.

Nota

El método solo es válido contra el miembro principal y genera un error si se ejecuta en un miembro no principal.

Importante

Método mongosh

Esta página documenta un método mongosh. Esta no es la documentación para los comandos de base de datos ni para los drivers específicos de lenguajes, como Nodo.js.

Para el comando de base de datos, consulta el comando replSetStepDown.

Para los drivers de API de MongoDB, consulte la documentación del driver de MongoDB específica del lenguaje.

El método rs.stepDown() tiene los siguientes parámetros:

Parameter
Tipo
Descripción

stepDownSecs

Número

El número de segundos para reducir el miembro principal, durante el cual el miembro de reducción no puede convertirse en principal. Si se especifica un valor no numérico, el comando utiliza 60 segundos.

El período de reducción comienza desde el momento en que recibe el comando. El período de reducción debe ser mongod mayor secondaryCatchUpPeriodSecs que.

secondaryCatchUpPeriodSecs

Número

Opcional. El número de segundos que mongod esperará para que un secundario elegible alcance al principal.

Cuando se especifica, secondaryCatchUpPeriodSecs anula el tiempo de espera predeterminado de 10 segundos.

Este método está disponible en implementaciones alojadas en los siguientes entornos:

  • MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB

  • MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.

El rs.stepDown() método intenta finalizar operaciones de usuario de larga ejecución que impiden que el servidor principal descienda, como una creación de índice, una operación de escritura o un trabajo de reducción de mapa.

El método inicia entonces un período de actualización donde espera hasta secondaryCatchUpPeriodSeconds (por 10 defecto, segundos) para que un secundario se actualice con el principal. El principal solo se desconecta si un secundario se actualiza con el principal durante el período de actualización para evitar reversiones.

Si ningún candidato secundario elegible cumple este criterio al final del período de espera, el candidato primario no se retira y el método es erróneo.

Una vez que el nodo principal finaliza con éxito, ese nodo no puede convertirse en el principal durante el resto del período stepDownSecs, que comenzó cuando el nodo recibió el método.

rs.stepDown() El método no cierra todas las conexiones del cliente.

Nota

Todas las escrituras en el primario fallan durante el período que comienza cuando rs.stepDown() se recibe el método hasta que se elige un nuevo primario o, si no hay secundarios elegibles, el primario original reanuda su funcionamiento normal.

Las escrituras en curso al rs.stepDown() ejecutarse se cancelan. Las transacciones en curso también fallan con y pueden reintentarse en su TransientTransactionError totalidad.

El período de tiempo en el que las escrituras fallan es máximo:

secondaryCatchUpPeriodSecs (10s por defecto) + electionTimeoutMillis (10s por defecto).

Cuando se reduce una primaria utilizando rs.stepDown() o sin configurar replSetStepDown el force campo true en, la primaria reducida nomina a un secundario elegible para convocar una elección inmediatamente.

Volver

estado rs

En esta página