アセットのアップロード時に、ワークフローが数百回繰り返される | AEM

この問題を解決するには、ユーザーのアセットフォルダーに delete 権限を追加するか、のプロパティを変更します
/libs/dam/gui/content/assets/jcr:content/body/assetscontent/header/items/default/items/fileupload

説明 description

問題
ドラッグ&ドロップで Assets コンソールに mp4 ファイルをアップロードすると、各 mp4 ファイルのワークフローが何時間も数百回繰り返されました。
例えば、1 つの mp4 に対する DAM アセットの更新 のワークフローは 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)

報告されたもう 1 つの症状は、アセットのアップロード中に画面が赤く点滅することです。

環境

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

解決策
この問題を解決する方法は 2 つあります。

解決方法 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