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

Fails to install Nuget v3 component through a group repo that proxies Artifactory

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 3.31.0
    • Fix Version/s: 3.37.0
    • Component/s: NuGet, nuget-v3
    • Labels:
      None
    • Story Points:
      8
    • Release Note:
      Yes
    • Sprint:
      NXRM MadMax Sprint 17, NXRM MadMax Sprint 18, NXRM MadMax Sprint 20, NXRM MadMax Sprint 19

      Description

      NXRM nuget V3 group cannot correctly work with NXRM nuget v3 proxy that has jfrog nuget v3 as remote

       

      Acceptance Criteria:

      • Installing using NuGet CLI through group repository that has proxy members with jfrog-artifactory as remote works without errors  
      • Installing specific version using NuGet CLI
      • Installing using visual studio

       

      Steps to reproduce.

      • Create nuget v3 proxy with jfrog nuget v3(remote or local or virtual) as remote
      • Create nuget v3 group and add nuget v3 proxy as member
      • Try to install a package through nuget v3 group. Jquery for example
      •  The package wasn't installed 

       

      Symptoms.

      If nuget v3 proxy contain jfrog as remote or another remote that is out of specification then nuget v3 proxy doesn't contain the required service type PackageBaseAddresses and that's why nuget v3 group cannot correctly build metadata.

      We need to figure out a workaround

       

      Error logs

      2021-03-14 02:24:43,702+0200 WARN  [qtp2022142958-527] *UNKNOWN com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupRegistrationIndexFacet - Service type not found: PackageBaseAddress/3.0.0
      com.sonatype.nexus.repository.nuget.internal.exception.InvalidServiceIndexException: Service type not found: PackageBaseAddress/3.0.0
              at com.sonatype.nexus.repository.nuget.v3.models.ServiceIndex$_resourceIdByType_closure3.doCall(ServiceIndex.groovy:52)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.lang.reflect.Method.invoke(Method.java:498)
              at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:98)
              at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
              at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:264)
              at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1034)
              at groovy.lang.Closure.call(Closure.java:420)
              at org.codehaus.groovy.runtime.ConvertedClosure.invokeCustom(ConvertedClosure.java:54)
              at org.codehaus.groovy.runtime.ConversionHandler.invoke(ConversionHandler.java:124)
              at com.sun.proxy.$Proxy360.get(Unknown Source)
              at java.util.Optional.orElseThrow(Optional.java:290)
              at com.sonatype.nexus.repository.nuget.v3.models.ServiceIndex.resourceIdByType(ServiceIndex.groovy:50)
              at com.sonatype.nexus.repository.nuget.v3.models.ServiceIndex.resourceIdByTypeTrimSlashes(ServiceIndex.groovy:62)
              at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupRegistrationPageFacet.rewriteLeaf(NugetV3GroupRegistrationPageFacet.java:143)
              at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupRegistrationPageFacet.rewritePage(NugetV3GroupRegistrationPageFacet.java:75)
              at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupRegistrationIndexFacet.rewriteIndexes(NugetV3GroupRegistrationIndexFacet.java:81)
              at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupRegistrationIndexFacet.lambda$0(NugetV3GroupRegistrationIndexFacet.java:52)
              at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
              at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)
              at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
              at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
              at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
              at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
              at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
              at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupRegistrationIndexFacet.mergeResponses(NugetV3GroupRegistrationIndexFacet.java:62)
              at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupRegistrationHandler.mergeIndexes(NugetV3GroupRegistrationHandler.java:93)
              at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupRegistrationHandler.doGet(NugetV3GroupRegistrationHandler.java:68)
              at org.sonatype.nexus.repository.group.GroupHandler.handle(GroupHandler.java:100)
              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 com.sonatype.nexus.repository.nuget.internal.NugetSimpleHandlers.lambda$1(NugetSimpleHandlers.java:33)
              at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
              at org.sonatype.nexus.repository.content.internal.handlers.LastDownloadedHandler.handle(LastDownloadedHandler.java:58)
              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.view.ConfigurableViewFacet.dispatch(ConfigurableViewFacet.java:43)
              at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.dispatchAndSend(ViewServlet.java:213)
              at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.doService(ViewServlet.java:175)
              at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.service(ViewServlet.java:127)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
              at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:290)
              at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:280)
              at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:184)
              at com.google.inject.servlet.DynamicServletPipeline.service(DynamicServletPipeline.java:71)
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
              at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112)
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
              at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
              at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
              at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
              at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
              at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
              at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
              at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
              at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
              at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
              at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
              at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
              at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
              at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
              at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
              at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
              at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
              at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
              at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:450)
              at org.sonatype.nexus.security.SecurityFilter.executeChain(SecurityFilter.java:96)
              at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
              at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
              at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
              at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:387)
              at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
              at org.sonatype.nexus.security.SecurityFilter.doFilterInternal(SecurityFilter.java:112)
              at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
              at org.sonatype.nexus.repository.httpbridge.internal.ExhaustRequestFilter.doFilter(ExhaustRequestFilter.java:80)
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
              at com.sonatype.nexus.licensing.internal.LicensingRedirectFilter.doFilter(LicensingRedirectFilter.java:116)
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
              at com.codahale.metrics.servlet.AbstractInstrumentedFilter.doFilter(AbstractInstrumentedFilter.java:112)
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
              at org.sonatype.nexus.internal.web.ErrorPageFilter.doFilter(ErrorPageFilter.java:79)
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
              at org.sonatype.nexus.internal.web.EnvironmentFilter.doFilter(EnvironmentFilter.java:101)
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
              at org.sonatype.nexus.internal.web.HeaderPatternFilter.doFilter(HeaderPatternFilter.java:98)
              at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
              at com.google.inject.servlet.DynamicFilterPipeline.dispatch(DynamicFilterPipeline.java:104)
              at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133)
              at org.sonatype.nexus.bootstrap.osgi.DelegatingFilter.doFilter(DelegatingFilter.java:73)
              at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:201)
              at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
              at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
              at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:602)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
              at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
              at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1435)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
              at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
              at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
              at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1350)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
              at com.codahale.metrics.jetty9.InstrumentedHandler.handle(InstrumentedHandler.java:239)
              at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
              at org.eclipse.jetty.server.Server.handle(Server.java:516)
              at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
              at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
              at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
              at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:279)
              at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
              at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
              at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
              at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383)
              at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:882)
              at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036)
              at java.lang.Thread.run(Thread.java:748)
      
      

       
       
       
       

        Attachments

          Activity

            People

            Assignee:
            dsawa Dawid Sawa
            Reporter:
            mlukaretkyi Maksym Lukaretkyi
            Last Updated By:
            Peter Lynch Peter Lynch
            Team:
            NXRM - Mad Max
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:
              Date of First Response:

                tigCommentSecurity.panel-title