Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-30587

Fix async digest computation in a Nuxeo cluster

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Incomplete
    • Affects Version/s: 10.10, 2021.0
    • Fix Version/s: None
    • Component/s: BlobManager

      Description

      In a Nuxeo cluster using S3 with KMS and direct upload, the following error occasionally occurs when drag and dropping a set of images (e.g. 28 images) in the Web UI:

      2021-09-03T16:20:16,985 ERROR [Nuxeo-Work-pictureViewsGeneration-2:default:c2a9a063-fbdd-48fb-b168-4869894e6ba9:file:content:pictureView] [org.nuxeo.ecm.platform.picture.ImagingComponent] Failed to get ImageInfo for file 03641 (17th copy).jpg
      org.nuxeo.ecm.platform.commandline.executor.api.CommandException: Error code 1 after 0.02s for command: identify -define registry:temporary-path=#{nuxeo.tmp.dir} -quiet -ping -format '%m %w %h %z %[colorspace]' #{inputFilePath}[0], parameters: java.io.tmpdir=/opt/nuxeo/server/tmp, nuxeo.tmp.dir=/opt/nuxeo/server/tmp, inputFilePath=/opt/nuxeo/server/tmp/nuxeoImage7689413249240676552.jpg
      output: identify: insufficient image data in file `/opt/nuxeo/server/tmp/nuxeoImage7689413249240676552.jpg' @ error/jpeg.c/ReadJPEGImage/1156.
              at org.nuxeo.ecm.platform.commandline.executor.api.ExecResult.<init>(ExecResult.java:62) ~[nuxeo-platform-commandline-executor-10.10-HF49.jar:?]
              at org.nuxeo.ecm.platform.commandline.executor.service.executors.ShellExecutor.exec(ShellExecutor.java:98) ~[nuxeo-platform-commandline-executor-10.10-HF49.jar:?]
              at org.nuxeo.ecm.platform.commandline.executor.service.CommandLineExecutorComponent.execCommand(CommandLineExecutorComponent.java:190) ~[nuxeo-platform-commandline-executor-10.10-HF49.jar:?]
              at org.nuxeo.ecm.platform.picture.magick.utils.ImageIdentifier.getIdentifyResult(ImageIdentifier.java:60) ~[nuxeo-platform-imaging-core-10.10-HF51.jar:?]
              at org.nuxeo.ecm.platform.picture.magick.utils.ImageIdentifier.getInfo(ImageIdentifier.java:45) ~[nuxeo-platform-imaging-core-10.10-HF51.jar:?]
              at org.nuxeo.ecm.platform.picture.ImagingComponent.getImageInfo(ImagingComponent.java:180) [nuxeo-platform-imaging-core-10.10-HF51.jar:?]
              at org.nuxeo.ecm.platform.picture.api.adapters.AbstractPictureAdapter.getImageInfo(AbstractPictureAdapter.java:375) [nuxeo-platform-imaging-api-10.10.jar:?]
              at org.nuxeo.ecm.platform.picture.api.adapters.DefaultPictureAdapter.fillPictureViews(DefaultPictureAdapter.java:85) [nuxeo-platform-imaging-api-10.10.jar:?]
              at org.nuxeo.ecm.platform.picture.PictureViewsHelper.computePictureViews(PictureViewsHelper.java:88) [nuxeo-platform-imaging-core-10.10-HF51.jar:?]
              at org.nuxeo.ecm.platform.picture.PictureViewsGenerationWork.work(PictureViewsGenerationWork.java:97) [nuxeo-platform-imaging-core-10.10-HF51.jar:?]
              at org.nuxeo.ecm.core.work.AbstractWork.runWorkWithTransaction(AbstractWork.java:493) [nuxeo-core-event-10.10-HF44.jar:?]
              at org.nuxeo.ecm.core.work.AbstractWork.run(AbstractWork.java:383) [nuxeo-core-event-10.10-HF44.jar:?]
              at org.nuxeo.ecm.core.work.WorkHolder.run(WorkHolder.java:57) [nuxeo-core-event-10.10-HF44.jar:?]
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_292]
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_292]
              at java.lang.Thread.run(Thread.java:748) [?:1.8.0_292]
      

      Activating the following logs seems to show that the computeDigest work replaces the key after the pictureViewsGeneration has already started:

          <Logger name="org.nuxeo.ecm.blob.s3.S3BlobStore" level="trace" />
          <Logger name="org.nuxeo.ecm.core.blob.AbstractBlobStore" level="trace" />
          <Logger name="org.nuxeo.ecm.core.blob.ComputeDigestHelper" level="debug" />
      

      This happens with picture conversions but could happen with other kind of processes I guess.

      See the attached ZIP file for the set of images to import.

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: