ref(eap): no-op migrations for tables that are no longer used - #8495
Merged
Merged
Conversation
scrub_ips_from_eap_spans and scrub_users_from_eap_spans target eap_spans_2_local; scrub_users_from_eap_spans_str_attrs targets spans_str_attrs_3_local. Neither table is created any more now that the migrations that built them are no-ops, so these jobs would fail on any fresh deployment. Manual jobs self-register via Job.class_from_name, so there is no registry to update. None of the three had tests. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ElioDiNino
approved these changes
Sep 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The EAP migration group has accumulated 71 migrations across several generations of table design:
eap_spans→eap_spans_2→eap_items_1→eap_items_2, plus side branches forourlogs,uptime_monitor_checks, and the abandonedeap_trace_item_attrsautocomplete experiment.Only 18 tables are still in use — exactly the
local_table_namevalues insnuba/datasets/configuration/events_analytics_platform/storages/. Everything else is created and then never read by any storage, entity, or query path.This continues the cleanup from #7721, using the same no-op pattern.
Changes
19 migrations converted to no-ops. Files stay in place so the runner doesn't complain about missing entries;
forwards_ops()/backwards_ops()return[]and a docstring records what each one used to do.eap_spans,eap_spans_2,spans_attributes_metauptime_monitor_checksv1/v2ourlogsv1/v2/v3eap_trace_item_attrs2 orphaned processors deleted —
uptime_monitors_processor.pyandourlogs_processor.py. Neither had a single reference left insnuba/,tests/, orrust_snuba/.4 manual jobs deleted, all of which read or wrote tables that no longer get created:
scrub_ips_from_eap_spanseap_spans_2_localscrub_users_from_eap_spanseap_spans_2_localscrub_users_from_eap_spans_str_attrsspans_str_attrs_3_localextract_span_data(+ its test)eap_spans_2_localManual jobs self-register via
Job.class_from_name, so there is no registry to update. Onlyextract_span_datahad a test, and it was already@pytest.mark.skip("can't test writing to GCS").Deliberately kept
WORKLOADobjects, not tables. They back deletes oneap_items— no-oping them would break deletes on fresh installs.eap_itemsMV chains, which must stay intact:0034 → 0039 → 0042/0047 → 0049 → 0057 → 0058 → 0059 → 0060 → 0061 → 0068(_mv_10), and0030 → 0051 → 0062 → 0063 → 0072for co-occurring attrs.Verification
A clean
snuba migrations migrate --forcemarks all 71 EAP migrationscompletedand produces exactly these tables, nothing else:tests/migrations/+tests/manual_jobs/— 502 passed (includestest_runner.py, which runs every migration against a live ClickHouse)tests/datasets/,tests/clusters/,test_endpoint_trace_item_attribute_names.py— 357 passedruffandmypycleansnuba/,tests/, ordocs/🤖 Generated with Claude Code