Page MenuHomePhabricator

Fix an issue where "bin/differential migrate-hunk" could decompress data
ClosedPublic

Authored by epriestley on Sep 18 2017, 7:27 PM.
Tags
None
Referenced Files
F19710965: D18624.id.diff
Wed, Feb 11, 5:39 PM
F19677729: D18624.id.diff
Sun, Feb 8, 3:09 PM
F18865483: D18624.diff
Nov 3 2025, 12:33 PM
F18799039: D18624.id44718.diff
Oct 17 2025, 10:54 AM
F18772751: D18624.id.diff
Oct 9 2025, 4:25 AM
F18586864: D18624.id.diff
Sep 11 2025, 7:54 PM
F18509116: D18624.id.diff
Sep 5 2025, 3:13 AM
F18501651: D18624.diff
Sep 4 2025, 9:52 PM
Subscribers
None

Details

Summary

Fixes T12986. I caught this bug in the changes from D18584: when we moved a large hunk to file storage, we would decompress it but keep the "deflated" flag. This could cause confusion when loading it later. I missed this in testing since I wasn't exhaustive enough in checking hunks and didn't run into a compressed one.

Instead of compressing on save(), compress during the normal workflow.

We currently never advise users to run this workflow so I didn't bother trying to clean up possible existing migrations.

Test Plan
  • Ran bin/differential migrate-hunk on compressed hunks, moving them to and from file storage. Saw them work correctly and remain compressed.
  • Created new small (uncompressed) and large (compressed) hunks, verified they work properly and get compressed (if applicable).
  • Used bin/cache purge --caches changeset to clear changeset caches and make sure the actual table was being hit.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable