Il flusso di lavoro si ripete centinaia di volte al caricamento delle risorse | AEM
Per risolvere il problema, è possibile aggiungere l'autorizzazione delete
alle cartelle di risorse per l'utente oppure modificare le proprietà di/libs/dam/gui/content/assets/jcr:content/body/assetscontent/header/items/default/items/fileupload
.
Descrizione description
Problema
Caricando i file mp4 nella console Assets tramite trascinamento, i flussi di lavoro per ogni file mp4 si sono ripetuti centinaia di volte per ore.
Ad esempio, i flussi di lavoro di Risorsa di aggiornamento DAM per un mp4 sono stati ripetuti 890 volte. Ogni 5 secondi dopo il termine di un’istanza del flusso di lavoro e l’inizio di una nuova istanza del flusso di lavoro.
Questo problema ha generato messaggi di errore simili al seguente:
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)
Un altro sintomo segnalato è un lampeggiamento rosso sullo schermo durante il caricamento della risorsa.
Ambiente
Adobe Experience Manager 6.1 SP1 (AEM 6.1 SP1)
Causa
Quando si tenta di caricare la risorsa, l'utente non dispone dell'autorizzazione delete
per la cartella.
Di conseguenza, quando l'utente carica un file di grandi dimensioni (oltre 5 MB), AEM carica il file dividendolo in più blocchi memorizzati nel nodo della risorsa.
Una volta caricati tutti i blocchi, AEM li consolida come file originale, avvia il flusso di lavoro Aggiorna risorsa DAM e cancella i blocchi.
Se l'utente non dispone dell'autorizzazione delete
, la cancellazione dei blocchi non riesce e, di conseguenza, il caricamento del file viene riavviato.
Messaggi specificati
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
Risoluzione resolution
Risoluzioni
Esistono due modi per risolvere il problema:
Metodo di risoluzione 1
Aggiungi l'autorizzazione delete
per le cartelle di risorse dell'utente.
Metodo di risoluzione 2
Modifica le proprietà di:/libs/dam/gui/content/assets/jcr:content/body/assetscontent/header/items/default/items/fileupload
Per aumentare il numero minimo di byte per il caricamento dei blocchi, aumentare chunkUploadMinFileSize
.
Per disabilitare il caricamento dei blocchi, impostare false su chunkUploadSupported
.