Resuming a large file is refused when its fileInfo carries large_file_sha1
维护者通常 3 天内回复
评估
这个 Issue 还没有评估数据。
描述
Problem
When resuming a large file, B2LargeFileUploader checks that the unfinished file's fileInfo matches the request. It removes the SDK-added whole-file SHA-1 before comparing:
// core/src/main/java/com/backblaze/b2/client/B2LargeFileUploader.java:141
infos.remove(B2Headers.LARGE_FILE_SHA1);
B2Headers.LARGE_FILE_SHA1 is the header name X-Bz-Info-large_file_sha1 (B2Headers.java:50), but the map is keyed by the file-info name large_file_sha1 (B2Headers.LARGE_FILE_SHA1_INFO_NAME, :49). The remove never matches, so the comparison at :142 fails and a resume is refused whenever the original upload carried a SHA-1, even when the request is identical to the one that started the file.
Expected vs. actual
- Expected: resuming with the same request that started the large file continues the upload.
- Actual:
throwIfMismatch("fileInfo", ...)rejects it when a SHA-1 is known. Resume without a SHA-1 works.
Acceptance criteria
- Remove
B2Headers.LARGE_FILE_SHA1_INFO_NAMEinstead ofB2Headers.LARGE_FILE_SHA1. - A unit test that resumes an unfinished file whose
fileInfocontainslarge_file_sha1with the same request, and asserts no mismatch is thrown; and that a different non-SHA-1 file-info value is still rejected.
- 主要语言
- Java
- 星标
- 103
- 派生
- 23
- 平均合并
- 5 天 8 小时
- 30 天内合并 PR
- 3
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
Backblaze/b2-sdk-java 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
Backblaze/b2-sdk-java#248 ·
维护者通常 3 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
Backblaze/b2-sdk-java#247 ·
维护者通常 3 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
Backblaze/b2-sdk-java#246 ·
维护者通常 3 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
Backblaze/b2-sdk-java#245 ·
维护者通常 3 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
Backblaze/b2-sdk-java#242 ·
维护者通常 3 天内回复
查看 Backblaze/b2-sdk-java 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
IETF-Hackathon/pqc-certificates#351 ·
维护者通常 2 天内回复
-
bug(core): skip_nodes.json is missing SELECT and PRE, causing Python and Java to insert separators into dropdown options and preformatted text可能已有人在做 @Bhumit267 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 85/100
维护者通常 1 天内回复
-
ExceptionThrowShouldUseContext: NullPointerException on a catch block inside an annotation type可能已有人在做 @Carbon14-48 今天认领。 未关闭approved
难度 2/5 1-3 小时 新手友好度 72/100
checkstyle/checkstyle#22784 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 74/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
维护者通常 1 天内回复