Show Menu
TEMAS×

Resolución de problemas de replicación

Esta página proporciona información sobre cómo solucionar problemas de replicación.

Problema

La replicación (replicación no inversa) está fallando por alguna razón.

Resolución

Existen varias razones para que la replicación falle. En este artículo se explica el enfoque que se podría adoptar al analizar estos problemas.
¿Se activan las replicaciones al hacer clic en el botón Activar? Si NO, haga lo siguiente:
  1. Vaya a /crx/explorer (CQ5.5) e inicie sesión como administrador.
  2. Abrir "Explorador de contenido"
  3. Consulte si existe un nodo /bin/replicate o /bin/replicate.json. Si el nodo existe, elimínelo y guárdelo.
¿Las replicaciones se ponen en cola en las colas del agente de replicación?
Consulte esto en /etc/replication/agents.author.html y luego haga clic en los agentes de replicación para comprobarlo.
Si hay una cola de agente o unas pocas colas de agentes atascadas:
  1. ¿La cola muestra el estado de bloqueo ? Si es así, ¿la instancia de publicación no se está ejecutando o no responde totalmente? Compruebe la instancia de publicación para ver qué tiene de malo (es decir, compruebe los registros y vea si hay un error OutOfMemory o algún otro problema. Entonces, si por lo general es lenta, tome los vertederos y analícelos.
  2. ¿El estado de la cola muestra que la cola está activa - # pendiente ? Básicamente, el trabajo de replicación se podría atascar en un socket en espera de que la instancia pública o el despachante respondan. Esto podría significar que la instancia de publicación o el despachante están bajo carga alta o bloqueados. Tome los archivos de subproceso del autor y publíquelos en este caso.
    • Abra los volcados de subprocesos del autor en un analizador de volcado de subprocesos, compruebe si muestra que el trabajo de eventos de sling del agente de replicación está atascado en un socketRead.
    • Abra los volcados de subproceso de la publicación en un analizador de volcado de subprocesos, analice qué podría estar causando que la instancia de publicación no responda. Debe ver un subproceso con POST /bin/received en su nombre, que es el subproceso que recibe la replicación del autor.
Si todas las colas de agentes están atascadas
  1. Es posible que un determinado fragmento de contenido no se pueda serializar en /var/Replication/data debido a daños en el repositorio o a algún otro problema. Consulte logs/error.log para ver si hay algún error relacionado. Para borrar el elemento de replicación incorrecto, haga lo siguiente:
    1. Vaya a https://<host>:<puerto>/crx e inicie sesión como usuario administrador. En CQ5.5, vaya a https://<host>:<puerto>/crx/explorer en su lugar.
    2. Haga clic en "Explorador de contenido".
    3. En la ventana "Explorador de contenido" haga clic en el botón de la lupa en la parte superior derecha de la ventana y aparecerá un cuadro de diálogo de búsqueda.
    4. Seleccione el botón de opción "XPath".
    5. En el cuadro "Consulta", introduzca el orden de consulta /jcr:root/var/eventing/Jobs//element(&ast;,slingevent:Job) de @slingevent:created
    6. Haga clic en "Buscar"
    7. En los resultados, los elementos principales son los últimos trabajos de eventos de ventas. Haga clic en cada una de ellas y busque las réplicas que coinciden con lo que aparece en la parte superior de la cola.
  2. Podría haber algún problema con la venta de colas de trabajos de marco de eventos. Intente reiniciar el paquete org.apache.sling.event en la consola/system/console.
  3. Es posible que el procesamiento de trabajos esté completamente desactivado. Puede comprobarlo en la consola Félix, en la ficha Evento de sling. Compruebe si se muestra - Acontecimiento de Apache Sling (EL PROCESAMIENTO DE TRABAJO ESTÁ DESHABILITADO)
    • Si es así, compruebe el controlador de eventos de trabajo de Apache Sling en la ficha Configuración de la consola Felix. Podría ser que la casilla de verificación 'Procesamiento de trabajos activado' esté desactivada. Si está marcado y sigue mostrando que 'el procesamiento de trabajos está deshabilitado', compruebe si hay alguna superposición en /apps/system/config que esté desactivando el procesamiento de trabajos. Intente crear un nodo osgi:config para jobmanager.enabled con un valor booleano en true y vuelva a comprobar si se ha iniciado la activación y no hay más trabajos en cola.
  4. También es posible que la configuración de DefaultJobManager tenga un estado incoherente. Esto puede suceder cuando alguien modifica manualmente la configuración del controlador de eventos de trabajo de Apache Sling mediante OSGiconsole (por ejemplo, deshabilitar y volver a habilitar la propiedad 'Job Processing Enabled' y guardar la configuración).
    • En este punto, la configuración de DefaultJobManager que se almacena en crx-quickstart/launchpad/config/org/apache/sling/event/impl/jobs/DefaultJobManager.config pasa a un estado incoherente. Y aunque la propiedad 'Apache Sling Job Event Handler' muestra que 'Job Processing Enabled' está en estado comprobado, cuando uno navega a la ficha Sling Eventing, muestra el mensaje - JOB PROCESSING IS DISABLED (PROCESAMIENTO DE TRABAJO habilitado) y la replicación no funciona.
    • Para resolver este problema, es necesario desplazarse a la página Configuración de la consola OSGi y eliminar la configuración del controlador de eventos de trabajo Apache Sling. A continuación, reinicie el nodo maestro del clúster para volver a colocar la configuración en un estado coherente. Esto debería solucionar el problema y la replicación empezará a funcionar nuevamente.
Crear un archivo Replication.log
A veces puede resultar muy útil configurar todos los registros de replicación para que se agreguen en un archivo de registro independiente a nivel DEBUG. Para ello:
  1. Vaya a https://host:port/system/console/configMgr e inicie sesión como administrador.
  2. Busque la fábrica Apache Sling Logging Logger y cree una instancia haciendo clic en el botón + a la derecha de la configuración de fábrica. Esto creará un nuevo registrador.
  3. Configure la configuración de esta manera:
    • Nivel de registro: DEPURAR
    • Ruta del archivo de registro: (CQ5.4 y 5.3) ../logs/replication.log (CQ5.5) logs/replication.log
    • Categorías: com.day.cq.replication
  4. Si sospecha que el problema está relacionado con la venta de eventos/trabajos de cualquier manera, también puede agregar este paquete java en categorías:org.apache.sling.event

Pausa de la Cola del Agente de Replicación

En algún momento puede ser adecuado pausar la cola de replicación para reducir la carga en el sistema de creación, sin deshabilitarlo. Actualmente, esto solo es posible si se configura temporalmente un puerto no válido. A partir de 5.4, puede ver el botón de pausa en la cola del agente de replicación que tiene alguna limitación
  1. El estado no persiste, lo que significa que si reinicia un servidor o se recicla un paquete de replicación, vuelve a estar en estado de ejecución.
  2. La pausa está inactiva durante un período más corto (OOB 1 hora después de no haber actividades con replicación de otros subprocesos) y no durante más tiempo. Porque existe una característica en sling que evita roscas inactivas. Básicamente, compruebe si un subproceso de cola de trabajos no se ha utilizado durante más tiempo, si es así, inicia ciclos de limpieza. Debido al ciclo de limpieza, detiene el subproceso y, por lo tanto, se pierde la configuración pausada. Dado que los trabajos se mantienen, inicia un nuevo subproceso para procesar la cola que no tiene detalles de la configuración pausada. Debido a esto, la cola se convierte en estado de ejecución.

Los permisos de página no se replican al activar el usuario

Los permisos de página no se replican porque se almacenan bajo los nodos a los que se concede acceso, no con el usuario.
En general, los permisos de página no se deben replicar del autor para publicar y no se pueden realizar de forma predeterminada. Esto se debe a que los derechos de acceso deben ser diferentes en esos dos entornos. Por lo tanto, se recomienda configurar las ACL en la publicación por separado del autor.

Cola de replicación bloqueada al replicar información de espacio de nombres de Autor a Publicación

En algunos casos, la cola de replicación se bloquea al intentar replicar información de espacio de nombres de la instancia de autor en la instancia de publicación. Esto sucede porque el usuario de replicación no tiene jcr:namespaceManagement privilegios. Para evitar este problema, asegúrese de que:
  • El usuario de replicación (según la configuración de la ficha Transporte >Usuario) también existe en la instancia Publicar.
  • El usuario tiene privilegios de lectura y escritura en la ruta de acceso donde está instalado el contenido.
  • El usuario tiene jcr:namespaceManagement privilegios en el nivel de repositorio. Puede otorgar el privilegio de la siguiente manera:
  1. Inicie sesión en CRX/DE ( http://localhost:4502/crx/de/index.jsp ) como administrador.
  2. Haga clic en la ficha Control de acceso.
  3. Seleccione Repositorio .
  4. Haga clic en Agregar entrada (el icono del signo más).
  5. Escriba el nombre del usuario.
  6. Select jcr:namespaceManagement from the privileges list.
  7. Haga clic en Aceptar.