首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“嵌套DB TX!”Sonatype Nexus中的错误

“嵌套DB TX!”Sonatype Nexus中的错误
EN

Stack Overflow用户
提问于 2017-07-12 23:07:16
回答 1查看 1.2K关注 0票数 3

在将Maven工件从Jenkins部署到Nexus时,我们会遇到一些零星的错误。我们从一开始就遇到了这些错误,但后来大约一周一次。现在我们在Jenkins上运行更多的作业(也是并行的),并且每小时运行一次。

Nexus版本为3.3.1。

这是完整的堆栈跟踪,如果有帮助的话:

代码语言:javascript
复制
2017-07-12 16:34:11,869+0200 WARN  [qtp234963760-2207] pegasusgaswrite org.sonatype.nexus.repository.httpbridge.internal.ViewServlet - Failure servicing: PUT /nexus/repository/example-snapshots/com/example/example-parent/1.0-SNAPSHOT/example-parent-1.0-20170712.123107-9-api.jar
java.lang.IllegalArgumentException: Nested DB TX!
    at com.google.common.base.Preconditions.checkArgument(Preconditions.java:122) [na:na]
    at org.sonatype.nexus.repository.storage.StorageTxImpl.<init>(StorageTxImpl.java:146) [na:na]
    at org.sonatype.nexus.repository.storage.StorageFacetImpl.openStorageTx(StorageFacetImpl.java:248) [na:na]
    at org.sonatype.nexus.repository.storage.StorageFacetImpl.lambda$0(StorageFacetImpl.java:146) [na:na]
    at org.sonatype.nexus.transaction.UnitOfWork.acquireTransaction(UnitOfWork.java:171) [na:na]
    at org.sonatype.nexus.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:53) [na:na]
    at org.sonatype.nexus.repository.maven.internal.MavenFacetImpl.put(MavenFacetImpl.java:200) [na:na]
    at org.sonatype.nexus.repository.maven.internal.hosted.HostedHandler.doPut(HostedHandler.java:87) [na:na]
    at org.sonatype.nexus.repository.maven.internal.hosted.HostedHandler.handle(HostedHandler.java:61) [na:na]
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) [na:na]
    at org.sonatype.nexus.repository.storage.UnitOfWorkHandler.handle(UnitOfWorkHandler.java:39) [na:na]
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) [na:na]
    at org.sonatype.nexus.repository.view.handlers.ContentHeadersHandler.handle(ContentHeadersHandler.java:44) [na:na]
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) [na:na]
    at org.sonatype.nexus.repository.maven.internal.VersionPolicyHandler.handle(VersionPolicyHandler.java:60) [na:na]
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) [na:na]
    at org.sonatype.nexus.repository.http.PartialFetchHandler.handle(PartialFetchHandler.java:55) [na:na]
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) [na:na]
    at org.sonatype.nexus.repository.view.handlers.ConditionalRequestHandler.handle(ConditionalRequestHandler.java:72) [na:na]
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) [na:na]
    at com.sonatype.nexus.plugins.healthcheck.downloads.AssetDownloadCountContributedHandler.handle(AssetDownloadCountContributedHandler.java:47) [na:na]
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) [na:na]
    at org.sonatype.nexus.repository.view.handlers.HandlerContributor.handle(HandlerContributor.java:67) [na:na]
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) [na:na]
    at org.sonatype.nexus.repository.view.handlers.ExceptionHandler.handle(ExceptionHandler.java:43) [na:na]
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) [na:na]
    at org.sonatype.nexus.repository.security.SecurityHandler.handle(SecurityHandler.java:52) [na:na]
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) [na:na]
    at org.sonatype.nexus.repository.view.handlers.TimingHandler.handle(TimingHandler.java:46) [na:na]
    at org.sonatype.nexus.repository.view.Context.proceed(Context.java:80) [na:na]
    at org.sonatype.nexus.repository.view.Context.start(Context.java:114) [na:na]
    at org.sonatype.nexus.repository.view.Router.dispatch(Router.java:63) [na:na]
    at org.sonatype.nexus.repository.view.ConfigurableViewFacet.dispatch(ConfigurableViewFacet.java:52) [na:na]
    at org.sonatype.nexus.repository.view.ConfigurableViewFacet.dispatch(ConfigurableViewFacet.java:43) [na:na]
    at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.dispatchAndSend(ViewServlet.java:198) [na:na]
    at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.doService(ViewServlet.java:160) [na:na]
    at org.sonatype.nexus.repository.httpbridge.internal.ViewServlet.service(ViewServlet.java:117) [na:na]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) [javax.servlet-api:3.1.0]
    at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:286) [com.google.inject:4.1.0]
    [...]

错误消息似乎来自StorageTxImpl.java

目前磁盘上有超过50 GB的空闲空间,内存使用率低于50%,所以我不认为这是一个资源问题。

EN

回答 1

Stack Overflow用户

发布于 2019-02-04 23:52:46

嵌套事务可能导致数据丢失,而OrientDB (由底层的Nexus使用)对此只有基本的支持。Nexus团队决定postpone the discussion是否使用它。

每当出现这种状态时,它们都会抛出错误(使用checkArgument):Nested DB TX!。我们发现重启Nexus实例是绕过它的最好方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45061466

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档