SIGN IN SIGN UP

fix(issues): Carry `received` into buffered-spans occurrences (#123073)

Occurrences from the span segment processor are produced with
`is_buffered_spans=True`, which routes them to
`create_event_and_issue_occurrence`. That builds a lightweight `Event`
with only `snuba_data` populated, so `event.data` falls back to an empty
nodestore lookup. The eventstream serializes `event.data` into the
payload's `data` field, and `generic-events.v1` requires `received`
there, so these messages were rejected.

The value was available the whole time though, `build_shim_event_data`
sets it from the segment span, and the consumer preserves it,
`create_event` just didn't propagate it. Pass it through as the event's
`data`, which also means the payload no longer needs a nodestore read
that always misses.

`_get_kwargs` used `.get(key, default)`, which doesn't fire the default
when `received` is present but null (event schema allows this). Switch
to `or` so the fallback applies, same for `tags`.
M
Matt Duncan committed
fd30a926d7867e0d9ab3bf07ff010ee0c9b56931
Parent: b8cc86b
Committed by GitHub <noreply@github.com> on 8/28/2026, 9:48:05 PM