Cola de distribución bloqueada con AccessDeniedException

Descripción description

Entorno

  • Experience Manager
  • Experience Manager as a cloud service

Problemas/Síntomas
Al intentar replicar algún contenido de página (o XF y otro tipo de recursos) mediante "Publicación rápida", "Administrar publicación" o "Replicar", la cola de distribución en Autor obtiene Bloqueado.

Esto se puede observar comprobando la publicar AEM Cola de distribución desde la interfaz de usuario de distribución (- Herramientas - Implementación - Distribución):


Al seleccionar la cola de Golden Publisher (escriba en negrita en la lista), se proporcionan más detalles y, en particular, la información relacionada  RUTA  (puede haber varios elementos aquí):


Mirando en el  Registros  mostrará el siguiente error correspondiente:
2023/03/08 12:11:26:238 - INFO - Solicitud aceptada con paquete de distribución PackageMessage(pubSlingId=a1133c97-6809-411e-a435-4eea0ecbe889, reqType=ADD, pkgId=dstrpck-1678277486031-63159f4b-c577-4079-8741-d41660597d20, pkgType=journal_filevault, pkgLength=6330, pubAgentName=publish, userId=replication-service, paths=/content/wknd/fr, deepPaths=) at offset=158705 2023/03/08 12:11:27:459 - WARN - Mensaje: error al intentar (0/infinite) importar el paquete de distribución PackageMessage(pubSlingId=a1133c97-6809-411e-a435-4eea0ecbe889, reqType=ADD, pkgId=dstrpck-1678277486031-63159f4b-c577-4079-8741 d41660597d20, pkgType=journal_filevault, pkgLength=6330, pubAgentName=publish, userId=replication-service, paths=/content/wknd/fr, deepPaths=) at offset=158705 debido a 'javax.jcr.AccessDeniedException: OakAccess0000: Acceso denegado', el importador lo volverá a intentar más tarde, Stacktrace: org.apache.sling.distribution.common.DistributionException: javax.jcccr r.AccessDeniedException: OakAccess0000: Acceso denegado…

Tienes que hacerlo Borrar cola (o quite ese elemento) para desbloquear la cola.

Resolución resolution

A pesar del error  javax.jcr.AccessDeniedException Sin embargo, es posible que no haya relación con la ACL / permisos para los usuarios del servicio de distribución, aunque esto debe tenerse en cuenta si el siguiente escenario no se aplica a su caso.

Diagnóstico

El error anterior se puede producir en algunas situaciones, cuando el contenido replicado no tiene una configuración específica relacionada con la oferta especial  jcr:lockIsDeep  propiedad.

Para confirmar el diagnóstico, tendrá que inspeccionar cada una de las rutas mencionadas  con cualquiera de las siguientes herramientas a las que puede acceder o que son aplicables:

  1. CRX/DE para instancias de DEV
  2. el Explorador del repositorio
  3. creación de un paquete de contenido en el Administrador de paquetes (esta opción también forma parte de la resolución)

Entonces necesita comprobar la  jcr:content  nodo para cada ruta encontrada en la interfaz de usuario de la cola de distribución y compruebe si:

  • It hace  tiene un  jcr:lockIsDeep="(Boolean)true"  propiedad
  • It no tiene  tiene un  jcr:lockOwner="xxx"  propiedad
  • ( it no tiene tiene un  mix:lockable  valor en  jcr:mixinTypes)

Si este es el caso, el problema se confirma, ya que la variable  jcr:lockIsDeep  la propiedad no debe estar presente sola. Esta propiedad siempre se debe establecer de forma conjunta con la variable  jcr:lockOwner  cuando  Bloqueo  una página.

No es posible configurar solo el jcr:lockIsDeep  , incluso utilizando la API JCR, por lo que la causa principal que explica esta situación es haber instalado un paquete de contenido "dañado" con esa sola propiedad.

Resolución

Para corregir el contenido, la única solución es instalar un paquete en Author que tenga las propiedades correctas establecidas en el nodo correspondiente.

Puede crear ese paquete a partir de otra instancia que tenga el contenido correspondiente o si solo tiene este contenido en la instancia afectada, puede seguir esas instrucciones:

  1. genere un paquete en una instancia dañada para la página defectuosa
  2. descargar el paquete
  3. extraer el  .content.xml  para la página/jcr:content
  4. elimine manualmente la línea con el  jcr:lockIsDeep
  5. actualice el paquete con el archivo .content.xml nuevo/corregido
  6. vuelva a cargar e instale el paquete modificado

A continuación, puede volver a comprobar las propiedades de la página y probar correctamente la replicación/distribución.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f