A documentação que você cita está correta, se você executar o db.fsyncLock () comando você irá liberar todas as alterações no disco e os arquivos de diário serão excluídos. Assim que você executar db.fsyncUnlock () e outra gravação chegar, esses arquivos de diário serão reaparecer:
Veja um exemplo rápido de um sistema de teste:
> db.foo.insert({"id" : 1})
Veja como o diretório de revistas se parece:
$ls /usr/local/var/mongodb/journal/
j._1 lsn
$
Agora, vamos bloqueá-lo e liberar tudo no disco:
> db.fsyncLock()
{
"info" : "now locked against writes, use db.fsyncUnlock() to unlock",
"seeAlso" : "http://dochub.mongodb.org/core/fsynccommand",
"ok" : 1
}
O diretório do diário está vazio:
$ls /usr/local/var/mongodb/journal/
$
Desbloqueie, insira:
> db.fsyncUnlock()
{ "ok" : 1, "info" : "unlock completed" }
> db.foo.insert({"id" : 1})
Agora, temos arquivos de diário novamente:
$ls /usr/local/var/mongodb/journal/
j._2 lsn
$
Portanto, se você não estiver bloqueando, liberando os bancos de dados para o disco e constantemente gravando, você sempre terá arquivos de diário.
Da mesma forma, quando você encerra uma instância de mongod
de forma limpa, os arquivos de diário serão excluídos depois que a liberação para o disco for concluída com êxito.
Se você gostaria de tornar os arquivos de diário menores, você pode analisar a execução com o --smallfiles
opção. Isso fornecerá 3 x 128 MB em vez de 3 x 1 GB.