将Maven工件上传到Nexus 3.13.0的速度非常慢,有时会失败

时间:2018-08-07 18:10:07

标签: maven containers blobstore nexus3

我有一个nexus3 oss(3.13.0)docker容器,部署在支持s3 blobstore的aws中。我们的ci作业不断将工件上传到此仓库中,并且工作正常。但是,延迟上传Maven工件会花费很长时间,并且在某些情况下最终会失败。

它最初是3.12.0版本,认为升级版本可能会有所帮助,但没有帮助。还检查是否与s3的连接性或权限有关,但没有发现任何问题。

更新: 切换到基于文件的Blobstore,问题仍然存在,因此我们至少可以排除它不是特定于s3 blobstore的情况。

回购大小大于20GB,因此按照建议的in the documentation增加了堆分配,但是仍然没有帮助。

有什么想法吗?

这是我在nexus3的日志中看到的内容:


org.sonatype.nexus.blobstore.api.BlobStoreException: BlobId: null, Error uploading blob
    at org.sonatype.nexus.blobstore.s3.internal.MultipartUploader.upload(MultipartUploader.java:98)
    at org.sonatype.nexus.blobstore.s3.internal.S3BlobStore.lambda$0(S3BlobStore.java:220)
    at org.sonatype.nexus.blobstore.s3.internal.S3BlobStore.create(S3BlobStore.java:257)
    at org.sonatype.nexus.blobstore.s3.internal.S3BlobStore.create(S3BlobStore.java:217)
    ...
Caused by: org.eclipse.jetty.io.EofException: Early EOF
    at org.eclipse.jetty.server.HttpInput$3.getError(HttpInput.java:1138)
    ... 122 common frames omitted

1 个答案:

答案 0 :(得分:0)

解决方案是在admin部分中设置正确的领域顺序。在我的情况下,ldap领域在本地身份验证和本地授权领域之前被订购,但是用户实际上是使用本地创建的用户进行连接。因此,它将尝试在导致身份验证机制延迟的本地查找之前执行ldap查找。一旦更改顺序将本地领域移到ldap领域之上,情况就会变得更好,上传速度也会更快。