4

I'm working with Nexus 3.5.0-02 and two Docker repositories. One for snapshots and one for releases. The snapshot repository works fine. But since yesterday I got an MissingBolbException when I try to pull or to push Docker images from / to the release repository.

org.sonatype.nexus.repository.storage.RetryDeniedException: Reached max retries: 8/8
6.10.2017 15:17:14  at org.sonatype.nexus.repository.storage.StorageTxImpl.allowRetry(StorageTxImpl.java:216)
6.10.2017 15:17:14  at sun.reflect.GeneratedMethodAccessor342.invoke(Unknown Source)
6.10.2017 15:17:14  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
6.10.2017 15:17:14  at java.lang.reflect.Method.invoke(Method.java:498)
6.10.2017 15:17:14  at org.sonatype.nexus.common.stateguard.SimpleMethodInvocation.proceed(SimpleMethodInvocation.java:53)
6.10.2017 15:17:14  at org.sonatype.nexus.common.stateguard.StateGuardAspect$1.invoke(StateGuardAspect.java:69)
6.10.2017 15:17:14  at com.sun.proxy.$Proxy226.allowRetry(Unknown Sour
 .
 .
 .
6.10.2017 15:17:14Caused by: org.sonatype.nexus.repository.storage.MissingBlobException: Blob default@1E8F08E5-2C4760ED-7456B67F-5BA48EFB-5A2C18C3:abfa2c22-259a-49bd-85de-4d0431dc0174 exists in metadata, but is missing from the blobstore
6.10.2017 15:17:14  at org.sonatype.nexus.repository.storage.StorageTxImpl.requireBlob(StorageTxImpl.java:847)
6.10.2017 15:17:14  at sun.reflect.GeneratedMethodAccessor252.invoke(Unknown Source)
6.10.2017 15:17:14  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
6.10.2017 15:17:14  at java.lang.reflect.Method.invoke(Method.java:498)
6.10.2017 15:17:14  at org.sonatype.nexus.common.stateguard.SimpleMethodInvocation.proceed(SimpleMethodInvocation.java:53)
6.10.2017 15:17:14  at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39)
6.10.2017 15:17:14  at org.sonatype.nexus.common.stateguard.StateGuard$GuardImpl.run(StateGuard.java:270)
6.10.2017 15:17:14  at org.sonatype.nexus.common.stateguard.GuardedInterceptor.invoke(GuardedInterceptor.java:53)
6.10.2017 15:17:14  at org.sonatype.nexus.common.stateguard.StateGuardAspect$1.invoke(StateGuardAspect.java:63)
6.10.2017 15:17:14  at com.sun.proxy.$Proxy226.requireBlob(Unknown Source)
6.10.2017 15:17:14  at org.sonatype.nexus.repository.docker.internal.DockerHostedFacetImpl.getManifestByTag(DockerHostedFacetImpl.java:745)
6.10.2017 15:17:14  at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:56)
6.10.2017 15:17:14  ... 147 common frames omitted

This issue occurs not on every Docker image repository. But, if it occurs on some image, the image cannot be pulled or pushed. I found out, that when I am pushing an image and this exception occurs, one layer of the Docker image cannot be stored.

I cannot explain what is happening inside Nexus. But is there any workaround or fix for that issue?

Raktim Biswas
  • 4,011
  • 5
  • 27
  • 32
M. Rolf
  • 51
  • 1
  • 4

1 Answers1

2

I had the same problem with a Maven repository on Nexus 3.7.1-02. In my case it was the snapshots repository that was broken.

Blob efs-maven-snapshots@A8699C1C-BF3D1E08-7499E994-765D71F0-8D62CAF3:4eb114a2-a83f-4601-b40e-d582f198a75f exists in metadata, but is missing from the blobstore

I managed to fix it by deleting the repository via the Nexus GUI, leaving the blob store in place, and then creating the repository again.

dvanrensburg
  • 1,351
  • 1
  • 14
  • 21