Nexus Repository 3.25.0 to 3.25.1 upgrade breaks Maven repositories

About an hour ago, I did a fresh pull of the docker image sonatype/nexus:latest which upgraded my instance from 3.25.0 to 3.25.1 and all of my Maven repositories report no component/assets found in repository when I try to browse them. When I go to https://<URL>/service/rest/repository/browse/<REPONAME>/ I get Index of / and nothing is listed. After I reverted my backup, I took a VM snapshot and tried the upgrade again and got the same result. This time I was able to revert the VM snapshot for a quick recovery.

At the moment, I am using Maven repositories. Blob Stores still show plenty of usage after upgrading.

Thanks,
Dan

This isn’t something we’ve seen with our own internal servers, are you sure you’re maintaining the storage between your two containers?

I am running a single instance. I’m not sure what you mean by maintaining the storage between your two containers. I ran the following commands to perform the upgrade. I can try the upgrade again this weekend and pull whatever logs you need.

  • Edit the tag from 3.25.0 to 3.25.1
  • docker-compose pull
  • docker-compose down
  • docker-compose up -d && docker-compose logs -f

My docker-compose.yml

version: "3"
services:
  # HTTPS proxy
  # The certificate file names should be the FQDN listed in VIRTUAL_HOST.
  # With HTTPS enabled, HTTP will automaticly be redirected to HTTPS.
  nginx-proxy:
    image: jwilder/nginx-proxy:latest
    container_name: nginx-proxy
    restart: always
    links:
      - nexus
    ports:
      - "80:80"
      - "443:443"
    volumes:
      # A link to Docker
      - /var/run/docker.sock:/tmp/docker.sock:ro

      # Keep the dhparams (Should generate on the first run)
      - dhparam:/etc/nginx/dhparam

      # Fix the upload size issue
      - /root/nexus3/my_custom_proxy_settings.conf:/etc/nginx/conf.d/my_custom_proxy_settings.conf:ro

      # Push the certs to nginx
      - /root/nexus3/certs:/etc/nginx/certs:ro
    depends_on:
      - nexus

  # Artifact storage
  nexus:
    image: sonatype/nexus3:3.25.0
    container_name: nexus
    restart: always
    stop_grace_period: 2m
    environment:
      - VIRTUAL_HOST=repo.companyname.com
      - VIRTUAL_PORT=8081
    volumes:
        - nexus-data:/nexus-data
        - /mnt/nexus_mvn_mirror_repo_data:/nexus-mvn-mirror-repo-data
        - /mnt/nexus_docker_repo_data:/nexus-docker-repo-data

volumes:
  nexus-data:
  dhparam:

Permissions of the two additional volumes.

ls -lah /mnt/
total 24K
drwxr-xr-x  6 root root 4.0K Jul 29 19:22 .
drwxr-xr-x 16 root root 4.0K Jul 31 14:44 ..
drwxr-xr-x  2 root root 4.0K May 10  2019 cdrom
drwxr-xr-x  2 root root 4.0K May 10  2019 hgfs
drwxr-xr-x  4  200  200 4.0K Jul 29 19:29 nexus_docker_repo_data
drwxr-xr-x  4  200  200 4.0K Jul 29 19:29 nexus_mvn_mirror_repo_data

Permissions inside the container

bash-4.4$ ls -lah /
total 92K
drwxr-xr-x   1 root  root  4.0K Jul 31 15:22 .
drwxr-xr-x   1 root  root  4.0K Jul 31 15:22 ..
-rwxr-xr-x   1 root  root     0 Jul 31 15:22 .dockerenv
lrwxrwxrwx   1 root  root     7 Aug 12  2018 bin -> usr/bin
dr-xr-xr-x   2 root  root  4.0K Aug 12  2018 boot
drwxr-xr-x   5 root  root   320 Jul 31 15:22 dev
drwxr-xr-x   1 root  root  4.0K Jul 31 15:22 etc
-rwxr-xr-x   1 root  root  2.1K Jul 13 18:35 help.1
drwxr-xr-x   2 root  root  4.0K Aug 12  2018 home
lrwxrwxrwx   1 root  root     7 Aug 12  2018 lib -> usr/lib
lrwxrwxrwx   1 root  root     9 Aug 12  2018 lib64 -> usr/lib64
drwxr-xr-x   2 root  root  4.0K Jul 13 18:35 licenses
drwx------   2 root  root  4.0K Jul  7 10:32 lost+found
drwxr-xr-x   2 root  root  4.0K Aug 12  2018 media
drwxr-xr-x   2 root  root  4.0K Aug 12  2018 mnt
drwxr-xr-x  16 nexus nexus 4.0K Jul 31 15:22 nexus-data
drwxr-xr-x   4 nexus nexus 4.0K Jul 29 19:29 nexus-docker-repo-data
drwxr-xr-x   4 nexus nexus 4.0K Jul 29 19:29 nexus-mvn-mirror-repo-data
drwxr-xr-x   1 root  root  4.0K Jul 13 18:35 opt
dr-xr-xr-x 127 root  root     0 Jul 31 15:22 proc
dr-xr-x---   1 root  root  4.0K Jul  7 10:38 root
drwxr-xr-x   1 root  root  4.0K Jul 13 18:35 run
lrwxrwxrwx   1 root  root     8 Aug 12  2018 sbin -> usr/sbin
drwxr-xr-x   2 root  root  4.0K Aug 12  2018 srv
dr-xr-xr-x  11 root  root     0 Jul 31 15:22 sys
drwxrwxrwt   1 root  root  4.0K Jul 31 15:22 tmp
-rwxr-xr-x   1 root  root   341 Jul 13 18:35 uid_entrypoint.sh
-rwxr-xr-x   1 root  root   267 Jul 13 18:35 uid_template.sh
drwxr-xr-x   1 root  root  4.0K Jul  7 10:33 usr
drwxr-xr-x   1 root  root  4.0K Jul 13 18:35 var

Any chance on getting some feedback on my response?

This odd behaviour could be alleviated by creating and running a manual task of type “Repair - Rebuild Maven repository metadata (maven-metadata.xml)” on hosted maven-snapshots repository.

Unfortunately after updating to OSS 3.26.0-04 the task has to be rerun due artifacts weren’t found again.

I just upgraded from 3.25.0 to 3.26.0 and this exact task was automatically created, ran, and deleted. Now everything is working correctly. It would be nice if there was a pop-up that said a rebuild was in-progress.