Page MenuHomePhabricator

Migrate old reviewer edges to new storage
ClosedPublic

Authored by epriestley on Mar 20 2017, 6:34 PM.
Tags
None
Referenced Files
F13173652: D17515.diff
Tue, May 7, 8:31 PM
F13166773: D17515.diff
Tue, May 7, 6:34 AM
Unknown Object (File)
Fri, May 3, 4:01 AM
Unknown Object (File)
Mon, Apr 29, 3:57 PM
Unknown Object (File)
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
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
Branch
rev5
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 16039
Build 21269: Run Core Tests
Build 21268: arc lint + arc unit

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.