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