2017-07-26 215 views
0

從升級的Nexus 2.14的Nexus 3.X(3.4.0-02)後,的Nexus 3升級打破了Maven的部署:部署

我們現在從我們的Maven的工作獲得500錯誤,當我們運行部署:部署

 
Failed to transfer file: 
https://nexus.foo.net/repository/snapshots/com/foo/foo-server/1.1.0-SNAPSHOT/maven-metadata.xml . Return code is: 500 , ReasonPhrase:javax.servlet.ServletException: com.orientechnologies.orient.core.exception.OCommandExecutionException: Error on execution of command: sql.select from asset where bucket = :bucket and name = :propValue?? DB name="component". 

除了作爲安全漏洞揭示底層數據庫查詢之外,這個錯誤對我們排除故障是非常不透明的。任何人看到這個?

後端nexus日誌有這個堆棧跟蹤。基本上看起來像一個NPE。

 
2017-07-26 15:07:39,542-0700 WARN [qtp871102318-2946] admin org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Failure servicing: GET /repository/snapshots/com/foo/foo-server/1.1.0-SNAPSHOT/maven-metadata.xml 
com.orientechnologies.orient.core.exception.OCommandExecutionException: Error on execution of command: sql.select from asset where bucket = :bucket and name = :propValue 
    DB name="component" 
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:3221) 
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:3138) 
    at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:69) 
    at org.sonatype.nexus.repository.storage.MetadataNodeEntityAdapter.findByProperty(MetadataNodeEntityAdapter.java:148) 
    at org.sonatype.nexus.repository.storage.StorageTxImpl.findAssetWithProperty(StorageTxImpl.java:309) 
    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.sonatype.nexus.common.stateguard.SimpleMethodInvocation.proceed(SimpleMethodInvocation.java:53) 
    at org.sonatype.nexus.common.stateguard.MethodInvocationAction.run(MethodInvocationAction.java:39) 
    at org.sonatype.nexus.common.stateguard.StateGuard$GuardImpl.run(StateGuard.java:270) 
    at org.sonatype.nexus.common.stateguard.GuardedInterceptor.invoke(GuardedInterceptor.java:53) 
    at org.sonatype.nexus.common.stateguard.StateGuardAspect$1.invoke(StateGuardAspect.java:63) 
    at com.sun.proxy.$Proxy227.findAssetWithProperty(Unknown Source) 
    at org.sonatype.nexus.repository.maven.internal.MavenFacetUtils.findAsset(MavenFacetUtils.java:132) 
    at org.sonatype.nexus.repository.maven.internal.MavenFacetImpl.get(MavenFacetImpl.java:175) 
    at org.sonatype.nexus.transaction.TransactionalWrapper.proceedWithTransaction(TransactionalWrapper.java:56) 
    at org.sonatype.nexus.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:54) 
    at org.sonatype.nexus.repository.maven.internal.hosted.HostedHandler.doGet(HostedHandler.java:72) 
    at org.sonatype.nexus.repository.maven.internal.hosted.HostedHandler.handle(HostedHandler.java:58) 
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) 
    at org.sonatype.nexus.repository.storage.UnitOfWorkHandler.handle(UnitOfWorkHandler.java:39) 
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) 
    at org.sonatype.nexus.repository.view.handlers.ContentHeadersHandler.handle(ContentHeadersHandler.java:44) 
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) 
    at org.sonatype.nexus.repository.maven.internal.VersionPolicyHandler.handle(VersionPolicyHandler.java:60) 
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) 
    at org.sonatype.nexus.repository.view.handlers.ConditionalRequestHandler.handle(ConditionalRequestHandler.java:72) 
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) 
    at org.sonatype.nexus.repository.view.handlers.ExceptionHandler.handle(ExceptionHandler.java:43) 
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) 
    at org.sonatype.nexus.repository.security.SecurityHandler.handle(SecurityHandler.java:52) 
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) 
    at org.sonatype.nexus.repository.view.handlers.TimingHandler.handle(TimingHandler.java:46) 
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) 
    at org.sonatype.nexus.repository.view.Context.start(Context.java:114) 
    at org.sonatype.nexus.repository.view.Router.dispatch(Router.java:63) 
    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:198) 
    at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.doService(ViewServlet.java:160) 
    at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.service(ViewServlet.java:117) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 
    at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:286) 
    at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276) 
    at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181) 
    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.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) 
    at org.sonatype.nexus.security.SecurityFilter.executeChain(SecurityFilter.java:85) 
    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:383) 
    at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) 
    at org.sonatype.nexus.security.SecurityFilter.doFilterInternal(SecurityFilter.java:101) 
    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:71) 
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 
    at com.sonatype.nexus.licensing.internal.LicensingRedirectFilter.doFilter(LicensingRedirectFilter.java:108) 
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 
    at com.codahale.metrics.servlet.AbstractInstrumentedFilter.doFilter(AbstractInstrumentedFilter.java:97) 
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 
    at org.sonatype.nexus.internal.web.ErrorPageFilter.doFilter(ErrorPageFilter.java:68) 
    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) 
    at org.sonatype.nexus.internal.web.EnvironmentFilter.doFilter(EnvironmentFilter.java:102) 
    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:135) 
    at org.sonatype.nexus.bootstrap.osgi.DelegatingFilter.doFilter(DelegatingFilter.java:73) 
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668) 
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:581) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) 
    at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) 
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) 
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1158) 
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:511) 
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) 
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1090) 
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119) 
    at com.codahale.metrics.jetty9.InstrumentedHandler.handle(InstrumentedHandler.java:175) 
    at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) 
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:119) 
    at org.eclipse.jetty.server.Server.handle(Server.java:517) 
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:308) 
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:242) 
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:273) 
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) 
    at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75) 
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213) 
    at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654) 
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572) 
    at java.lang.Thread.run(Thread.java:748) 
Caused by: java.lang.NullPointerException: null 
    at com.orientechnologies.common.directmemory.OByteBufferPool.acquireDirect(OByteBufferPool.java:297) 
    at com.orientechnologies.orient.core.storage.cache.local.OWOWCache.loadFileContent(OWOWCache.java:1407) 
    at com.orientechnologies.orient.core.storage.cache.local.OWOWCache.load(OWOWCache.java:701) 
    at com.orientechnologies.orient.core.storage.cache.local.twoq.O2QCache.updateCache(O2QCache.java:1107) 
    at com.orientechnologies.orient.core.storage.cache.local.twoq.O2QCache.doLoad(O2QCache.java:346) 
    at com.orientechnologies.orient.core.storage.cache.local.twoq.O2QCache.load(O2QCache.java:291) 
    at com.orientechnologies.orient.core.storage.impl.local.paginated.base.ODurableComponent.loadPage(ODurableComponent.java:148) 
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OClusterPositionMap.ceilingPositions(OClusterPositionMap.java:498) 
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OClusterPositionMap.higherPositions(OClusterPositionMap.java:465) 
    at com.orientechnologies.orient.core.storage.impl.local.paginated.OPaginatedCluster.higherPositions(OPaginatedCluster.java:1618) 
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.higherPhysicalPositions(OAbstractPaginatedStorage.java:3257) 
    at com.orientechnologies.orient.core.iterator.OIdentifiableIterator.nextPosition(OIdentifiableIterator.java:323) 
    at com.orientechnologies.orient.core.iterator.ORecordIteratorClusters.hasNext(ORecordIteratorClusters.java:162) 
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.serialIterator(OCommandExecutorSQLSelect.java:1617) 
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.fetchFromTarget(OCommandExecutorSQLSelect.java:1566) 
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.executeSearch(OCommandExecutorSQLSelect.java:525) 
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLSelect.execute(OCommandExecutorSQLSelect.java:488) 
    at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:74) 
    at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:3200) 
    ... 113 common frames omitted 

+0

爲什麼運行'deploy:deploy'而不是'mvn deploy'?此外,此返回代碼爲:500,ReasonPhrase:javax.servlet.ServletExce'在您的連接設置中顯示錯誤... – khmarbaise

+0

不應該由錯誤配置引起NullPointerException。但是,如果是這樣,那將是我正在尋找的信息。謝謝。 – JvmSd121

回答

0

我明白了這一點。當首次安裝Nexus 3時,它會提供有關配置的內存使用量低於實際可用容量的消息。

這促使我調整nexus.vmoptions並重新啓動服務。

最終經過了一大堆故障排除後,我意識到orient db沒有足夠的'直接內存'分配。基本上沒有新的Blob商店,沒有新的設置,也沒有上傳是可能的。

我恢復了默認的nexus.vmoptions,它再次正常運行。如果仔細觀察,提示原始更改的內存消息實際上記錄爲「WARN」。這是非常誤導。

我也會調用Nexus向左和向右拋出NullPointerExceptions,而不是簡單地指出內存不足問題是一個缺陷。希望有人從Sonatype讀到這個,因爲浪費了好幾個小時才弄清楚了。

0

可能是你失蹤夫婦的下面討論的事情或者你書面方式查詢錯誤: 請檢查你寫正確的URL到服務器,或者您沒有訪問服務器或特定有針對性的存儲庫,或者你沒有正確寫入你的SQL查詢。

+0

SQL查詢由Nexus代碼庫在內部爲其內部操作生成。我與它無關。對於訪問問題,NullPointerException不是預期的行爲。不過,我以管理員身份登錄。 – JvmSd121