Uploaded image for project: 'Dev - Nexus Repo'
  1. Dev - Nexus Repo
  2. NEXUS-34021

Nuget v3 proxy repository that returns HTML completely breaks group repository

    Details

    • Type: Bug
    • Status: New
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 3.37.3, 3.40.1
    • Fix Version/s: None
    • Component/s: NuGet, nuget-v3
    • Labels:
    • Notability:
      3

      Description

      Reproduce steps:

      Start up two Nexus Repo 3.40.1 instances on two different ports.

      Create a NuGet v3 proxy from one instance to the "nuget-hosted" instance of the other using the repository URL. Do not add "index.json" to the end of the URL. So for example:

      http://localhost:8083/repository/nuget-hosted

      Add this proxy repository into the "nuget-group" repository.

      Fire off a request for an index.json file to the "nuget-group" repository.

      http://localhost:8081/repository/nuget-group/v3/registration/5/somepackage/index.json

      That will fail with a 500 response.

      Expected: A proxy repository in a group returning an invalid response should not cause the request to the group to return a 500 response. An exception should be logged, and the group should process all other members normally, and return 404 or 200 as appropriate.

      Workaround: Ensure that the remote of all nuget v3 proxy repository's are valid.

      2022-07-06 15:19:23,575-0500 WARN [qtp1966872478-115] admin org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Failure servicing: GET /repository/nuget-group/v3/registration/5/somepackage/index.json
      java.io.IOException: Service Index unavailable
      at com.sonatype.nexus.repository.nuget.orient.internal.v3.OrientNugetV3ProxyFacetImpl.getServiceIndex(OrientNugetV3ProxyFacetImpl.java:97)
      at com.sonatype.nexus.repository.nuget.internal.v3.NugetServicesHandler.handle(NugetServicesHandler.java:33)
      at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
      at com.sonatype.nexus.repository.nuget.internal.NugetSimpleHandlers.lambda$0(NugetSimpleHandlers.java:26)
      at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
      at org.sonatype.nexus.repository.storage.LastDownloadedHandler.handle(LastDownloadedHandler.java:59)
      at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
      at org.sonatype.nexus.repository.storage.UnitOfWorkHandler.handle(UnitOfWorkHandler.java:39)
      at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
      at org.sonatype.nexus.repository.routing.internal.RoutingRuleHandler.handle(RoutingRuleHandler.java:52)
      at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
      at org.sonatype.nexus.repository.security.SecurityHandler.handle(SecurityHandler.java:51)
      at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
      at com.sonatype.analytics.internal.handler.AnalyticsMeteringHandler.handle(AnalyticsMeteringHandler.java:69)
      at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
      at org.sonatype.nexus.repository.view.handlers.TimingHandler.handle(TimingHandler.java:58)
      at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
      at org.sonatype.nexus.repository.view.Context.start(Context.java:179)
      at org.sonatype.nexus.repository.view.Router.dispatch(Router.java:65)
      at org.sonatype.nexus.repository.view.ConfigurableViewFacet.dispatch(ConfigurableViewFacet.java:52)
      at org.sonatype.nexus.repository.group.GroupHandler.getFirst(GroupHandler.java:139)
      at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupAbstractHandler.getFromRepository(NugetV3GroupAbstractHandler.java:137)
      at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupAbstractHandler.getRepositoryPayloads(NugetV3GroupAbstractHandler.java:68)
      at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupRegistrationHandler.doGet(NugetV3GroupRegistrationHandler.java:55)
      at org.sonatype.nexus.repository.group.GroupHandler.handle(GroupHandler.java:100)

        Attachments

          Activity

            People

            Assignee:
            Unassigned Unassigned
            Reporter:
            rseddon Rich Seddon
            Last Updated By:
            Tim Van Holder Tim Van Holder
            Team:
            NXRM - Mad Max
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Date of First Response:

                tigCommentSecurity.panel-title