二进制提供者没有内容 [英] Binary provider has no content

查看:86
本文介绍了二进制提供者没有内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不得不突然接管对Artifactory的责任(负责任的员工离开了),我从没与它合作过,我花了整整一天的时间来学习产品并弄清楚问题.

I had to take over responsiblity over Artifactory suddently (responsible employee left), I've never worked with it before, I've spent the day trying to learn the product and figure things out.

问题上下文:

在Azure(ubuntu)中的VM上部署了人工产品,已安装的磁盘上已部署了人工产品(OSS 6.0.2 rev 60002900)磁盘已满=应用程序崩溃.

Artifactory deployed on VM in Azure (ubuntu), mounted disk has artifactory deployed on it (OSS 6.0.2 rev 60002900) Disk got full = application crashed.

我增加了磁盘大小,重新分区并重新安装,并且工件又出现了-但是现在在浏览器中收到以下错误消息:

I increased disk size, repartioned and re-mounted and the artifactory came up again - but now getting the following error message in the browser:

{
  "errors" : [ {
    "status" : 500,
    "message" : "Could not process download request: Binary provider has no content for 'b8135c33f045ab2cf45ae4d256148d66373a0c89'"
  } ]
}

我进行了一些搜索,找到了各种可能的解决方案.

I have searched a bit and found various possible solutions.

这一个: Artifactory已失去对本地人工制品的跟踪

这似乎是最令人着迷的,因为我们的问题的上下文相似,但是我看不到这些路径-即,我确实看到了 filestore 及其中的所有内容,但没有看到其他路径/对话中提到的文件.

which seems to be the most promesing since the context of our issue is similar, but I don't see those paths - i.e. I do see the filestore and everything in it, but not other paths/files mentioned in the conversation.

我还发现了这一点: https://www.jfrog.com/jira/浏览/RTFACT-6324 ,但再次在我们的部署中找不到路径.

I also found this: https://www.jfrog.com/jira/browse/RTFACT-6324 but again not finding the paths in our deployment.

据我所知,如果我以某种方式重新安装"文件存储和/或数据库,则应该可以正常工作吗?是否有清晰的手册,或者我缺少基本的东西?我想避免不得不从头开始构建所有内容.

To the best of my understanding it seems that if I somehow "reinstall" the filestore and/or database things should work? Is there a clear manual, or something basic I'm missing? I'd like to avoid having to isntall everything from scratch.

由于我们的整个开发组织都不会受到阻拦,并且在解决该问题之前以某种方式尝试在本地进行解决,因此我们将不胜感激.

Any help would be most appreciated as our entire Dev org is not sort of blocked and trying to workaround locally somehow until this is resolved.

推荐答案

我是JFrog支持工程师,我们看到了您的问题,我们将通过其他渠道与您联系,以帮助您解决此问题.

I am a JFrog Support Engineer and we saw your issue, we will contact you on other channels in order to help you resolve this issue.

伸出手之后,我们发现此问题是由文件存储中的特定文件损坏/丢失引起的,删除此文件并重新拉出该文件后,此问题已解决.

After reaching out, we found that this issue was caused by a specific file that was corrupted/missing from your filestore, and after deleting this file and re-pulling it the issue was solved.

要进一步详细说明此问题以及可能导致该问题的原因:Artifactory实现了基于校验和的存储.在Artifactory中部署/缓存的所有文件都将重命名为其校验和值,并保存在文件存储中,Artifactory在数据库中创建一个指针,其中包含文件的名称,校验和和其他一些属性.由于所有文件仅在文件存储中保存一次,但是可以在数据库中具有多个指针(在Artifactory内部的各个位置,甚至包括不同的存储库或档案库),因此可以实现更有效的存储.当文件在文件存储中损坏甚至被删除(不从Artifactory删除文件)时,由于在Artifactory的数据库中仍然存在指向该文件的指针,但是二进制本身在文件存储中不存在,因此该问题可能会显现出来.此问题可能是由各种原因引起的,例如NFS/S3/其他类型的存储设备的连接问题,文件已从文件存储中损坏或删除等.

To further elaborate on this issue and what can cause it: Artifactory implements a checksum based storage. All files deployed/cached in Artifactory are renamed to their checksum value and saved in the filestore, and Artifactory creates a pointer in the DataBase containing the name, checksum and some other properties of the file. This allows for a more efficient storage since all files are only saved once in the filestore but can have multiple pointers in the DataBase (in various locations inside Artifactory - different repositories or archives even). When a file gets corrupted in the filestore or even deleted (without deleting it from Artifactory), this issue can manifest, since there is still a pointer to this file in Artifactory's DataBase but the binary itself does not exist in the filestore. This issue can be caused by various causes such as connection issues with the NFS/S3/other types of storage, files being corrupted or deleted from the filestore, etc.

另一个您还可以使用用户插件,名为"

Another edit: You can also use a user plugin called "filestoreIntegrity" that can go through all the pointers to files in your DataBase and checks if they exist in the filestore. This way you can know if there are corrupted or missing files and fix this issue.

这篇关于二进制提供者没有内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆