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:
- CRX/DE para instancias de DEV
- el Explorador del repositorio
- 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 enjcr: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:
- genere un paquete en una instancia dañada para la página defectuosa
- descargar el paquete
- extraer el
.content.xml
para la página/jcr:content - elimine manualmente la línea con el jcr:lockIsDeep
- actualice el paquete con el archivo .content.xml nuevo/corregido
- 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.