Descripción
rs.stepDown(stepDownSecs, secondaryCatchUpPeriodSecs)Instruye a la 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 la primaria. Si ningún
electablesecundario está al día con el primario, el primario espera hastasecondaryCatchUpPeriodSecs(por defecto 10 segundos) para que un secundario se ponga al día. Una vez que se dispone de una secundaria elegible, el método de descenso se realiza en la primaria.Una vez replegado, el primario original se convierte en secundario y no es elegible para volver a ser primario durante el resto del tiempo 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:ParameterTipoDescripciónstepDownSecsNúmero
El número de segundos para degradar el primario, durante el cual el nodo degradado no es elegible para convertirse en primario. Si se especifica un valor no numérico, la comando utiliza
60segundos.El período de reducción comienza desde el momento en que recibe el comando. El período de reducción debe ser
mongodmayorsecondaryCatchUpPeriodSecsque.secondaryCatchUpPeriodSecsNúmero
opcional. El número de segundos que
mongodesperará a que un secundario elegible se ponga al nivel del primario.Cuando se especifica,
secondaryCatchUpPeriodSecsanula el tiempo de espera por defecto de10segundos.
Compatibilidad
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.
Comportamiento
Operaciones Concurrentes
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.
Disponibilidad de secundarios elegibles
El método entonces inicia un período de actualización en el que espera hasta secondaryCatchUpPeriodSeconds, por defecto 10 segundos, para que un secundario se ponga al día con el primario. El primario solo se baja si un secundario está actualizado con el primario durante el período de puesta al día para evitar reversiones.
Si ningún secundario elegible cumple con este criterio al final del periodo de espera, el primario no cede y el método produce un error.
Una vez que el nodo primario se retira con éxito, ese nodo no puede convertirse en el primario durante el resto del período stepDownSecs, que comenzó cuando el nodo recibió el método.
Conexiones de cliente
rs.stepDown() El método no cierra todas las conexiones del cliente.
Escribe durante el paso a paso
Nota
Todas las escrituras para el primario fallan durante el período que comienza cuando se recibe el método rs.stepDown() hasta que se elija un nuevo primario, o si no hay secundarios electos, el primario original reanude la normal operación.
Los guardados que estaban en curso cuando se ejecuta rs.stepDown() son finalizados. Las transacciones en curso también fallan con TransientTransactionError y se pueden volver a intentar como un todo.
El período de tiempo en el que las escrituras fallan es máximo:
secondaryCatchUpPeriodSecs (10s por defecto) + (10s por electionTimeoutMillis defecto).
Entrega de elecciones
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.