Page MenuHomePhabricator

Label transaction groups with a "group ID" so Herald can reconstruct them faithfully
ClosedPublic

Authored by epriestley on May 16 2019, 8:16 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sat, Mar 23, 12:50 AM
Unknown Object (File)
Sat, Mar 23, 12:50 AM
Unknown Object (File)
Sat, Mar 23, 12:50 AM
Unknown Object (File)
Sat, Mar 23, 12:50 AM
Unknown Object (File)
Tue, Mar 5, 12:38 AM
Unknown Object (File)
Feb 15 2024, 2:10 PM
Unknown Object (File)
Jan 30 2024, 9:45 AM
Unknown Object (File)
Jan 15 2024, 4:32 PM
Subscribers
None

Details

Summary

Ref T13283. See PHI1202. See D20519. When we apply a group of transactions, label all of them with the same "group ID".

This allows other things, notably Herald, to figure out which transactions applied together in a faithful way rather than by guessing, even though the guess was probably pretty good most of the time.

Also expose this to transaction.search in case callers want to do something similar. They get a list of transaction IDs from webhooks already anyway, but some callers use transaction.search outside of webhooks and this information may be useful.

Test Plan
  • Ran Herald Test Console, saw faithful selection of recent transactions.
  • Changed hard limit from 1000 to 1, saw exception. Users should be very hard-pressed to hit this normally (they'd have to add 990-ish custom fields, then edit every field at once, I think) so I'm just fataling rather than processing some subset of the transaction set.
  • Called transaction.search, saw group ID information available.

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

amckinley added inline comments.
src/applications/transactions/storage/PhabricatorApplicationTransaction.php
181

Oh, I was wondering where the migration was. This makes sense.

This revision is now accepted and ready to land.May 17 2019, 3:56 PM