2 votos

El servidor MongoDB no se cierra al presionar Ctrl + C después de cambiar la fecha del sistema a una fecha en el pasado

Actualmente estoy usando MongoDB 3.4.4.

Corro de MongoDB con el mongo_start archivo de proceso por lotes. Yo normalmente cerca de la shell que aparece usando ctrl+c y funciona la mayoría del tiempo. Pero cuando me revertir la fecha del sistema a un anterior (ex. sistema de cambio de fecha a la fecha de ayer), mientras que el servidor de MongoDB, ctrl+c deja de trabajar (es decir, el shell no se cierra).

Parece que esto fue causado por la --journal parámetro porque cuando he cambiado a ningún diario, fui capaz de cerrar la consola con ctrl+c , incluso después de cambiar la fecha del sistema a una fecha anterior. Pero después de comprobar el mismo caso con un viejo servidor de MongoDB (que también tiene el --journal del parámetro), ctrl+c cerrado el shell después de cambiar la fecha del sistema a fecha anterior.

Me gustaría saber qué provocó la shell para no cerrar con ctrl+c después de cambiar la fecha del sistema a una fecha más antigua. Gracias!

1voto

xyc Puntos 16

Dada su servidor de MongoDB versión 3.4.4 y la descripción del problema actual (cambiar el reloj del sistema para atrás), espero que la actualización a MongoDB 3.4.6 o temprano va a resolver este problema. La última versión de producción en serie que actualmente está 3.4.19 (enero, 28 de 2019), y ha habido muchas correcciones de errores y mejoras de estabilidad desde 3.4.4 fue liberado (21 de abril de 2017).

Hubo un par de problemas relacionados con el sistema de relojes saltar hacia atrás que podría causar WiredTiger se apaga o se bloquea durante puestos de control (por ejemplo, véase WT-3331 y WT-3327 en la MongoDB issue tracker). Estas cuestiones se abordaron en la MongoDB 3.4.6 liberación.

Esto también se menciona en virtud de la Sincronización del Reloj de la sección de la MongoDB notas de producción:

El uso de NTP para sincronizar los relojes de todos los componentes de su MongoDB implementación. Los conjuntos de réplicas y sharded clústeres de ejecución de MongoDB 3.4.5 o anterior con la WiredTiger motor de almacenamiento pueden experimentar punto de control se bloquea en sistemas con poco fiables relojes.

It seems like this was caused by the --journal parameter

La secuencia de cierre consiste en un punto de control a realizar en el diario escribe duradera en los archivos de datos. Si ha deshabilitado la journalling (que no es fuertemente recomendado para entornos de producción), que en su lugar sería activación de los puntos de control en cada escritura. Espero que la desactivación de la revista habría hecho menos probable que tu servidor tenga un punto de control, incluyendo los datos de que fue escrito antes de que el reloj se fue hacia atrás, aunque todavía podrían tener problemas en el apartado 3.4.4 si el reloj del sistema cambia de manera concurrente con las escrituras.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: