Page MenuHomePhabricator

Migrate old reviewer edges to new storage
ClosedPublic

Authored by epriestley on Mar 20 2017, 6:34 PM.
Tags
None
Referenced Files
F13097492: D17515.id42124.diff
Fri, Apr 26, 12:48 AM
Unknown Object (File)
Wed, Apr 24, 11:23 PM
Unknown Object (File)
Wed, Apr 17, 2:34 PM
Unknown Object (File)
Mon, Apr 8, 7:28 AM
Unknown Object (File)
Sun, Apr 7, 4:28 PM
Unknown Object (File)
Mon, Apr 1, 11:59 PM
Unknown Object (File)
Mar 10 2024, 5:44 PM
Unknown Object (File)
Jan 26 2024, 2:02 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.