Estou atualizando meu conjunto de réplicas do MongoDB de 3.0.15 para 3.2.22. E quando inicio um nó com os binários 3.2.22, continuo vendo o abaixo lastHeartbeatMessage
sempre que executors.status()
Vejo esta mensagem mesmo que esse nó esteja aparecendo como SECONDARY
e não haja nada nos arquivos de log que diga que algo está errado. E sempre que insiro um novo documento no PRIMARY
, posso ver o mesmo documento no SECONDARY
também e a mensagem acima desaparece. Existe uma razão pela qual estou vendo a mensagem acima para começar?
Há um problema conhecido que afeta o MongoDB 3.2 ( SERVER-20144 ), em que um obsoleto
lastHeartbeatMessage
pode não ser limpo até que novos dados sejam replicados do primário. Inserir ou atualizar dados deve resolver isso.Acredito que isso tenha sido mitigado pelas alterações de replicação no MongoDB 3.4, que executa gravações periódicas no-op se um cluster estiver ocioso por mais de 10 segundos (por SERVER-23892 ). A alteração da replicação no-op 3.4 fazia parte da especificação para Max Staleness , que permite aos drivers estimar a desatualização dos secundários para dar suporte a uma nova
maxStalenessSeconds
opção de preferência de leitura .Como a série de lançamentos do MongoDB 3.2 atingiu o fim de sua vida útil em setembro de 2018, eu recomendaria fortemente a atualização para um lançamento de produção mais recente e com suporte ativo.