Artifactory OSS 7.9.2 UI上传文件报错:Checksum input stream calculator does not support mark
解决Artifactory OSS 7.9.2上传文件报错「Checksum input stream calculator does not support mark!」的方案
这个报错是Artifactory 7.x早期版本的已知问题,容器化部署场景下更容易触发,下面是几个可行的解决办法:
1. 添加JVM参数禁用校验流的mark检查
在Docker部署时,通过EXTRA_JAVA_OPTIONS环境变量添加参数,强制关闭校验输入流的mark支持:
- 若用Dockerfile部署,直接在文件中添加:
ENV EXTRA_JAVA_OPTIONS="-Dartifactory.checksum.input.stream.disable.mark=true" - 若是ECS任务定义,在环境变量配置项里添加该参数即可。
2. 检查存储挂载的兼容性
确保ECS挂载给Artifactory的存储卷是标准POSIX兼容的文件系统(比如EBS卷),避免使用临时存储或不支持流操作的存储类型,这类存储容易触发输入流的mark操作异常。
3. 升级到修复后的版本
7.9.2属于7.x早期版本,这个校验流的问题在后续7.10.x及以上版本中已被修复,直接升级到7.10.6或更新的稳定版本,可彻底解决该问题。
4. 用API上传验证是否是UI问题
如果上面的方法暂时无法尝试,可用REST API上传文件测试:
curl -u admin:你的密码 -X PUT "http://你的Artifactory地址/artifactory/你的仓库名/测试文件.txt" -T "/本地文件路径/测试文件.txt"
如果API上传成功,说明问题出在UI组件,清除浏览器缓存或更换浏览器重试即可。
内容的提问来源于stack exchange,提问作者Jason Parmar
相关产品推荐
相关产品推荐

