I am working on a network with no internet access and want to bring in repository artifacts acquired from another instance of Nexus that has internet access.
My old method when using Nexus 2 was to copy the filestore from the external Nexus 2 instance and overlay (merge) it onto the internal Nexus 2 instance, and then tell it to update its indexes, which allowed me to perform Maven builds that require both existing internal and new external artifacts.
With Nexus 3, I intended to use the backup/restore functionality by backing up the external Nexus 3 instance and then using these backup files to restore to the internal Nexus 3 “update” instance. I set up a second Nexus 3 instance as a proxy of the “update” instance for “maven-central”, which provides the existing internal and new external artifacts to Maven build clients. I expect to be able to repeat this process where the internal Nexus 3 instance accumulates artifacts and the internal Nexus 3 “update” instance contains only transient artifacts from the latest restore process.
Internet -> Ext Nexus 3 -> file backup/restore -> Int Nexus 3 Upd -> Int Nexus 3 -> Maven clients
However, the process fails when the internal Nexus 3 “update” instance cannot locate the file when the internal Nexus 3 instance requests it during a Maven build, even though I can find it in the repository, and then fails to download it from the internet, of course. I tried it with and without manually blocking outbound requests.
These are the WARN log messages from nexus.log of the “update” instance:
*UNKNOWN org.sonatype.nexus.blobstore.file.FileBlobStore - Attempt to access non-existent blob 82643a87-...(...-a2456aed48d3.properties)
repeated 8 more times (for a total of 9)
*UNKNOWN org.sonatype.nexus.repository.storage.StorageTxImpl - Reached max retries: 8/8
*UNKNOWN org.sonatype.nexus.repository.maven.internal.proxy.MavenProxyFacet - Unable to find blob default@524EC131-... for org/springframework/...RELEASE.pom, will check remote
*UNKNOWN org.sonatype.nexus.repository.maven.internal.proxy.MavenProxyFacet - Exception org.sonatype.nexus.repository.httpclient.RemoteBlockedIOException: Remote Manually Blocked checking remote for update, proxy repo maven-central failed to fetch org/springframework/...RELEASE.pom, content not in cache.
I first had tried this with Nexus 3.11, and it continued to fail after upgrading to 3.13. I have rebuilt the indexes and cleared the caches of both internal Nexus 3 instances.
Is there something that will repair the internal references of the blob store, is there a software fix coming, or is there something else I’m missing?