O fluxo de trabalho se repete centenas de vezes no upload de ativos | AEM
Para resolver esse problema, você pode adicionar a permissão delete
nas pastas de ativos para o usuário ou alterar as propriedades de/libs/dam/gui/content/assets/jcr:content/body/assetscontent/header/items/default/items/fileupload
.
Descrição description
Problema
Ao carregar arquivos mp4 no console Assets arrastando e soltando, os fluxos de trabalho de cada arquivo mp4 se repetiam centenas de vezes por horas.
Por exemplo, os fluxos de trabalho do Ativo de atualização do DAM para um mp4 foram repetidos 890 vezes. A cada 5 segundos após a conclusão de uma instância de fluxo de trabalho e o início de uma nova instância de fluxo de trabalho.
Esse problema gerou mensagens de erro semelhantes às mostradas abaixo:
15.01.2018 10:40:06.628 *ERROR* [ XX.XXX.XX.XX [ 1586753090032] POST /content/dam/path/to/file.createasset.html HTTP/1.1] com.day.XX.XXX.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)
Outro sintoma relatado é um piscando vermelho na tela durante o carregamento do ativo.
Ambiente
Adobe Experience Manager 6.1 SP1 (AEM 6.1 SP1)
Causa
Ao tentar carregar o ativo, o usuário não tem a permissão delete
na pasta.
Como resultado, quando o usuário carrega um arquivo grande (5 MB+), o AEM carrega o arquivo dividindo-o em várias partes que são armazenadas no nó do ativo.
Depois que todas as partes forem carregadas, o AEM consolidará as partes como o arquivo original, iniciará o fluxo de trabalho Atualizar ativo do DAM e limpará as partes.
Mas quando o usuário não tem a permissão delete
, a limpeza das partes falha e, como consequência, o carregamento do arquivo é reiniciado novamente.
Mensagens Especificadas
ERROR * POST /content/XXX/*.createasset.html HTTP/1.1] com.XXX.XX.XXX.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
Resolução resolution
Resoluções
Há duas maneiras de resolver esse problema:
Método de Resolução 1
Adicione a permissão delete
nas pastas de ativos para o usuário.
Método de Resolução 2
Alterar as propriedades de:/libs/dam/gui/content/assets/jcr:content/body/assetscontent/header/items/default/items/fileupload
Para aumentar os bytes mínimos de carregamento de partes, aumente chunkUploadMinFileSize
.
Para desabilitar o carregamento de partes, defina falso como chunkUploadSupported
.