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

Browse request to NuGet v3 search URL in group fails completely if one of the group's members has DNS lookup failure

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.28.1
    • Fix Version/s: 3.30.0
    • Component/s: NuGet
    • Labels:
    • Notability:
      n/a

      Description

      Create a nuget group repository that contains a v3 proxy repository with a host name that does not exist in local DNS.

      Send it a browse request:

      127.0.0.1 - test [05/Nov/2020:10:39:56 -0600] "GET /repository/nuget-group/v3/query/beta?q=&skip=0&take=26&prerelease=false&supportedFramework=.NETFramework,Version=v4.7.1&semVerLevel=2.0.0%27 HTTP/1.1" 500 - 1905 61 "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36" [qtp691490943-53]
      
      

      This will cause a 500 response from the group.

      Expected: An error in a proxy repository should be logged, but should never cause a 500 response from a group repository. The group should skip the repository with the problem, and process the remaining repositories in the group.

      2020-11-05 10:39:56,456-0600 ERROR [qtp691490943-53]  test com.sonatype.nexus.repository.nuget.internal.v3.orient.OrientNugetV3ProxyFacetImpl - Unable to retrieve service index for repository: nuget-group
      java.net.UnknownHostException: doesnotexist: nodename nor servname provided, or not known
      	at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
      	at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)
      	at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324)
      	at java.net.InetAddress.getAllByName0(InetAddress.java:1277)
      	at java.net.InetAddress.getAllByName(InetAddress.java:1193)
      	at java.net.InetAddress.getAllByName(InetAddress.java:1127)
      	at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
      	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:112)
      	at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
      	at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
      	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
      	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
      	at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
      	at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
      	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
      	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
      	at org.sonatype.nexus.repository.httpclient.FilteredHttpClientSupport.lambda$0(FilteredHttpClientSupport.java:56)
      	at org.sonatype.nexus.repository.httpclient.internal.BlockingHttpClient.filter(BlockingHttpClient.java:124)
      	at org.sonatype.nexus.repository.httpclient.FilteredHttpClientSupport.doExecute(FilteredHttpClientSupport.java:56)
      	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
      	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
      	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
      	at org.sonatype.nexus.repository.proxy.ProxyFacetSupport.execute(ProxyFacetSupport.java:507)
      	at org.sonatype.nexus.repository.proxy.ProxyFacetSupport.fetch(ProxyFacetSupport.java:432)
      	at com.sonatype.nexus.repository.nuget.internal.orient.OrientNugetProxyFacet.fetch(OrientNugetProxyFacet.java:94)
      	at com.sonatype.nexus.repository.nuget.internal.v3.orient.OrientNugetV3ProxyFacetImpl.fetch(OrientNugetV3ProxyFacetImpl.java:187)
      	at com.sonatype.nexus.repository.nuget.internal.orient.OrientNugetProxyFacet.fetch(OrientNugetProxyFacet.java:89)
      	at org.sonatype.nexus.repository.proxy.ProxyFacetSupport.doGet(ProxyFacetSupport.java:269)
      	at org.sonatype.nexus.repository.proxy.ProxyFacetSupport.lambda$1(ProxyFacetSupport.java:245)
      	at org.sonatype.nexus.common.io.CooperatingFuture.performCall(CooperatingFuture.java:122)
      	at org.sonatype.nexus.common.io.CooperatingFuture.call(CooperatingFuture.java:64)
      	at org.sonatype.nexus.common.io.ScopedCooperationFactorySupport$ScopedCooperation.cooperate(ScopedCooperationFactorySupport.java:99)
      	at org.sonatype.nexus.repository.proxy.ProxyFacetSupport.get(ProxyFacetSupport.java:236)
      	at com.sonatype.nexus.repository.nuget.internal.v3.orient.OrientNugetV3ProxyFacetImpl.getServiceIndex(OrientNugetV3ProxyFacetImpl.java:102)
      	at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupHelper.getPaths(NugetV3GroupHelper.java:89)
      	at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupHelper.lambda$2(NugetV3GroupHelper.java:83)
      	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:566)
      	at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupHelper.getMembersServiceTypePaths(NugetV3GroupHelper.java:84)
      	at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupHelper.getMembersRequestPaths(NugetV3GroupHelper.java:49)
      	at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupAbstractHandler.createRequestsToMembers(NugetV3GroupAbstractHandler.java:103)
      	at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupAbstractHandler.getRepositoryPayloads(NugetV3GroupAbstractHandler.java:60)
      	at com.sonatype.nexus.repository.nuget.internal.v3.NugetV3GroupSearchHandler.doGet(NugetV3GroupSearchHandler.java:67)
      

       

       

       

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              mlukaretkyi Maksym Lukaretkyi
              Reporter:
              rseddon Rich Seddon
              Last Updated By:
              Joe Tom Joe Tom
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response:

                  tigCommentSecurity.panel-title