上傳資產時工作流程重複數百次 | AEM
若要解決此問題,您可以為使用者新增資產資料夾的delete許可權,或變更屬性/libs/dam/gui/content/assets/jcr:content/body/assetscontent/header/items/default/items/fileupload。
說明 description
問題
透過拖放方式在 Assets 主控台中上傳mp4檔案,每個mp4檔案的工作流程會重複數百次達數小時。
例如,一個mp4的 DAM Update Asset 工作流程重複890次。 工作流程例項結束且新工作流程例項開始後,每5秒就會顯示一次。
此問題會產生類似以下內容的錯誤訊息:
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)
另一個回報的症狀是資產上傳期間熒幕上的紅色閃爍。
環境
Adobe Experience Manager 6.1 SP1 (AEM 6.1 SP1)
原因
嘗試上傳資產時,使用者沒有資料夾的delete許可權。
因此,當使用者上傳大型檔案(5 MB+)時,AEM會上傳檔案,將檔案分割成多個區塊,並儲存在資產節點下。
上傳所有區塊後,AEM會將這些區塊合併為原始檔案、啟動DAM更新資產工作流程,並清除這些區塊。
但是當使用者沒有delete許可權時,清除區塊會失敗,因此檔案上傳會重新開始。
指定的訊息
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
解決方法 resolution
解析度
有兩種方式可解決此問題:
解析方法1
為使用者新增資產資料夾的delete許可權。
解析方法2
變更下列專案的屬性:/libs/dam/gui/content/assets/jcr:content/body/assetscontent/header/items/default/items/fileupload
若要增加區塊上傳的最小位元組,請增加chunkUploadMinFileSize。
若要停用區塊上傳,請將false設為chunkUploadSupported。