Details
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
- fixed by
-
NEXUS-25924 If the remote of a NuGet v3 proxy is not reachable it breaks requests to a NuGet group
-
- Closed
-