No Ubuntu 22.04.1 (AMD 3970x, 64 GB de RAM (passou no memtest86), vários TB livres no sistema de arquivos raiz, sem erros SMART), instalei o Community MongoDB seguindo as instruções padrão aqui . Ao iniciar o MongoDB no systemd, ele falhou com as journalctl -xe
mensagens:
Apr 01 22:55:52 ganymede systemd[1]: Started MongoDB Database Server.
░░ Subject: A start job for unit mongod.service has finished successfully
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ A start job for unit mongod.service has finished successfully.
░░
░░ The job identifier is 9623.
Apr 01 22:55:52 ganymede sudo[427395]: pam_unix(sudo:session): session closed for user root
Apr 01 22:55:52 ganymede mongod[427399]: {"t":{"$date":"2025-04-02T05:55:52.613Z"},"s":"I", "c":"CONTROL", "id":7484500, "ctx":"main","msg":"Environment variable MONGODB_CONFIG_OVERRIDE_NOFORK == 1, overriding \"processManagem>
Apr 01 22:55:52 ganymede systemd[1]: mongod.service: Main process exited, code=exited, status=14/n/a
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ An ExecStart= process belonging to unit mongod.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 14.
Apr 01 22:55:52 ganymede systemd[1]: mongod.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░
░░ The unit mongod.service has entered the 'failed' state with result 'exit-code'.
Mensagens de erro mais específicas da mesma tentativa de inicialização apareceram em /var/log/mongodb/mongod.log-
{"t":{"$date":"2025-04-01T22:55:52.617-07:00"},"s":"I", "c":"CONTROL", "id":20698, "ctx":"main","msg":"***** SERVER RESTARTED *****"}
{"t":{"$date":"2025-04-01T22:55:52.620-07:00"},"s":"I", "c":"CONTROL", "id":23285, "ctx":"main","msg":"Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'"}
{"t":{"$date":"2025-04-01T22:55:52.620-07:00"},"s":"I", "c":"CONTROL", "id":5945603, "ctx":"main","msg":"Multi threading initialized"}
{"t":{"$date":"2025-04-01T22:55:52.621-07:00"},"s":"I", "c":"NETWORK", "id":4648601, "ctx":"main","msg":"Implicit TCP FastOpen unavailable. If TCP FastOpen is required, set at least one of the related parameters","attr":{"relatedParameters":["tcpFastOpenServer","tcpFastOpenClient","tcpFastOpenQueueSize"]}}
{"t":{"$date":"2025-04-01T22:55:52.621-07:00"},"s":"I", "c":"NETWORK", "id":4915701, "ctx":"main","msg":"Initialized wire specification","attr":{"spec":{"incomingExternalClient":{"minWireVersion":0,"maxWireVersion":25},"incomingInternalClient":{"minWireVersion":0,"maxWireVersion":25},"outgoing":{"minWireVersion":6,"maxWireVersion":25},"isInternalClient":true}}}
{"t":{"$date":"2025-04-01T22:55:52.632-07:00"},"s":"F", "c":"ASSERT", "id":23095, "ctx":"main","msg":"Fatal assertion","attr":{"msgid":40475,"error":"FailedToParse: failed to parse time zone file for time zone identifier \"Asia/Riyadh87\": The version used in this timezone identifier is unsupported","file":"src/mongo/db/query/datetime/date_time_support.cpp","line":219}}
{"t":{"$date":"2025-04-01T22:55:52.632-07:00"},"s":"F", "c":"ASSERT", "id":23096, "ctx":"main","msg":"\n\n***aborting after fassert() failure\n\n"}
Isso parece indicar um problema com o pacote tzdata, então verifiquei de algumas maneiras:
dpkg --verify tzdata
# sem erros ou saída- Verificando os
apt
logszgrep -i tzdata /var/log/apt/*.gz
, houve uma atualização ontem (31 de março de 2025) - Ao verificar os arquivos tzdata de Riyadh,
find /usr/share/zoneinfo|grep "Riyadh"|xargs -n 1 zdump -v
não havia mensagens de erro, embora alguns registros tivessem "NULL", mas não está claro se isso indica um problema.
Então, eu desinstalei essa versão ( apt remove mongodb-org-server mongodb-org-shell mongodb-org-tools mongodb-org-mongos mongodb-org-database mongodb-org-database-tools-extra mongodb-mongosh mongodb-database-tools
)
Em seguida, instalei versões anteriores a partir da página de arquivo da edição comunitária , baixando arquivos .deb e iterando pelas versões 8.0.5, 8.0.4, 8.0.3, 8.0.1 e 8.0.0. Instalei cada uma delas, iniciei e verifiquei se falhavam – todas falhavam –, todas com a mesma mensagem "FailedToParse: falha ao analisar o arquivo de fuso horário para o identificador de fuso horário "Asia/Riyadh87"" em /var/log/mongodb/mongod.log.
Isso pode ser um "problema meu", mas parece improvável que um arquivo de fuso horário no tzdata com um formato não suportado consiga entrar no repositório do Ubuntu sem afetar outros serviços e sem ser corrigido imediatamente. No entanto, já tive problemas com o tzdata no Ubuntu 22.04 e consegui resolvê-los com um apt reinstall
.
Prefiro executar serviços em bare metal, daí meus esforços, então, se alguém tiver alguma contribuição, agradeço. Por enquanto, vou abrir o MongoDB no Docker e cerrar os dentes.
Atualização - A instalação do mongodb-server-org adiciona um /etc/mongod.conf padrão, que contém:
processManagement:
timeZoneInfo: /usr/local/share/tzdb
Tentei começar com e sem essas linhas, sem diferença, o mongod ainda verifica o tzdb integrado do Ubuntu e falha na asserção.
Então baixei o tzdb e o descompactei em /usr/local/share/mytzdb, apontei o mongod.conf para esse local e iniciei o mongod - sem sucesso, falhou da mesma forma.
Talvez haja uma variável de ambiente que substitua? Por enquanto, estou usando o Docker, sem problemas.
Ah, hoje de manhã uma atualização do Ubuntu teve uma atualização do tzdb, rs. Mas não corrigiu o mongod.