Details
-
Bug
-
Resolution: Fixed
-
Major
-
3.0.0-m4, 3.0.0-m5, 3.0.0
-
1
-
Sprint 67 - Chinook, Sprint 68 - Chinook
Description
Nuget presumes that packageId searches will be case insensitive, but our Orient/NuGet component metadata searches are case sensitive.
Symptom:
1. Define a proxy repo for nuget.org
2. Request http://localhost:8081/repository/[repo]/NUGET.CORE/2.8.5
..throws:
Caused by: java.lang.IllegalStateException: Component metadata does not exist yet
at com.google.common.base.Preconditions.checkState(Preconditions.java:173) [na:na]
at com.sonatype.nexus.repository.nuget.internal.NugetGalleryFacetImpl$3.execute(NugetGalleryFacetImpl.java:273) [na:na]
at org.sonatype.nexus.repository.storage.StorageFacetImpl.perform(StorageFacetImpl.java:249) [na:na]
... 92 common frames omitted
What's happening is:
1. proxy facet looks for the component by the passed-in package id, 'NUGET.CORE'.
2. It find nothing.
3. NugetProxyFacet.fetch() obtains metadata for 'NUGET.CORE' '2.8.5' - nuget.org is case insensitive, and so returns the feed entry for NuGet.Core 2.8.5, which Nexus stores.
4. Nexus then requests content for NUGET.CORE 2.8.5 - nuget.org complies, but when Nexus tries to look up component metadata to attach the content to, it fails, because it's looking up NUGET.CORE.
Attachments
Issue Links
- is related to
-
NEXUS-10144 improve robustness of NuGet case insensitive package ID matching
-
- Closed
-
- testing discovered
-
NEXUS-9502 NuGet proxy repository responds with 502 status instead of 404 for missing content
-
- Closed
-
- mentioned in
-
Page Loading...