Page MenuHomePhabricator

Add dedicated "reviewers" storage to Differential and do double writes
ClosedPublic

Authored by epriestley on Mar 13 2017, 7:15 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Apr 8, 2:01 PM
Unknown Object (File)
Jan 24 2024, 9:55 PM
Unknown Object (File)
Jan 19 2024, 5:26 PM
Unknown Object (File)
Jan 15 2024, 5:21 PM
Unknown Object (File)
Jan 13 2024, 9:36 AM
Unknown Object (File)
Jan 7 2024, 5:14 PM
Unknown Object (File)
Jan 6 2024, 9:23 AM
Unknown Object (File)
Jan 3 2024, 7:49 PM
Subscribers
None

Details

Summary

Ref T10967. This is an incremental step toward removing "reviewers" back to a dedicated storage table so we can handle changes like T11050.

This adds the storage table, and starts doing double writes to it (so new or updated reviewers write to both the old edge table and the new "reviewers" table).

Then we can do a migration, swap readers over one at a time, and eventually remove the old write and old storage and then implement new features.

This change has no user-facing impact, it just causes us to write new data to two places instead of one.

This is not completely exhaustive: the Herald "Add Reviewers" action is still doing a manual EDGE transaction. I'll clean that up next and do another pass to look for anything else I missed.

This is also a bit copy/pastey for now but the logic around "RESIGN" is a little different in the two cases until T11050. I'll unify it in future changes.

Test Plan
  • Did a no-op edit.
  • Did a no-op comment.
  • Added reviewers.
  • Removed reviewers.
  • Accepted and rejected revisions.

After all of these edits, did a SELECT * FROM differential_reviewer manually and saw consistent-looking rows in the database.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable