Page MenuHomePhabricator

Migrate old reviewer edges to new storage
ClosedPublic

Authored by epriestley on Mar 20 2017, 6:34 PM.
Tags
None
Referenced Files
F19825435: D17515.id42140.diff
Mar 8 2026, 11:29 AM
F19778893: D17515.id42140.diff
Feb 23 2026, 12:59 PM
F19718952: D17515.diff
Feb 12 2026, 4:38 PM
F19712236: D17515.diff
Feb 11 2026, 8:37 PM
F19618115: D17515.id42140.diff
Feb 4 2026, 7:34 AM
F19096183: D17515.id.diff
Dec 4 2025, 8:35 AM
F19089571: D17515.diff
Dec 3 2025, 8:01 AM
F18849265: D17515.id.diff
Oct 30 2025, 8:47 AM
Subscribers
None

Details

Summary

Ref T10967. We still have double writes, so all reviewers are being written to both old and new storage. This migrates all the data in the old storage to the new storage, so both storage tables should have a complete set of data and be getting identical updates as we move forward.

After this, I can move readers over one at a time and eventually get rid of the old writes and old storage.

This loads all of the edge data into memory in a big chunk. I reached out to one install to get some more information about their data size. Ours is quite manageable and I think even large installs will probably fit into memory, but we can do this in chunks if not.

However, because the Edge table doesn't have an id column, we can't use either the RawMigrationIterator or the MigrationIterator, and would need to write a new EdgeMigrationIterator. This isn't tons of work but might not be necessary.

Test Plan

Ran the migration locally, spot-checked the results in the database for sanity and correctness.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

This revision is now accepted and ready to land.Mar 20 2017, 7:29 PM
This revision was automatically updated to reflect the committed changes.