Workflow wiederholt Hunderte von Malen beim Hochladen von Assets | AEM
Um dieses Problem zu beheben, können Sie entweder die Berechtigung delete für Asset-Ordner für den Benutzer hinzufügen oder die Eigenschaften von ändern/libs/dam/gui/content/assets/jcr:content/body/assetscontent/header/items/default/items/fileupload.
Beschreibung description
Problem-
Beim Hochladen von MP4-Dateien in der Assets-Konsole per Drag-and-Drop wurden die Workflows für jede MP4-Datei hunderte Male für Stunden wiederholt.
Beispielsweise werden die Workflows von DAM Update Asset für eine MP4 890-mal wiederholt. Alle 5 Sekunden, nachdem eine Workflow-Instanz beendet und eine neue Workflow-Instanz gestartet wurde.
Dieses Problem führte zu Fehlermeldungen, die den folgenden ähneln:
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)
Ein weiteres gemeldetes Symptom ist ein rotes Blinken auf dem Bildschirm während des Asset-Uploads.
Umgebung
Adobe Experience Manager 6.1 SP1 (AEM 6.1 SP1)
Ursache
Beim Versuch, das Asset hochzuladen, verfügt der Benutzer nicht über die delete Berechtigung für den Ordner.
Wenn Benutzende eine große Datei (5 MB oder mehr) hochladen, lädt AEM die Datei daher hoch und teilt sie in mehrere Blöcke auf, die unter dem Asset-Knoten gespeichert werden.
Sobald alle Blöcke hochgeladen wurden, konsolidiert AEM die Blöcke als Originaldatei, startet den Workflow DAM-Update-Asset und löscht die Blöcke.
Wenn der Benutzer jedoch nicht über die delete Berechtigung verfügt, schlägt das Löschen der Blöcke fehl und daher wird der Datei-Upload erneut gestartet.
Angegebene Nachrichten
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
Auflösung resolution
Auflösungen
Es gibt zwei Möglichkeiten, dieses Problem zu beheben:
Auflösungsmethode 1
Fügen Sie dem Benutzer die Berechtigung delete für Asset-Ordner hinzu.
Auflösungsmethode 2
Ändern Sie die Eigenschaften von:/libs/dam/gui/content/assets/jcr:content/body/assetscontent/header/items/default/items/fileupload
Um die Mindestanzahl an Byte für den Chunk-Upload zu erhöhen, erhöhen Sie chunkUploadMinFileSize.
Um den Chunkupload zu deaktivieren, setzen Sie false auf chunkUploadSupported.