ARTIFACTORY:当你得到一个二进制提供程序没有错误消息内容时该怎么办
这个错误可能出现在Artifactory或Catalina日志中,原因有很多,其中一些非常重要。这些包括:
物理二进制文件不可访问或不存在于文件存储中.binarstore .xml的错误配置可能导致Artifactory在错误的文件夹中查找二进制文件。二进制文件处理不当(无论是在每个存储分片、最终文件夹、S3还是任何文件存储中)都可能导致这样一种状态:DB认为Artifactory有一个给定的二进制文件,但物理文件不可访问或已经丢失。丢失的二进制文件应该恢复或DB应该更新,以删除那些无法定位的二进制文件(参见下面的“分辨率”了解更多细节)。
解决方案:配置binarstore .xml,使其指向正确的文件存储。合并任何新创建的二进制文件,手动将这些文件从错误的文件存储移动到正确的文件存储,确保将它们放在正确的文件夹中(SHA-1的前两位数字)。
如果错误中出现的文件是元数据文件,这可能是因为工件操作和Backup任务重叠。在这种情况下,由于添加或删除工件而更改了元数据文件,因此更改了其校验和,从而导致maven索引任务将旧元数据文件标记为删除,或者只是在流程中间删除了一个文件。备份开始,索引所有要导出的文件,工件被更改、添加或删除,元数据被重新计算(及其校验和),然后当备份到达该文件时,它无法找到元数据的相应校验和。
解决方案:如果您有任何二进制文件被错误删除,请执行以下操作来识别并删除Oracle或Postgres数据库中不相关的数据库条目(注意:其他数据库类型可能需要修改以进行查询)。
1.备份当前数据库(重要)和文件存储。
2.找到数据库中引用的校验和文件,但这些文件不存在于Artifactory使用的任何文件存储中(例如,每个碎片、每个最终文件夹、S3或文件夹)。关于如何做到这一点的更多信息是可用的在这里.
3.查看是否可以从备份位置或另一个Artifactory实例恢复校验和文件。通过手动将文件从备份文件存储复制到目标文件存储,合并任何新创建的二进制文件,确保将它们放在正确的文件夹中(SHA-1的前两位数字)。
4.如果您确定无法找到校验和文件,并决定删除相关的数据库条目,请执行以下步骤。您可以再次运行步骤#2,以获得需要从数据库中删除的校验和文件的更新列表。
在获得校验和值(SHA-1)列表之后,按照下面出现的顺序运行查询。确保每个校验和值都在单引号内设置,将以下示例中提供的校验和替换为您自己的校验和。
select indexed_archives_entries where archive_sha1 in ('d6442ecb3d2f18a393ffd6bc84af1d895b752347','8282779494c879917e2a3efb454eb41a989ceca4'));
从indexed_archives删除archive_sha1 in ('d6442ecb3d2f18a393ffd6bc84af1d895b752347','8282779494c879917e2a3efb454eb41a989ceca4');
select node_id from nodes where sha1_actual in ('d6442ecb3d2f18a393ffd6bc84af1d895b752347','8282779494c879917e2a3efb454eb41a989ceca4'));
select SHA1_ACTUAL in ('d6442ecb3d2f18a393ffd6bc84af1d895b752347','8282779494c879917e2a3efb454eb41a989ceca4'));
select SHA1_ACTUAL in ('d6442ecb3d2f18a393ffd6bc84af1d895b752347','8282779494c879917e2a3efb454eb41a989ceca4'));
select SHA1_ACTUAL in ('d6442ecb3d2f18a393ffd6bc84af1d895b752347','8282779494c879917e2a3efb454eb41a989ceca4'));
select SHA1_ACTUAL in ('d6442ecb3d2f18a393ffd6bc84af1d895b752347','8282779494c879917e2a3efb454eb41a989ceca4'));
从二进制文件中删除sha1 ('d6442ecb3d2f18a393ffd6bc84af1d895b752347','8282779494c879917e2a3efb454eb41a989ceca4');
5.验证您的artifact .log不再显示二进制提供程序没有错误消息的内容。此外,通过确定和修复此问题的根本原因,做出额外的努力来避免此问题的发生。
发布日期:2020年3月3日
最后更新:2021年5月18日
关键词:binarstore .xml二进制提供程序
`