Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-15095

MissingBlobException can occur when publishing maven index

    XMLWordPrintable

    Details

    • Story Points:
      3

      Description

      Hello

      I configured

      • a blobstore 'central' with
        • proxy-repo for maven-central
      • a blobstore 'test-index' with
        • a hosted-repo 'test-index-hosted'
        • a group-repo 'test-index' which groups 'central' and 'test-index-hosted

      The indices for 'maven-central' and 'test-index-hosted' are created and published

      When i execute the task 'Publish Maven indexes of test-index', it finishes with an error and I get the following stacktrace

       

      2017-12-01 12:25:25,441+0100 INFO  [qtp1777780842-42]  flindermaier org.sonatype.nexus.quartz.internal.task.QuartzTaskInfo - Task 'publish test-index' [repository.maven.publish-dotindex] runNow
      2017-12-01 12:25:25,442+0100 INFO  [qtp1777780842-42]  flindermaier org.sonatype.nexus.quartz.internal.task.QuartzTaskInfo - Task 'publish test-index' [repository.maven.publish-dotindex] state change WAITING -> RUNNING
      2017-12-01 12:25:25,475+0100 INFO  [quartz-3-thread-10]  *SYSTEM org.sonatype.nexus.repository.maven.tasks.PublishMavenIndexTask - Task log: /app/nexus/sonatype-work/nexus3/log/tasks/repository.maven.publish-dotindex-20171201122525.log
      2017-12-01 12:25:25,520+0100 WARN  [quartz-3-thread-10]  *SYSTEM org.sonatype.nexus.blobstore.file.FileBlobStore - Attempt to access non-existent blob b0a34d2c-bc78-4914-b9cb-655d1921df3f (/app/nexus/sonatype-work/nexus3/blobs/test-index/content/vol-16/chap-21/b0a34d2c-bc78-4914-b9cb-655d1921df3f.properties)
      2017-12-01 12:25:25,533+0100 WARN  [quartz-3-thread-10]  *SYSTEM org.sonatype.nexus.blobstore.file.FileBlobStore - Attempt to access non-existent blob b0a34d2c-bc78-4914-b9cb-655d1921df3f (/app/nexus/sonatype-work/nexus3/blobs/test-index/content/vol-16/chap-21/b0a34d2c-bc78-4914-b9cb-655d1921df3f.properties)
      2017-12-01 12:25:25,557+0100 WARN  [quartz-3-thread-10]  *SYSTEM org.sonatype.nexus.blobstore.file.FileBlobStore - Attempt to access non-existent blob b0a34d2c-bc78-4914-b9cb-655d1921df3f (/app/nexus/sonatype-work/nexus3/blobs/test-index/content/vol-16/chap-21/b0a34d2c-bc78-4914-b9cb-655d1921df3f.properties)
      2017-12-01 12:25:25,599+0100 WARN  [quartz-3-thread-10]  *SYSTEM org.sonatype.nexus.blobstore.file.FileBlobStore - Attempt to access non-existent blob b0a34d2c-bc78-4914-b9cb-655d1921df3f (/app/nexus/sonatype-work/nexus3/blobs/test-index/content/vol-16/chap-21/b0a34d2c-bc78-4914-b9cb-655d1921df3f.properties)
      2017-12-01 12:25:25,671+0100 WARN  [quartz-3-thread-10]  *SYSTEM org.sonatype.nexus.blobstore.file.FileBlobStore - Attempt to access non-existent blob b0a34d2c-bc78-4914-b9cb-655d1921df3f (/app/nexus/sonatype-work/nexus3/blobs/test-index/content/vol-16/chap-21/b0a34d2c-bc78-4914-b9cb-655d1921df3f.properties)
      2017-12-01 12:25:25,787+0100 WARN  [quartz-3-thread-10]  *SYSTEM org.sonatype.nexus.blobstore.file.FileBlobStore - Attempt to access non-existent blob b0a34d2c-bc78-4914-b9cb-655d1921df3f (/app/nexus/sonatype-work/nexus3/blobs/test-index/content/vol-16/chap-21/b0a34d2c-bc78-4914-b9cb-655d1921df3f.properties)
      2017-12-01 12:25:25,995+0100 WARN  [quartz-3-thread-10]  *SYSTEM org.sonatype.nexus.blobstore.file.FileBlobStore - Attempt to access non-existent blob b0a34d2c-bc78-4914-b9cb-655d1921df3f (/app/nexus/sonatype-work/nexus3/blobs/test-index/content/vol-16/chap-21/b0a34d2c-bc78-4914-b9cb-655d1921df3f.properties)
      2017-12-01 12:25:26,349+0100 WARN  [quartz-3-thread-10]  *SYSTEM org.sonatype.nexus.blobstore.file.FileBlobStore - Attempt to access non-existent blob b0a34d2c-bc78-4914-b9cb-655d1921df3f (/app/nexus/sonatype-work/nexus3/blobs/test-index/content/vol-16/chap-21/b0a34d2c-bc78-4914-b9cb-655d1921df3f.properties)
      2017-12-01 12:25:27,137+0100 WARN  [quartz-3-thread-10]  *SYSTEM org.sonatype.nexus.blobstore.file.FileBlobStore - Attempt to access non-existent blob b0a34d2c-bc78-4914-b9cb-655d1921df3f (/app/nexus/sonatype-work/nexus3/blobs/test-index/content/vol-16/chap-21/b0a34d2c-bc78-4914-b9cb-655d1921df3f.properties)
      2017-12-01 12:25:27,138+0100 WARN  [quartz-3-thread-10]  *SYSTEM org.sonatype.nexus.repository.storage.StorageTxImpl - Reached max retries: 8/8
      2017-12-01 12:25:27,138+0100 ERROR [quartz-3-thread-10]  *SYSTEM org.sonatype.nexus.repository.maven.tasks.PublishMavenIndexTask - Failed to run task 'Publish Maven indexes of test-index' on repository 'test-index'
      org.sonatype.nexus.repository.storage.RetryDeniedException: Reached max retries: 8/8
          at org.sonatype.nexus.repository.storage.StorageTxImpl.allowRetry(StorageTxImpl.java:220)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:498)
          at org.sonatype.nexus.common.stateguard.SimpleMethodInvocation.proceed(SimpleMethodInvocation.java:53)
          at org.sonatype.nexus.common.stateguard.StateGuardAspect$1.invoke(StateGuardAspect.java:69)
          at com.sun.proxy.$Proxy226.allowRetry(Unknown Source)
          at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:81)
          at org.sonatype.nexus.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:54)
          at org.sonatype.nexus.repository.maven.internal.MavenIndexPublisher$Maven2WritableResource.read(MavenIndexPublisher.java:446)
          at org.apache.maven.index.reader.Utils.loadProperties(Utils.java:87)
          at org.apache.maven.index.reader.IndexReader.<init>(IndexReader.java:68)
          at org.sonatype.nexus.repository.maven.internal.MavenIndexPublisher.publishMergedIndex(MavenIndexPublisher.java:175)
          at org.sonatype.nexus.repository.maven.internal.group.IndexGroupFacet.publishIndex(IndexGroupFacet.java:58)
          at org.sonatype.nexus.repository.maven.tasks.PublishMavenIndexTask.execute(PublishMavenIndexTask.java:37)
          at org.sonatype.nexus.repository.RepositoryTaskSupport.execute(RepositoryTaskSupport.java:69)
          at org.sonatype.nexus.scheduling.TaskSupport.call(TaskSupport.java:93)
          at org.sonatype.nexus.quartz.internal.task.QuartzTaskJob.doExecute(QuartzTaskJob.java:145)
          at org.sonatype.nexus.quartz.internal.task.QuartzTaskJob.execute(QuartzTaskJob.java:108)
          at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
          at org.sonatype.nexus.thread.internal.MDCAwareRunnable.run(MDCAwareRunnable.java:40)
          at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120)
          at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
          at java.util.concurrent.FutureTask.run(FutureTask.java:266)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          at java.lang.Thread.run(Thread.java:745)
      Caused by: org.sonatype.nexus.repository.storage.MissingBlobException: Blob central@CA71B3A3-8AD8596C-BA4EA65F-2E0B43F9-211B8693:b0a34d2c-bc78-4914-b9cb-655d1921df3f exists in metadata, but is missing from the blobstore
          at org.sonatype.nexus.repository.storage.StorageTxImpl.requireBlob(StorageTxImpl.java:891)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:498)
          at org.sonatype.nexus.common.stateguard.SimpleMethodInvocation.proceed(SimpleMethodInvocation.java:53)
          at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)
          at org.sonatype.nexus.common.stateguard.StateGuard$GuardImpl.run(StateGuard.java:270)
          at org.sonatype.nexus.common.stateguard.GuardedInterceptor.invoke(GuardedInterceptor.java:53)
          at org.sonatype.nexus.common.stateguard.StateGuardAspect$1.invoke(StateGuardAspect.java:63)
          at com.sun.proxy.$Proxy226.requireBlob(Unknown Source)
          at org.sonatype.nexus.repository.maven.internal.MavenFacetImpl.get(MavenFacetImpl.java:183)
          at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:56)
          ... 20 common frames omitted
      2017-12-01 12:25:27,140+0100 WARN  [quartz-3-thread-10]  *SYSTEM org.sonatype.nexus.quartz.internal.task.QuartzTaskJob - Task c5232fea-5363-4153-9fcc-27cad2e6e51f : 'publish test-index' [repository.maven.publish-dotindex] execution failure
      org.sonatype.goodies.common.MultipleFailures$MultipleFailuresException: Failed to run task 'Publish Maven indexes of test-index'; 1 failure
          at org.sonatype.goodies.common.MultipleFailures.maybePropagate(MultipleFailures.java:95)
          at org.sonatype.nexus.repository.RepositoryTaskSupport.execute(RepositoryTaskSupport.java:77)
          at org.sonatype.nexus.scheduling.TaskSupport.call(TaskSupport.java:93)
          at org.sonatype.nexus.quartz.internal.task.QuartzTaskJob.doExecute(QuartzTaskJob.java:145)
          at org.sonatype.nexus.quartz.internal.task.QuartzTaskJob.execute(QuartzTaskJob.java:108)
          at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
          at org.sonatype.nexus.thread.internal.MDCAwareRunnable.run(MDCAwareRunnable.java:40)
          at org.apache.shiro.subject.support.SubjectRunnable.doRun(SubjectRunnable.java:120)
          at org.apache.shiro.subject.support.SubjectRunnable.run(SubjectRunnable.java:108)
          at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
          at java.util.concurrent.FutureTask.run(FutureTask.java:266)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
          at java.lang.Thread.run(Thread.java:745)
          Suppressed: org.sonatype.nexus.repository.storage.RetryDeniedException: Reached max retries: 8/8
              at org.sonatype.nexus.repository.storage.StorageTxImpl.allowRetry(StorageTxImpl.java:220)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at org.sonatype.nexus.common.stateguard.SimpleMethodInvocation.proceed(SimpleMethodInvocation.java:53)
              at org.sonatype.nexus.common.stateguard.StateGuardAspect$1.invoke(StateGuardAspect.java:69)
              at com.sun.proxy.$Proxy226.allowRetry(Unknown Source)
              at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:81)
              at org.sonatype.nexus.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:54)
              at org.sonatype.nexus.repository.maven.internal.MavenIndexPublisher$Maven2WritableResource.read(MavenIndexPublisher.java:446)
              at org.apache.maven.index.reader.Utils.loadProperties(Utils.java:87)
              at org.apache.maven.index.reader.IndexReader.<init>(IndexReader.java:68)
              at org.sonatype.nexus.repository.maven.internal.MavenIndexPublisher.publishMergedIndex(MavenIndexPublisher.java:175)
              at org.sonatype.nexus.repository.maven.internal.group.IndexGroupFacet.publishIndex(IndexGroupFacet.java:58)
              at org.sonatype.nexus.repository.maven.tasks.PublishMavenIndexTask.execute(PublishMavenIndexTask.java:37)
              at org.sonatype.nexus.repository.RepositoryTaskSupport.execute(RepositoryTaskSupport.java:69)
              ... 12 common frames omitted
          Caused by: org.sonatype.nexus.repository.storage.MissingBlobException: Blob central@CA71B3A3-8AD8596C-BA4EA65F-2E0B43F9-211B8693:b0a34d2c-bc78-4914-b9cb-655d1921df3f exists in metadata, but is missing from the blobstore
              at org.sonatype.nexus.repository.storage.StorageTxImpl.requireBlob(StorageTxImpl.java:891)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at org.sonatype.nexus.common.stateguard.SimpleMethodInvocation.proceed(SimpleMethodInvocation.java:53)
              at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)
              at org.sonatype.nexus.common.stateguard.StateGuard$GuardImpl.run(StateGuard.java:270)
              at org.sonatype.nexus.common.stateguard.GuardedInterceptor.invoke(GuardedInterceptor.java:53)
              at org.sonatype.nexus.common.stateguard.StateGuardAspect$1.invoke(StateGuardAspect.java:63)
              at com.sun.proxy.$Proxy226.requireBlob(Unknown Source)
              at org.sonatype.nexus.repository.maven.internal.MavenFacetImpl.get(MavenFacetImpl.java:183)
              at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:56)
              ... 20 common frames omitted
      2017-12-01 12:25:27,142+0100 INFO  [quartz-3-thread-10]  *SYSTEM org.sonatype.nexus.quartz.internal.task.QuartzTaskInfo - Task 'publish test-index' [repository.maven.publish-dotindex] state change RUNNING -> WAITING (FAILED)
      

      The attatched picture shows  that the missing file in the hosted repo is the '.index/nexus-maven-repository-index.properties' from the 'maven-central' proxy-repo which is stored inside the 'central'-blobstore.

      When I browse the asset inside 'maven-central' then i can download it.

      When I browse the asset inside 'test-index' then i get a http-404. All other maven artifacts are downloadable.

       

      When I remove 'maven-central' from 'test-index' or store it inside the same blobstore then there are no issues and everything works fine

       

       

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                natemcafee Nate McAfee
                Reporter:
                floli Florian Lindermaier
                Last Updated By:
                Maxim Munin
                Team:
                NXRM - Cypher
              • Votes:
                5 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Date of First Response: