sonatype / nexus-ruby-support

26 stars 7 forks source link

"Gem Not Found" errors using Bundler against Nexus Rubygems.org cache with fresh index #55

Closed chriseckhardt closed 9 years ago

chriseckhardt commented 9 years ago

After a fresh re-build of the rubygems.org cache, which we proxy with Nexus via the nexus-ruby-plugin, users receive the following error for arbitrary gems (activesupport is a common offender, for example):

Could not find gem 'activesupport (~> 4.1)' in the gems available on this machine.

As a fix, we are manually removing the offending gems (triggering a re-index) from the following location:

${NEXUS_HOME}/sonatype-work/nexus/storage/rubygems-org-cache/api/v1/dependencies/

We have also set the Artifact Max Age to 60 minutes and are observing to see if this behavior continues.

System specs (server and clients): CentOS release 6.5.el6.centos.11.2.x86_64 2.6.32-431.5.1.el6.x86_64 java version "1.7.0_67" Java(TM) SE Runtime Environment (build 1.7.0_67-b01) Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

Nexus version 2.9.1-02 nexus-ruby-support-1.4.1 bundler version 1.7.3

mkristian commented 9 years ago

what do you do when you say: 'a fresh re-build of the rubygems.org cache'

also curious where the runzip command comes from. probably those json.rz are not really an "rz" file.

maybe a sample of a broken activesupport.json.rz would be great to see as well.

tarcieri commented 9 years ago

The root cause seems to be that bundler API results are being treated as artifacts, so if we have a high TTL on artifacts (which we want), the bundler API responses are cached for that long too, even if new versions of gems were released upstream.

It seems to me like bundler API should be handled differently from everything else.

mkristian commented 9 years ago

the artifact max age is meant for the gems and gemspec.rz files.

the metadata max age is meant for the volatile files like specs.4.8.gz and those api/v1/dependencies/*json.rz files

there was an issue before version 1.4.1 with those dependencies files. I personally use:

maybe the default of metadata max age to 1440 needs something more practical. could please check you metadata max age !

tarcieri commented 9 years ago

Both are set to low values right now (60 iirc). Changing the artifact max age from -1 to an hour worked around this issue for us.

It really appears that bundler API is being treated as artifacts and not metadata. I agree it should be treated as metadata, but that doesn't seem to be the case.

mkristian commented 9 years ago

OK - maybe it is the nexus version - let's me see if I can reproduce it with nexus 2.9.1-02

mkristian commented 9 years ago

indeed in case the metadata max age was bigger then artifact max age then the artifact max age: was also used for the bundler API files. this will be fixed with the release I am about to prepare.

BUT setting artifact max age: -1 and metadata max age: 60 should also produce the desired effect with your version of the plugin. I tested the old logic against a freshly pushed gem to rubygems.org having artifact max age: -1

please check if artifact max age: -1 metadata max age: 60 works for you.

tarcieri commented 9 years ago

Those were the original settings we were using when we encountered this error

mkristian commented 9 years ago

hmm.

maybe the using the just released nexus-plugin where I improved the logic to decide what is out dated does do the trick. http://search.maven.org/remotecontent?filepath=org/sonatype/nexus/plugins/nexus-ruby-plugin/1.4.4/nexus-ruby-plugin-1.4.4-bundle.zip

in case the error persists on your side, please feel free to reopen the issue and I will have another look.

chriseckhardt commented 9 years ago

Thanks for the quick response and patch!

Unfortunately, we're still encountering this issue for gem updates after updating our installation to Nexus 2.10.0-02 and the ruby plugin 1.4.4 bundle. Removing the metadata files (gem.json.rz) and forcing a repair/update of the rubygems.org cache repository lets us work around the problem. We can re-create the issue by publishing a gem to rubygems.org, allowing Nexus cache to refresh on its own (30m currently), publishing an update to the same gem, allowing the cache to refresh, and attempting a bundle install (returning with "Could not find rubygem-1.2.3 in any of the sources").

Of course, I forgot to save a copy of the affected json.rz file before blowing it away, so I'll be more vigilant to provide that next time we encounter it.

mkristian commented 9 years ago

thanx for the detailed info I will try to reproduce it.

chriseckhardt commented 9 years ago

I finally have a tarball containing copies of the json.rz metadata for i18n and cane gems during our last encounter with this behavior. What is the preferred method to transfer this over?

mkristian commented 9 years ago

if you have dropbox account or just send it via email (if the size works): meier.kristian@gmail.com

mkristian commented 9 years ago

@chriseckhardt thanx for the files: they are identical to

which they suppose to be.

are you using a group-rubygems repo or just the proxy directly ?

tarcieri commented 9 years ago

We have both a rubygems.org cache and an internal gem repository of in-house gems

mkristian commented 9 years ago

still not able to reproduce it. my test setup:

my test was basically: rm Gemfile.lock; bundle install

this works for me. in the 1.4.x branch I added one extra line https://github.com/sonatype/nexus-ruby-support/commit/6b65a3536a6d7d39841ee20b6921230cf59f425f#diff-120b4d0544221e6e66b6764d3f74ef6fR125 which might help to shed some light on the issue.

further it would be nice to see both the output of bundle install --verbose (or whatever bundler command you use) as well the server log for this action.

chriseckhardt commented 9 years ago

I'm in the process of searching for a currently affected project to capture the bundle install output and will submit it as soon as I can.

A couple more points of information: "Rebuilding Index" and "Update Index" from the Repositories context menu (right-click) don't seem to actually work as advertised. Logs show that the tasks start then end immediately. We've had to kick off a "Rebuild Rubygems Metadata Files" from Scheduled Tasks to actually rebuild the index (our cached proxy of rubygems.org took a little under 10 minutes).

Secondly, I'm not sure if this is related but I'll report it here in spirit with the DEBUG message imbedded in the exception:

2014-10-24 13:29:57 ERROR [qtp373797532-126] anonymous org.sonatype.nexus.plugins.ruby.proxy.DefaultProxyRubyRepository - =------------------> RubygemsFile[type=BUNDLER_API, storage=/api/v1/dependencies?gems=highline,allison,rdoc,, remote=/api/v1/dependencies?gems=highline,allison,
rdoc,, state=NEW_INSTANCE]
2014-10-24 13:29:57 WARN  [qtp373797532-126] anonymous org.sonatype.nexus.plugins.ruby.proxy.DefaultProxyRubyRepository - Nexus BUG in "RubyGems.org Cache" [id=rubygems-org-cache], ItemNotFoundException during cache! Please report this issue along with the stack trace below!
org.sonatype.nexus.proxy.ItemNotFoundException: Path /api/v1/dependencies?gems=highline,allison,rdoc, not found in local storage of repository "RubyGems.org Cache" [id=rubygems-org-cache]
        at org.sonatype.nexus.proxy.storage.local.fs.DefaultFSLocalRepositoryStorage.retrieveItemFromFile(DefaultFSLocalRepositoryStorage.java:267) ~[nexus-core-2.10.0-02.jar:2.10.0-02]
        at org.sonatype.nexus.proxy.storage.local.fs.DefaultFSLocalRepositoryStorage.retrieveItem(DefaultFSLocalRepositoryStorage.java:292) ~[nexus-core-2.10.0-02.jar:2.10.0-02]
        at org.sonatype.nexus.proxy.repository.AbstractRepository.doRetrieveLocalItem(AbstractRepository.java:1238) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doCacheItem(AbstractProxyRepository.java:910) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at org.sonatype.nexus.plugins.ruby.proxy.DefaultProxyRubyRepository.doCacheItem(DefaultProxyRubyRepository.java:173) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doRetrieveRemoteItem(AbstractProxyRepository.java:1413) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at org.sonatype.nexus.plugins.ruby.proxy.DefaultProxyRubyRepository.doRetrieveRemoteItem(DefaultProxyRubyRepository.java:186) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doRetrieveItem0(AbstractProxyRepository.java:1147) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at org.sonatype.nexus.proxy.repository.AbstractProxyRepository.doRetrieveItem(AbstractProxyRepository.java:1030) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at org.sonatype.nexus.proxy.repository.AbstractRepository.retrieveItem(AbstractRepository.java:758) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at org.sonatype.nexus.plugins.ruby.proxy.DefaultProxyRubyRepository.retrieveDirectItem(DefaultProxyRubyRepository.java:212) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.plugins.ruby.proxy.ProxyNexusStorage.retrieve(ProxyNexusStorage.java:41) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.ruby.layout.ProxiedGETLayout.retrieveAll(ProxiedGETLayout.java:57) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.ruby.layout.GETLayout.bundlerApiFile(GETLayout.java:113) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.ruby.cuba.api.ApiV1DependenciesCuba.on(ApiV1DependenciesCuba.java:50) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.ruby.cuba.State.nested(State.java:55) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.ruby.cuba.api.ApiV1Cuba.on(ApiV1Cuba.java:46) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.ruby.cuba.State.nested(State.java:61) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.ruby.cuba.api.ApiCuba.on(ApiCuba.java:49) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.ruby.cuba.State.nested(State.java:61) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.ruby.cuba.RootCuba.on(RootCuba.java:66) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.ruby.cuba.State.nested(State.java:61) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.ruby.cuba.RubygemsFileSystem.visit(RubygemsFileSystem.java:84) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.ruby.cuba.RubygemsFileSystem.get(RubygemsFileSystem.java:60) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.plugins.ruby.NexusRubygemsFacade.get(NexusRubygemsFacade.java:50) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.plugins.ruby.proxy.DefaultProxyRubyRepository.retrieveItem(DefaultProxyRubyRepository.java:225) [nexus-ruby-plugin-1.4.4/:na]
        at org.sonatype.nexus.proxy.router.DefaultRepositoryRouter.retrieveItem(DefaultRepositoryRouter.java:155) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at org.sonatype.nexus.content.internal.ContentServlet.doGet(ContentServlet.java:387) [nexus-content-plugin-2.10.0-02/:na]
        at org.sonatype.nexus.content.internal.ContentServlet.service(ContentServlet.java:353) [nexus-content-plugin-2.10.0-02/:na]
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) [javax.servlet-3.0.0.v201112011016.jar:na]
        at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:288) [guice-servlet-3.1.10.jar:3.1.10]
        at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:278) [guice-servlet-3.1.10.jar:3.1.10]
        at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:182) [guice-servlet-3.1.10.jar:3.1.10]
        at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:93) [guice-servlet-3.1.10.jar:3.1.10]
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) [guice-servlet-3.1.10.jar:3.1.10]
        at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:112) [shiro-web-1.2.2.jar:1.2.2]
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) [guice-servlet-3.1.10.jar:3.1.10]
        at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-3.1.10.jar:3.1.10]
        at org.sonatype.nexus.web.internal.NexusGuiceFilter$MultiFilterChain.doFilter(NexusGuiceFilter.java:82) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89) [guice-servlet-3.1.10.jar:3.1.10]
        at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-3.1.10.jar:3.1.10]
        at org.sonatype.nexus.web.internal.NexusGuiceFilter$MultiFilterChain.doFilter(NexusGuiceFilter.java:82) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89) [guice-servlet-3.1.10.jar:3.1.10]
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89) [guice-servlet-3.1.10.jar:3.1.10]
        at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-3.1.10.jar:3.1.10]
        at org.sonatype.nexus.web.internal.NexusGuiceFilter$MultiFilterChain.doFilter(NexusGuiceFilter.java:82) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89) [guice-servlet-3.1.10.jar:3.1.10]
        at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) [shiro-web-1.2.2.jar:1.2.2]
        at org.sonatype.nexus.web.internal.SecurityFilter.executeChain(SecurityFilter.java:73) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) [shiro-core-1.2.2.jar:1.2.2]
        at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) [shiro-core-1.2.2.jar:1.2.2]
        at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) [shiro-core-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) [shiro-web-1.2.2.jar:1.2.2]
        at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) [shiro-web-1.2.2.jar:1.2.2]
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) [guice-servlet-3.1.10.jar:3.1.10]
        at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-3.1.10.jar:3.1.10]
        at org.sonatype.nexus.web.internal.NexusGuiceFilter$MultiFilterChain.doFilter(NexusGuiceFilter.java:82) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89) [guice-servlet-3.1.10.jar:3.1.10]
        at com.yammer.metrics.web.WebappMetricsFilter.doFilter(WebappMetricsFilter.java:76) [metrics-web-2.2.0.jar:na]
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) [guice-servlet-3.1.10.jar:3.1.10]
        at org.sonatype.nexus.web.internal.CommonHeadersFilter.doFilter(CommonHeadersFilter.java:69) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) [guice-servlet-3.1.10.jar:3.1.10]
        at org.sonatype.nexus.web.internal.ErrorPageFilter.doFilter(ErrorPageFilter.java:71) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) [guice-servlet-3.1.10.jar:3.1.10]
        at org.sonatype.nexus.web.internal.BaseUrlHolderFilter.doFilter(BaseUrlHolderFilter.java:70) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) [guice-servlet-3.1.10.jar:3.1.10]
        at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120) [guice-servlet-3.1.10.jar:3.1.10]
        at org.sonatype.nexus.web.internal.NexusGuiceFilter$MultiFilterChain.doFilter(NexusGuiceFilter.java:82) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at org.sonatype.nexus.web.internal.NexusGuiceFilter$MultiFilterPipeline.dispatch(NexusGuiceFilter.java:56) [nexus-core-2.10.0-02.jar:2.10.0-02]
        at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:132) [guice-servlet-3.1.10.jar:3.1.10]
        at com.google.inject.servlet.GuiceFilter$1.call(GuiceFilter.java:129) [guice-servlet-3.1.10.jar:3.1.10]
        at com.google.inject.servlet.GuiceFilter$Context.call(GuiceFilter.java:206) [guice-servlet-3.1.10.jar:3.1.10]
        at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:129) [guice-servlet-3.1.10.jar:3.1.10]
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) [jetty-servlet-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455) [jetty-servlet-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137) [jetty-server-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557) [jetty-security-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231) [jetty-server-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) [jetty-server-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) [jetty-servlet-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193) [jetty-server-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) [jetty-server-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) [jetty-server-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) [jetty-server-8.1.11.v20130520.jar:8.1.11.v20130520]
        at com.yammer.metrics.jetty.InstrumentedHandler.handle(InstrumentedHandler.java:200) [metrics-jetty-2.2.0.jar:na]
        at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) [jetty-server-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) [jetty-server-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.server.Server.handle(Server.java:370) [jetty-server-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) [jetty-server-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949) [jetty-server-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011) [jetty-server-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644) [jetty-http-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) [jetty-http-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82) [jetty-server-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668) [jetty-io-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) [jetty-io-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) [jetty-util-8.1.11.v20130520.jar:8.1.11.v20130520]
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) [jetty-util-8.1.11.v20130520.jar:8.1.11.v20130520]
        at java.lang.Thread.run(Thread.java:745) [na:1.7.0_71]
chriseckhardt commented 9 years ago

I just sent a gzipped snapshot of logs from a bundle install --verbose and the nexus server logs, via email provided earlier.

Appreciate your help,

-C

mkristian commented 9 years ago

sorry this took a while. I back ported the current codebase on nexus-oss to this repo. there are lots of big fixes all over the place including the area where you saw problems.

please find the released plugin bundle.zip on http://repo1.maven.org/maven2/org/sonatype/nexus/plugins/nexus-ruby-plugin/1.5.0/

chriseckhardt commented 9 years ago

Going to try this out after the holiday and will report back in our results.

chriseckhardt commented 9 years ago

We've updated Nexus OSS to 2.11.0, and the error logs look a lot less chatty, now. So far, we haven't encountered this issue, so closing for now and will re-open if we run into this behavior again. Thanks!