如何解决人为因素:无法持久保存文件;状态码:404 / Gradle
通过位桶管道运行部署时,我们面临着Artifactory : java.io.IOException: Failed to deploy file. Status code: 404 Response message中所述的相同问题。
这发生在Artifactory云上,从一天到另一天的所有管道。
Execution failed for task ':artifactoryDeploy'.
> java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.io.IOException: Failed to deploy file. Status code: 404 Response message: Artifactory returned the following errors:
Failed to persist file with sha1: 0fexxxxxxxxxxxxxxxx Status code: 404
在Artifactory系统日志中,我一直收到以下警告,但是我不确定是否已连接此问题。在以下消息旁边,日志中没有错误:
2020-08-25T16:26:43.889Z [jfrt ] [WARN ] [c19ba246224f712c] [ntuallyPersistedAddFileTask:96] [al-binary-provider-2] - Failed to delete 'add file' after completing eventually persisted task '/storage/eventual/_add/a3/a396fb897aXXXXXXXXXXXXXXXXXXXXXXXX'
request.log中的错误
2020-08-26T07:05:43.041Z|1765ac2ce37a6ffc|34.232.119.183|gradle-build|PUT|/gradle-dev-local/app/app-front/1.0.1.418_dev/app-front-1.0.1.418_dev.war;build.timestamp=1598425011065;build.name=app;build.number=1598425011337|404|0|0|9|ArtifactoryBuildClient/2.18.0
2020-08-26T07:05:44.014Z|e62cf9a7063d3fff|34.232.119.183|gradle-build|PUT|/gradle-dev-local/com/customer/app/app-core/1.0.1.418_dev/app-core-1.0.1.418_dev.pom;build.timestamp=1598425011065;build.name=app;build.number=1598425011337|404|4474|0|184|ArtifactoryBuildClient/2.18.0
有人知道这是什么原因,什么可以检查吗?
我们通过Artifactory插件和gradle进行部署。 (https://bintray.com/jfrog/jfrog-jars/build-info-extractor-gradle#release)
我们使用的是修复版本,但我还将插件更新为4.17.1(在使用4.9.8之前)
谢谢!
解决方法
这听起来像是内部问题,而不是客户的问题。 听起来您可能正在使用某种类型的云存储,而后者又在使用最终存储。我可以想像这样的情况,是由于在HA设置中的分片目录上使用了挂载的最终目录。
我建议查看该文件是否仍存在于文件存储中,或者是否具有无法删除的奇怪权限。如果确实确实是挂载的,那么是否有必要多次上载该工件的请求,也值得检查。也许是某种碰撞。
沿着这些行,因为它是404(未找到)并且无法删除该文件;我想知道它是否一开始就无法将其写入 _add 。
总而言之,就目前的信息而言,这可能是我认为的两个之一:
- 您正在使用装入的最终目录,这可能会导致问题
- 文件存储上的权限不正确,影响了文件存储操作
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。