El journal registra información necesaria para recuperar el storage engine después de un crash ocurrido entre checkpoints. La durabilidad que percibe la aplicación depende además de write concern, replication, hardware y de si la respuesta llegó al cliente.
La interacción entre majority y journaling depende de versión, defaults y topología. No añadas opciones por superstición: documenta la garantía necesaria y confirma comportamiento actual.
El storage engine puede agrupar operaciones para amortizar fsync. Esto mejora throughput, pero la latencia depende de disco, frecuencia y carga. No interpretes cada write como una escritura física aislada exactamente en ese instante.
También influyen cantidad de índices, tamaño de documentos y write concern. Desactivar journaling para ocultar un storage lento cambia la garantía, no resuelve la causa.
El commit representa la unidad de durabilidad. Operaciones dentro de la transacción no se confirman externamente una por una. Un commit ambiguo debe tratarse mediante el protocolo de retry del driver.
No ejecutes efectos externos dentro del callback porque puede repetirse.
El journal permite recuperar cambios posteriores al checkpoint ante un crash local. La durabilidad completa combina journal, write concern, replication y backup. Timeouts siguen siendo ambiguos, y una operación técnicamente persistida puede ser lógicamente incorrecta; por eso necesitas idempotencia, monitoreo y recuperación histórica.