last week we upgraded Nexus OSS from 3.30 to 3.35. It is running in docker.
Since this upgrade was successfully done, we encountered issue while pushing images into docker-registry. We are using S3 as blobstore.
I can’t say exactly what the problem is, but I can reproduce it by pushing a new image, for example Debian:
$ docker tag debian docker-registry.example.com/orange/debian:latest $ docker tag debian docker-registry.example.com/orange/debian:11.1 $ docker push -a docker-registry.example.com/orange/debian $ docker push -a docker-registry.example.com/orange/debian The push refers to repository [docker-registry.example.com/orange/debian] 62a747bf1719: Pushed 11.1: digest: sha256:826d8850098b954c3d67c2e45ea7a08fa681c128126ba01b35bd2689b1bb2e04 size: 529 62a747bf1719: Layer already exists received unexpected HTTP status: 500 Server Error
This results in an warning in Nexus log, user get a http 500:
2021-10-18 13:53:14,200+0000 WARN [qtp1716215290-1739] myUserName org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Failure servicing: PUT /nexus/repository/docker-main/v2/orange/debian/manifests/latest com.amazonaws.services.s3.model.AmazonS3Exception: The specified key does not exist. (Service: Amazon S3; Status Code: 404; Error Code: NoSuchKey; Request ID: 2Q09QDU82QE4JS8K; S3 Extended Request ID: Sfv5XqvxWKQiJ5CT9HUsJasdfOsdjnfVO2pcxIWh4l5suqXZPm/NkHd0RcNr3em20soHr6+IJQ=; Proxy: null)
What we already did:
- Rebuilt of index for docker-main
- Ran task “Repair - Reconcile component database from blob store” for docker-main
What is the problem and how can we solve it?