Dashboard › getsentry › Distillation
988c740a-2555-4750-b10c-613ec396b081["e80e534d7c0404adac5e7246293dc3bf"]
Date: Aug 4, 2026
getsentry/conf/settings/cellsilo.py: US default ORBITAL_UDP_SERVER switches from hardcoded 10.2.0.43:5556 (stale since 2019) to orbital-udp.default.svc.cluster.local.:5556. Trailing dot makes FQDN so pod ndots:5 doesn't walk search domains on sendto (same pattern as twemproxy-âŚsvc.cluster.local.). Non-US cells still leave ORBITAL_UDP_SERVER unset (None)getsentry/receivers/orbital.py: adds _ip_from_event(data) -> str | None helper that falls back to event.data.user.ip_address when Kafka remote_addr is missing. Validates data is dict, user is dict, ip_address is non-empty strmetrics.incr("getsentry.orbital.notify", tags={"outcome": ...}) per-event emission in notify_orbital. Tags include outcome=<value> for each path (no_socket, etc.)importlib.reload pattern in tests to simulate non-US path where udp_socket is never initialized (ORBITAL_UDP_SERVER unset/misconfigured)test_notify_orbital_is_noop_when_udp_socket_unset (tests/getsentry/receivers/test_orbital.py#L13-L26) always skips. Cause: test settings load dev.py where ORBITAL_UDP_SERVER is 127.0.0.1:5556, so socket is always initialized in tests, test never exercises the noop binding that prevents DE no_socket metric spamBUGBOT_BUG_ID: e7e440f8-9272-4e3f-bc7f-62b5a7315538getsentry_settings.ORBITAL_UDP_SERVER = None then reloading the orbital module; relies on importlib.reload to rebind the module-level udp_socket/notify_orbital references_collect_outcomes(incr: MagicMock) -> list[str] extracts outcome tags from metrics.incr call_args_list â returns list of tags["outcome"] strings from each call6... (truncated in payload)