A npm proxy repository, which remote URL is another Nexus npm proxy repo, does not get the latest metadata if the remote Nexus uses "Remove Quarantined Versions" feature.
- Create "npm-test-proxy" with https://registry.npmjs.org/ and enabling "Remove Quarantined Versions"
- Create "npm-proxy-proxy" which remote URL uses above 'npm-test-proxy', and for testing purpose, type "0" for Maximum metadata age.
- Populate some data:
- Download current metadata
Also, check the other attributes from the Browse page, such as Blob created, Blob updated, (two) last_modified (http://localhost:8081/#browse/browse:npm-test-proxy:acorn)
- Enable org.apache.http (or org.apache.http.headers) DEBUG logging.
- Enable IQ Audit and Quarantine capability on "npm-test-proxy"
- Re-download the npm metadata from "npm-test-proxy"
No change in the last-modified and etag but the file size is different:
- Re-download the metadata from "npm-proxy-proxy"
and downloaded exact same json file...
Also, nexus.log shows it received "304 Not Modified"
Also, after unquarantine from IQ web UI, the metadata is correctly updated but the last_modified and etag were not changed, so that the chained proxy still get the old metadata JSON.
- The chained proxy (eg: npm-proxy-proxy) should be able to get the updated metadata from the remote Nexus. To do so, it would need to update at least attributes.content.etag field.
- If unquarantined on the remote Nexus, the chained proxy should get the latest metadata.
- Also, if no specific reason, I expect other attributes such as the last_modified, Blob updated etc. should be updated.