二进制提供者没有内容

时间:2019-02-13 15:26:46

标签: artifactory

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

问题上下文:

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

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

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

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

这个:Artifactory has lost track of local artifacts

这似乎是最有趣的,因为我们所讨论的问题是相似的,但是我没有看到这些路径-即,我确实看到了filestore及其中的所有内容,但没有提到其他路径/文件在对话中。

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

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

任何帮助将不胜感激,因为我们的整个开发组织都不会受到阻碍,并设法以某种方式在本地解决,直到解决。

1 个答案:

答案 0 :(得分:1)

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

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

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

另一个编辑: 您还可以使用一个名为“ user plugin”的filestoreIntegrity,它可以遍历数据库中文件的所有指针,并检查文件存储中是否存在它们。这样,您可以知道是否存在损坏或丢失的文件并解决此问题。