Ouvrez une session sur le serveur AEM et ouvrez le fichier crx-quickstart/install/org.apache.jackrabbit.oak.plugins.blob.datastore.S3DataStore.config dans un éditeur
Problème
Dans un groupe multi-nœud AEM qui utilise S3DataStore, si vous téléchargez les grandes images ou vidéos (100 Mo+) aux actifs utilisateur via un nœud secondaire de topologie, des erreurs similaires à celle située ci-dessous sont consignées.
17.04.2017 23:53:27.106 *ERROR* [JobHandler: /etc/workflow/instances/server0/2017-04-17/update_asset_5:/content/dam/test.jpg/jcr:content/renditions/original] com.day.cq.dam.core.impl.cache.CQBufferedImageCache Error while loading image /content/dam/rrd/dsg/migration-test/to-rrd/aem-tester/Perf1492487597162_Performance_100MB_JPG.jpg/jcr:content/renditions/original java.lang.RuntimeException: Error occurred while obtaining InputStream for blobId [c260220808fc2ee8550a97daea0444123b02f90b#103376192] at org.apache.jackrabbit.oak.plugins.blob.BlobStoreBlob.getNewStream(BlobStoreBlob.java:49) at org.apache.jackrabbit.oak.plugins.value.BinaryImpl.getStream(BinaryImpl.java:53) at org.apache.sling.jcr.resource.internal.helper.LazyInputStream.getStream(LazyInputStream.java:106) at org.apache.sling.jcr.resource.internal.helper.LazyInputStream.read(LazyInputStream.java:65) at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1792) at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1769) at org.apache.commons.io.IOUtils.copy(IOUtils.java:1744) at com.day.cq.dam.commons.handler.StandardImageHandler.getImage(StandardImageHandler.java:245) at com.day.cq.dam.core.impl.handler.JpegHandler.getImage(JpegHandler.java:79) at com.day.cq.dam.core.impl.cache.CQBufferedImageCache.getImage(CQBufferedImageCache.java:116) at com.day.cq.dam.core.impl.gfx.CommonsGfxRenderer.createImageLayer(CommonsGfxRenderer.java:488) at com.day.cq.dam.core.impl.gfx.CommonsGfxRenderer.createLayer(CommonsGfxRenderer.java:163) at com.day.cq.dam.core.impl.gfx.CommonsGfxRenderer.render(CommonsGfxRenderer.java:116) at com.day.cq.dam.core.impl.RenditionMakerImpl$PlanBasedTemplate.apply(RenditionMakerImpl.java:132) at com.day.cq.dam.core.impl.RenditionMakerImpl.generateRenditions(RenditionMakerImpl.java:216) at com.day.cq.dam.core.process.CreateWebEnabledImageProcess.createWebEnabledImage(CreateWebEnabledImageProcess.java:165) at com.day.cq.dam.core.process.ThumbnailProcess.execute(ThumbnailProcess.java:82) at com.day.cq.workflow.compatibility.CQWorkflowProcessRunner.execute(CQWorkflowProcessRunner.java:93) ... Caused by: java.io.IOException: org.apache.jackrabbit.core.data.DataStoreException: Could not length of dataIdentifier c260220808fc2ee8550a97daea0444123b02f90b at org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore.getStream(DataStoreBlobStore.java:539) at org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore.getInputStream(DataStoreBlobStore.java:322) at org.apache.jackrabbit.oak.plugins.blob.BlobStoreBlob.getNewStream(BlobStoreBlob.java:47) ... 26 common frames omitted Caused by: org.apache.jackrabbit.core.data.DataStoreException: Could not length of dataIdentifier c260220808fc2ee8550a97daea0444123b02f90b at org.apache.jackrabbit.oak.blob.cloud.aws.s3.S3Backend.getLength(S3Backend.java:485) at org.apache.jackrabbit.core.data.CachingDataStore.getLength(CachingDataStore.java:671) at org.apache.jackrabbit.core.data.CachingDataStore.getRecord(CachingDataStore.java:469) at org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore.getDataRecord(DataStoreBlobStore.java:548) at org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore.getStream(DataStoreBlobStore.java:533) ... 28 common frames omitted Caused by: com.amazonaws.services.s3.model.AmazonS3Exception: Not Found (Service: Amazon S3; Status Code: 404; Error Code: 404 Not Found; Request ID: 09ED6CDC6129E1DA) at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1389) at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:902) at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:607) at com.amazonaws.http.AmazonHttpClient.doExecute(AmazonHttpClient.java:376) at com.amazonaws.http.AmazonHttpClient.executeWithTimer(AmazonHttpClient.java:338) at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:287) at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:3826) at com.amazonaws.services.s3.AmazonS3Client.getObjectMetadata(AmazonS3Client.java:1015) at com.amazonaws.services.s3.AmazonS3Client.getObjectMetadata(AmazonS3Client.java:991) at org.apache.jackrabbit.oak.blob.cloud.aws.s3.S3Backend.getLength(S3Backend.java:478) ... 32 common frames omitted
Environnement
AEM Assets 6.1, 6.2 sur MongoMK utilisant S3DataStore
Cause
Ce problème est dû au téléchargement asynchrone de la binaire à S3 qui prend plus de temps que le traitement du travail dans le cluster. Le nœud principal traite la mise à jour des processus DAM, mais la tâche est traitée avant que le fichier ne soit téléchargé sur S3. Voir OAK-4903 pour plus de détails.
Résolution
Ce problème est résolu dans AEM6.3.
Désactiver le téléchargements Async S3
Dans une solution AEM6.1 et 6.2, procédez comme suit :
-
-
Définir cette propriété
asyncUploadLimit="0"
-
Redémarrez AEM
Régler asyncUploadLimit sur 0 aura un impact sur les performances des téléchargements de fichier. Après avoir défini ce paramètre, vous devez effectuer des tests de chargement pour vous assurer que l’environnement répond toujours aux besoins de performances.
B. Activer la distribution des tâches
Une autre approche pour résoudre le problème sans répercussion sur la performance consiste à activer la distribution des tâches sling. Vous pouvez ensuite agir
sur les tâches sling directement sur les nœuds de la grappe secondaires en plus de la principale.
Pour ce faire, procédez comme suit :
-
Accédez à http://aem-host:port/system/console/configMgr
-
Recherchez le Job Sling Manager de Apache puis cliquez sur modifier (l'icône crayon à droite)
-
Désélectionnez désactiver la diffusion
-
Cliquez sur Enregistrer
Adobe
Recevez de l’aide plus rapidement et plus facilement
Nouvel utilisateur ?