Arbetsflödet upprepas hundratals gånger vid överföring av resurser | AEM
Du kan lösa det här problemet genom att antingen lägga till behörigheten delete i resursmappar för användaren eller ändra egenskaperna för/libs/dam/gui/content/assets/jcr:content/body/assetscontent/header/items/default/items/fileupload.
Beskrivning description
Utgåva
När du överför mp4-filer i Assets -konsolen genom att dra och släppa, upprepas arbetsflödena för varje mp4-fil hundratals gånger i timmar.
Arbetsflödena för DAM Update Asset för en mp4 repeterade till exempel 890 gånger. Var 5:e sekund efter att en arbetsflödesinstans avslutats och en ny arbetsflödesinstans påbörjades.
Det här problemet genererade felmeddelanden som liknar de nedan:
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)
Ett annat rapporterat symtom är en röd blinkning på skärmen under överföringen av resursen.
Miljö
Adobe Experience Manager 6.1 SP1 (AEM 6.1 SP1)
Orsak
När användaren försöker överföra resursen har han/hon inte behörighet delete för mappen.
När användaren överför en stor fil (5 MB+) laddar AEM upp filen som delar den i flera segment som lagras under objektnoden.
När alla segment har överförts konsoliderar AEM klippen som den ursprungliga filen, startar arbetsflödet DAM Update Asset och rensar segmenten.
Men när användaren inte har behörigheten delete misslyckas rensningen av blocken och filöverföringen startas därför om igen.
Angivna meddelanden
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
Upplösning resolution
Lösning
Det finns två sätt att lösa problemet:
Upplösningsmetod 1
Lägg till behörigheten delete för resursmappar för användaren.
Upplösningsmetod 2
Ändra egenskaperna för:/libs/dam/gui/content/assets/jcr:content/body/assetscontent/header/items/default/items/fileupload
Öka det minsta antalet byte för segmentöverföring genom att öka chunkUploadMinFileSize.
Om du vill inaktivera segmentöverföring anger du chunkUploadSupported som falskt.