Resuming a large file is refused when its fileInfo carries large_file_sha1
Maintainer thường phản hồi trong vòng 3 ngày
Đánh giá
Issue này chưa được đánh giá.
Mô tả
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.
- Ngôn ngữ chính
- Java
- Star
- 103
- Fork
- 23
- Merge trung bình
- 5 ngày 8 giờ
- Pull request đã merge (30 ngày)
- 3
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Backblaze/b2-sdk-java
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Backblaze/b2-sdk-java#248 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
Backblaze/b2-sdk-java#247 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Backblaze/b2-sdk-java#246 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Backblaze/b2-sdk-java#245 ·
Maintainer thường phản hồi trong vòng 3 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Backblaze/b2-sdk-java#242 ·
Maintainer thường phản hồi trong vòng 3 ngày
Tất cả issue của Backblaze/b2-sdk-java
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
IETF-Hackathon/pqc-certificates#351 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug(core): skip_nodes.json is missing SELECT and PRE, causing Python and Java to insert separators into dropdown options and preformatted textCó thể đã có người làm @Bhumit267 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
Maintainer thường phản hồi trong vòng 1 ngày
-
ExceptionThrowShouldUseContext: NullPointerException on a catch block inside an annotation typeCó thể đã có người làm @Carbon14-48 đã nhận hôm nay. Đang mởapproved
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
checkstyle/checkstyle#22784 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày