El flujo de trabajo se repite cientos de veces al cargar el recurso | AEM
Descripción description
Problema
Carga de archivos mp4 en Assets consola mediante arrastrar y soltar, los flujos de trabajo para cada archivo mp4 se repiten cientos de veces durante horas.
Por ejemplo, los flujos de trabajo de Recurso de actualización DAM para un mp4 repetido 890 veces. Cada 5 segundos después de finalizar una instancia de flujo de trabajo y de iniciar otra instancia.
Este problema generaba mensajes de error similares a los siguientes:
15.01.2018 10:40:06.628 *ERROR* XX.XXX.XX.XX 1515980405832 POST /content/dam/path/to/file.createasset.html HTTP/1.1 com.day.cq.dam.core.impl.servlet.CreateAssetServlet Error while creating new asset: Unable to commit changes to session.
org.apache.sling.api.resource.PersistenceException: Unable to commit changes to session.
...
Caused by: javax.jcr.AccessDeniedException: OakAccess0000: Access denied
...
Caused by: org.apache.jackrabbit.oak.api.CommitFailedException: OakAccess0000: Access denied
at org.apache.jackrabbit.oak.security.authorization.permission.PermissionValidator.checkPermissions(PermissionValidator.java:212)
at org.apache.jackrabbit.oak.security.authorization.permission.PermissionValidator.childNodeDeleted(PermissionValidator.java:168)
Otro síntoma notificado fue un parpadeo rojo en la pantalla durante la carga del recurso.
Entorno
AEM.1 SP1
Causa
El usuario que intentaba cargar el recurso no tiene el delete
en la carpeta.
AEM Como resultado, cuando el usuario carga un archivo grande (de 5 MB o más), carga el archivo dividiéndolo en varios fragmentos que se almacenan en el nodo de recursos.
AEM Una vez cargados todos los fragmentos, consolida los fragmentos como el archivo original, inicia el flujo de trabajo de recursos de actualización de DAM y borra los fragmentos.
Pero cuando el usuario no tiene el delete
, se produce un error al borrar los fragmentos y, como consecuencia, la carga de archivos se reinicia.
Mensajes especificados
ERROR * POST /content/dam/*.createasset.html HTTP/1.1 com.day.cq.dam.core.impl.servlet.CreateAssetServlet Error while creating new asset: Unable to commit changes to session.
org.apache.sling.api.resource.PersistenceException: Unable to commit changes to session.
Caused by: javax.jcr.AccessDeniedException: OakAccess0000: Access denied
Resolución resolution
Resoluciones
Existen dos formas de resolver este problema:
Método de resolución 1
Añada el delete
permiso de acceso a carpetas de recursos para el usuario.
Método de resolución 2
Cambiar las propiedades de:/libs/dam/gui/content/assets/jcr:content/body/assetscontent/header/items/default/items/fileupload
Para aumentar los bytes mínimos de carga de fragmentos, aumente chunkUploadMinFileSize
.
Para deshabilitar la carga de fragmentos, establezca false como chunkUploadSupported
.