Skip commitFileUpload for files Steam Cloud already has - #1958
jeremybernstein wants to merge 1 commit into
Conversation
|
Important Review skippedReview was skipped as selected files did not have any reviewable changes. ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe upload flow now treats empty ChangesCloud upload deduplication
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Steam dedupes uploads by SHA. When beginFileUpload comes back with an empty blockRequests list the cloud already holds that exact blob and no transfer happens -- but we still called commitFileUpload for it, and the server answers file_committed=false because it has nothing pending for that file in this session. Log noise on every already-present file, with no effect on batch state. The file remains part of the manifest declared in beginAppUploadBatch and carries forward at completeAppUploadBatch, so it still counts toward filesUploaded. Most visible on save sets with many small unchanged files, where nearly every file is a dedup hit.
b341917 to
31560ca
Compare
Description
When Steam already holds a file's exact contents,
beginFileUploadreturns no blocks to upload, but we still calledcommitFileUpload. Steam rejects that commit (nothing pending), producing an error for every unchanged file in the batch.Fix: skip the commit for those files. They stay in the batch manifest and still count as uploaded.
Tests:
SteamAutoCloudTest.Split out of #1570 (HTML5 runtime). It stands on its own: the bug reproduces on master and this PR has no dependency on #1570.
Recording
n/a (infrastructure)
Type of Change
Checklist
#code-changes, I have discussed this change there and it has been green-lighted. If I do not have access, I have still provided clear context in this PR. If I skip both, I accept that this change may face delays in review, may not be reviewed at all, or may be closed.CONTRIBUTING.md.Summary by cubic
Skips
commitFileUploadfor files Steam Cloud already has by SHA, so unchanged files no longer fail the upload with a rejected commit error. They still count as uploaded because they remain in the batch manifest.Bug Fixes
beginFileUploadreturns an emptyblockRequestslist, the cloud already has that exact blob; skip the commit instead of gettingfile_committed=false.Written for commit 31560ca. Summary will update on new commits.
Summary by CodeRabbit
Bug Fixes
Tests