Mod_cluster y errores 404 al reiniciar Apache – Configurando persistencia de workers

Cuando reiniciamos un servidor web Apache ya sea manualmente o bien como una tarea habitual programada en un cron, podemos apreciar un error 404 durante unos breves segundos, algunos más que los que tarda el servidor web en reiniciar. En el log de Jboss podremos observar errores de este tipo:

Siendo HOST el servidor frontal de Apache con el que intenta conectar Jboss.

Unos segundos más adelante mod_cluster debería haber sido capaz de reconectar el frontend Apache con el backend Jboss después de los mensajes STATUS, CONFIG y ENABLE-APP correspondientes. El problema radica precisamente en esos segundos de más en los que el servicio no está disponible.

Una posible solución a dicha problema momentáneo consiste en ajustar un parámetro en nuestro servidor Apache añadiendo la directiva:

PersistSlots On

Por defecto está Off a no ser que nosotros especifiquemos lo contrario. Estando desactivada el módulo slotmem -que forma parte como tal de la configuración de mod_cluster- guarda la información sobre alias, nodos backend y contextos de aplicación en memoria, siendo necesario por tanto realizar de nuevo todo el proceso de discovery una vez reiniciado Apache. Si lo ponemos en On, dicha información se guardará en ficheros por lo que estará disponible nada más reiniciar el servidor web sin interrumpir el servicio durante esos segundos adicionales.

NOTA: el módulo slotmem (mod_slotmem) desde la versión 1.3 de mod_cluster pasa a llamarse mod_cluster_slotmem cuya función es idéntica.