上傳資產時工作流程重複數百次 | 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

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f