You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
perf(gateway): share one group event snapshot per transaction across recipients #607
PR #605 made the group event relay send one transaction's rows in insert order. For that, wire_group_events (gateway/src/stdb/world_view.rs) reads the cached game_group_event table once per transaction per recipient with a session. A transaction with many recipients, such as a 40-member Raid roster list or a loot roll, repeats the same table copy on the shared coordinator pump.
The event GC holds rows for about one second, so the table stays small and the cost has a ceiling. The work still grows with recipients × cached rows for every burst.
Done when: each source database collects one transaction's rows once, and each recipient takes its slice from that snapshot. The ordering guarantee and the per-database cursor from #605 stay the same. A test proves one table read per transaction for many recipients.
Note: the existing by_recipient index is on recipient_identity, not recipient_guid, so it does not serve this lookup directly.
Activity