上传资产时,工作流重复数百次 | AEM
描述 description
问题
上传mp4文件 Assets 通过拖放操作控制台,每个mp4文件的工作流在数小时内重复数百次。
例如,的工作流 DAM更新资产 一个mp4反复了890次。 工作流实例结束并且新工作流实例开始后,每5秒执行一次。
此问题会生成类似于以下内容的错误消息:
15.01.2018 10:40:06.628 *ERROR* XX.XXX.XX.XX 1515980405832 POST /content/dam/path/to/file.createasset.html HTTP/1.1 com.day.cq.dam.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)
另一个报告的症状是资源上传期间屏幕上的红色闪烁。
环境
AEM 6.1 SP1
原因
尝试上传资源的用户没有 delete
文件夹的权限。
因此,当用户上传大文件(5 MB以上)时,AEM会上传该文件,并将其划分为多个块,这些块存储在asset节点下。
上传所有块后,AEM会将这些块合并为原始文件,启动DAM更新资产工作流,并清除这些块。
但是,当用户没有 delete
权限,清除块失败,因此,文件上传再次重新启动。
指定的消息
ERROR * POST /content/dam/*.createasset.html HTTP/1.1 com.day.cq.dam.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