Page MenuHomePhabricator

Support DestructionEngine in MetaMTAMail
ClosedPublic

Authored by epriestley on Feb 1 2018, 7:37 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Apr 17, 8:38 AM
Unknown Object (File)
Thu, Apr 11, 9:58 AM
Unknown Object (File)
Fri, Apr 5, 9:45 PM
Unknown Object (File)
Tue, Apr 2, 5:02 AM
Unknown Object (File)
Tue, Apr 2, 4:50 AM
Unknown Object (File)
Tue, Apr 2, 3:39 AM
Unknown Object (File)
Sat, Mar 23, 5:00 AM
Unknown Object (File)
Feb 8 2024, 7:06 PM
Subscribers
None

Details

Summary

Depends on D18984. Ref T13053. See D13408 for the original change and why this doesn't use DestructionEngine right now. The quick version is:

  • It causes us to write a destruction log, which is slightly silly (we're deleting one thing and creating another).
  • It's a little bit slower than not using DestructionEngine.

However, it gets us some stuff for free that's likely relevant now (e.g., Herald Transcript cleanup) and I'm planning to move attachments to Files, but want to be able to delete them when mail is destroyed.

The destruction log is a touch silly, but those records are very small and that log gets GC'd later without generating new logs. We could silence the log from the GC if it's ever an issue.

Test Plan

Used bin/remove destroy and bin/garbage collect --collector mail.sent to destroy mail and collect garbage.

Diff Detail

Repository
rP Phabricator
Branch
mail3
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 19320
Build 26114: Run Core Tests
Build 26113: arc lint + arc unit