From f6d3c907eb1118831e469840a012e2797e9d02a6 Mon Sep 17 00:00:00 2001 From: Oliver Newland Date: Fri, 19 Sep 2025 13:37:29 -0700 Subject: [PATCH 1/4] create LW delete eap-items schema and topic --- .../1/snuba-lw-deletions-eap-items.json | 18 +++++++++ schemas/snuba-lw-deletions-eap-items.v1.json | 37 +++++++++++++++++++ topics/snuba-lw-deletions-eap-items.yaml | 19 ++++++++++ 3 files changed, 74 insertions(+) create mode 100644 examples/snuba-lw-deletions-eap-items/1/snuba-lw-deletions-eap-items.json create mode 100644 schemas/snuba-lw-deletions-eap-items.v1.json create mode 100644 topics/snuba-lw-deletions-eap-items.yaml diff --git a/examples/snuba-lw-deletions-eap-items/1/snuba-lw-deletions-eap-items.json b/examples/snuba-lw-deletions-eap-items/1/snuba-lw-deletions-eap-items.json new file mode 100644 index 00000000..a01c2f51 --- /dev/null +++ b/examples/snuba-lw-deletions-eap-items/1/snuba-lw-deletions-eap-items.json @@ -0,0 +1,18 @@ +{ + "storage_name": "eap_items", + "rows_to_delete": 1000, + "conditions": { + "organization_id": [1], + "project_id": [1], + "trace_id": [ + "550e8400-e29b-41d4-a716-446655440000", + "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "f47ac10b-58cc-4372-a567-0e02b2c3d479" + ] + }, + "tenant_ids": { + "project_id": 1, + "organization_id": 1, + "referrer": "some_referrer" + } +} diff --git a/schemas/snuba-lw-deletions-eap-items.v1.json b/schemas/snuba-lw-deletions-eap-items.v1.json new file mode 100644 index 00000000..3acd61a4 --- /dev/null +++ b/schemas/snuba-lw-deletions-eap-items.v1.json @@ -0,0 +1,37 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "lw_delete_eap_items", + "type": "object", + "properties": { + "storage_name": { + "type": "string" + }, + "rows_to_delete": { + "type": "integer" + }, + "conditions": { + "type": "object", + "properties": { + "organization_id": { + "type": "array", + "items": { "type": "integer" } + }, + "project_id": { + "type": "array", + "items": { "type": "integer" } + }, + "trace_id": { + "type": "array", + "items": { "type": "string" } + } + } + }, + "tenant_ids": { + "type": "object", + "additionalProperties": { + "anyOf": [{ "type": "string" }, { "type": "integer", "minimum": 1 }] + } + } + }, + "required": ["storage_name", "rows_to_delete", "conditions", "tenant_ids"] +} diff --git a/topics/snuba-lw-deletions-eap-items.yaml b/topics/snuba-lw-deletions-eap-items.yaml new file mode 100644 index 00000000..ac2c0c92 --- /dev/null +++ b/topics/snuba-lw-deletions-eap-items.yaml @@ -0,0 +1,19 @@ +pipeline: items +description: Snuba Lightweight Deletes (EAP Items) +services: + consumers: + - getsentry/snuba + producers: + - getsentry/snuba +schemas: + - version: 1 + compatibility_mode: none + type: json + resource: snuba-lw-deletions-eap-items.v1.schema.json + examples: + - snuba-lw-deletions-eap-items/1/ +topic_creation_config: + compression.type: lz4 + max.message.bytes: "50000000" + retention.ms: "86400000" + message.timestamp.type: LogAppendTime From c0371cc9e1ff3fc05c013962bbf682e37a14e8fb Mon Sep 17 00:00:00 2001 From: Oliver Newland Date: Fri, 19 Sep 2025 13:41:52 -0700 Subject: [PATCH 2/4] fix typo --- topics/snuba-lw-deletions-eap-items.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/topics/snuba-lw-deletions-eap-items.yaml b/topics/snuba-lw-deletions-eap-items.yaml index ac2c0c92..8cf94653 100644 --- a/topics/snuba-lw-deletions-eap-items.yaml +++ b/topics/snuba-lw-deletions-eap-items.yaml @@ -9,7 +9,7 @@ schemas: - version: 1 compatibility_mode: none type: json - resource: snuba-lw-deletions-eap-items.v1.schema.json + resource: snuba-lw-deletions-eap-items.v1.json examples: - snuba-lw-deletions-eap-items/1/ topic_creation_config: From dce981d28ccf38c1c305e943bb52de0013c70d74 Mon Sep 17 00:00:00 2001 From: "getsantry[bot]" <66042841+getsantry[bot]@users.noreply.github.com> Date: Fri, 19 Sep 2025 20:42:45 +0000 Subject: [PATCH 3/4] style(lint): Auto commit lint changes --- .../1/snuba-lw-deletions-eap-items.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/snuba-lw-deletions-eap-items/1/snuba-lw-deletions-eap-items.json b/examples/snuba-lw-deletions-eap-items/1/snuba-lw-deletions-eap-items.json index a01c2f51..02b6e99a 100644 --- a/examples/snuba-lw-deletions-eap-items/1/snuba-lw-deletions-eap-items.json +++ b/examples/snuba-lw-deletions-eap-items/1/snuba-lw-deletions-eap-items.json @@ -5,9 +5,9 @@ "organization_id": [1], "project_id": [1], "trace_id": [ - "550e8400-e29b-41d4-a716-446655440000", - "6ba7b810-9dad-11d1-80b4-00c04fd430c8", - "f47ac10b-58cc-4372-a567-0e02b2c3d479" + "550e8400-e29b-41d4-a716-446655440000", + "6ba7b810-9dad-11d1-80b4-00c04fd430c8", + "f47ac10b-58cc-4372-a567-0e02b2c3d479" ] }, "tenant_ids": { From 4dac2f86eac52a38304a7e082bb5387fd19c256e Mon Sep 17 00:00:00 2001 From: Oliver Newland Date: Fri, 19 Sep 2025 13:46:31 -0700 Subject: [PATCH 4/4] add owner to eap-items lightweight delete topic --- CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/CODEOWNERS b/CODEOWNERS index 7640576e..a0f0f0c3 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -156,6 +156,7 @@ /topics/snuba-queries.yaml @getsentry/owners-snuba /topics/event-replacements.yaml @getsentry/owners-snuba /topics/snuba-lw-deletions-generic-events.yaml @getsentry/owners-snuba +/topics/snuba-lw-deletions-eap-items.yaml @getsentry/owners-snuba # Scheduled subscription topics /topics/scheduled-subscriptions-events.yaml @getsentry/owners-snuba