Yum/apt proxy snapshot error - Failure servicing MKCOL - Sonatype Nexus Repository - Sonatype Community
Yum/apt proxy snapshot error - Failure servicing MKCOL
post by Asil on Apr 20, 2022
Hi All,
We’re using nexus repo OSS 3.30.1-01. I’m trying to create meta snapshots for yum/apt proxy repos however we’re getting an HTTP 500 response. We can’t find any documentation for the snapshot method either.
This worked fine in a test environment.
2022-04-20 10:47:45,772+0000 INFO [qtp1340402163-1982] admin org.sonatype.nexus.repository.httpclient.internal.HttpClientFacetImpl - Repository status for debian-stretch-proxy changed from READY to AVAILABLE - reason n/a for n/a
2022-04-20 10:47:45,832+0000 WARN [qtp1340402163-1982] admin org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Failure servicing: MKCOL /repository/debian-stretch-proxy/snapshots/20220420
java.lang.NullPointerException: null
at org.sonatype.nexus.repository.apt.internal.snapshot.AptSnapshotFacetSupport.collectSnapshotItems(AptSnapshotFacetSupport.java:132)
at org.sonatype.nexus.repository.apt.internal.snapshot.AptSnapshotFacetSupport.createSnapshot(AptSnapshotFacetSupport.java:65)
at org.sonatype.nexus.repository.apt.internal.snapshot.AptSnapshotHandler.doMkcol(AptSnapshotHandler.java:96)
at org.sonatype.nexus.repository.apt.internal.snapshot.AptSnapshotHandler.handleSnapshotAdminRequest(AptSnapshotHandler.java:85)
at org.sonatype.nexus.repository.apt.internal.snapshot.AptSnapshotHandler.handle(AptSnapshotHandler.java:71)
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.view.handlers.ContentHeadersHandler.handle(PartialFetchHandler.java:59)
at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
at org.sonatype.nexus.repository.cache.NegativeCacheHandler.handle(NegativeCacheHandler.java:48)
at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
at com.sonatype.nexus.clm.internal.orient.FirewallContributedHandler.handle(FirewallContributedHandler.java:104)
at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
at org.sonatype.nexus.repository.view.handlers.HandlerContributor.handle(Context.java:88)
at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
at org.sonatype.nexus.repository.view.handlers.ExceptionHandler.handle(Context.java:42)
at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
at org.sonatype.nexus.repository.routing.internal.RoutingRuleHandler.handle(Context.java:88)
at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
at org.sonatype.nexus.repository.view.handlers.FormatHighAvailabilitySupportHandler.handle(Context.java:88)
at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
at org.sonatype.nexus.repository.security.SecurityHandler.handle(Context.java:88)
at org.sonatype.nexus.repository.view.Context.proceed(Context.java:88)
at org.sonatype.nexus.repository.view.handlers.TimingHandler.handle(Context.java:88)
at org.sonatype.nexus.repository.view.Context.start(Context.java:179)
at org.sonatype.nexus.repository.view.Router.dispatch(Context.java:65)
at org.sonatype.nexus.repository.view.ConfigurableViewFacet.dispatch(Context.java:52)
at org.sonatype.nexus.repository.view.ConfigurableViewFacet.dispatch(Context.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(ServletDefinition.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.doFilter, 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.doFilter, 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.doFilter, 112)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.doFilter, 66)
at org.apache.shiro.web.servlet.ProxiedFilterChain.execute(AdviceFilter.executeChain, 108)
at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.doFilter(66)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.doFilter, 112)
Any help appreciated.
post by si.rie on Jun 20, 2024
Hello, I also encountered this problem, on sonatype nexus OSS 3.39, wanted to take a snapshot on a proxy apt repository on bullseye-ftp.de.debian.org. I had exactly the same stacktrace.
But it works perfectly for another proxy apt repo for bullseye-download.docker.com.
Have you received any feedback since then ?
post by mpiggott on Jun 20, 2024
3.39 is very old, I would suggest checking the behaviour on a recent release of Nexus.
post by si.rie on Aug 8, 2024
Hello, thanks you for your reply, as suggested, I made a sonatype nexus 3.69.0-02 in a docker container, connected it to my LDAP, but the snapshot still fail for debian archive like
http://ftp.debian.org/debian/dists/bullseye/http://ftp.fr.debian.orghttp://archive.debian.org
I still have exactly the same stacktrace than Asil.
But in the same nexus apt proxy repository, just by changing the remote storage with http://archive.ubuntu.com/ubuntu or http://download.docker.com/linux/debian, the snapshot works.
There is definitively something with the debian repo, could this be it structure or metadata that Nexus cannot handle ? I don’t really see any differences between ubuntu and debian archive server.
Thanks you for your reply.
post by mpiggott on Aug 19, 2024
You could file this as a bug at Issues · sonatype/nexus-public · GitHub