Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

rs.stepDown() (método mongosh)

rs.stepDown(stepDownSecs, secondaryCatchUpPeriodSecs)

Instrui o primário do conjunto de réplicas a se tornar um secundário. Após as etapas primárias, os secundários elegíveis realizam uma eleição para as primárias.

O método não diminui imediatamente o primary. Se nenhum secundário electable estiver atualizado com o primário, o primário aguardará até secondaryCatchUpPeriodSecs (por padrão, 10 segundos) para que um secundário se atualize. Quando um secundário elegível está disponível, o método diminui o primário.

Uma vez recuado, o primário original torna-se secundário e não se qualifica para se tornar primário novamente pelo restante do tempo especificado por stepDownSecs.

Para obter uma explicação detalhada da execução do método, consulte Comportamento.

Observação

O método só é válido contra o primário e gera um erro se for executado em um membro não primário.

Importante

Método mongosh

This page documents a mongosh method. This is not the documentation for database commands or language-specific drivers, such as Node.js.

Para o comando do banco de dados, consulte o comando replSetStepDown.

Para drivers de API do MongoDB, consulte a documentação do driver do MongoDB específica da linguagem.

The rs.stepDown() method has the following parameters:

Parâmetro
Tipo
Descrição

stepDownSecs

número

O número de segundos para deixar o primário, período durante o qual o nó renunciante não está qualificado para se tornar primário. Se você especificar um valor não numérico, o comando usará 60 segundos.

O período de recuo começa a partir do momento em que o mongod recebe o comando. O período de recuo deve ser maior que secondaryCatchUpPeriodSecs.

secondaryCatchUpPeriodSecs

número

Opcional. O número de segundos que mongod aguardará até que um secundário elegível alcance o primário.

Quando especificado, o secondaryCatchUpPeriodSecs substitui o tempo de espera padrão de 10 segundos.

Esse método está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB

  • MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB

The rs.stepDown() method attempts to terminate long running user operations that block the primary from stepping down, such as an index build, a write operation or a map-reduce job.

Em seguida, o método inicia um período de recuperação em que aguarda até secondaryCatchUpPeriodSeconds, por padrão 10 segundos, para que um secundário fique atualizado com o primário. O primary só é desativado se um secundário estiver atualizado com o primário durante o período de recuperação para evitar rollback.

Se nenhum secundário elegível atender a esse critério até o final do período de espera, o primário não será rebaixado e o método apresentará erros.

Uma vez que o primário se retira com sucesso, esse nó não pode se tornar o primário pelo restante do período stepDownSecs, que começou quando o nó recebeu o método.

rs.stepDown() O método não fecha todas as conexões do cliente.

Observação

All writes to the primary fail during the period starting when the rs.stepDown() method is received until either a new primary is elected, or if there are no electable secondaries, the original primary resumes normal operation.

Writes that were in progress when rs.stepDown() is run are killed. In-progress transactions also fail with TransientTransactionError and can be retried as a whole.

O período de tempo em que as gravações falham é no máximo:

secondaryCatchUpPeriodSecs (10s por padrão) + electionTimeoutMillis (10s por padrão).

When you step down a primary using rs.stepDown() or replSetStepDown without setting the force field to true, the stepped-down primary nominates an eligible secondary to call an election immediately.