Skip to content

Commit 481d8d6

Browse files
chore(self-hosted/dev): Create kafka topics from sentry-kafka-schemas (#91247)
This uses sentry-kafka-schemas to determine which topics to create. This avoids duplicate definitions
1 parent 512f1bd commit 481d8d6

File tree

3 files changed

+17
-8
lines changed

3 files changed

+17
-8
lines changed

src/sentry/runner/commands/devserver.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -414,12 +414,13 @@ def devserver(
414414
"""
415415
)
416416

417-
from sentry.conf.types.kafka_definition import Topic
417+
from sentry_kafka_schemas import list_topics
418+
418419
from sentry.utils.batching_kafka_consumer import create_topics
419-
from sentry.utils.kafka_config import get_topic_definition
420+
from sentry.utils.kafka_config import get_topic_definition_from_name
420421

421-
for topic in Topic:
422-
topic_defn = get_topic_definition(topic)
422+
for topic in list_topics():
423+
topic_defn = get_topic_definition_from_name(topic)
423424
create_topics(topic_defn["cluster"], [topic_defn["real_topic_name"]])
424425

425426
if dev_consumer:

src/sentry/runner/commands/upgrade.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,13 @@ def _upgrade(
8383
nodestore.backend.bootstrap()
8484

8585
if create_kafka_topics:
86-
from sentry.conf.types.kafka_definition import Topic
86+
from sentry_kafka_schemas import list_topics
87+
8788
from sentry.utils.batching_kafka_consumer import create_topics
88-
from sentry.utils.kafka_config import get_topic_definition
89+
from sentry.utils.kafka_config import get_topic_definition_from_name
8990

90-
for topic in Topic:
91-
topic_defn = get_topic_definition(topic)
91+
for topic in list_topics():
92+
topic_defn = get_topic_definition_from_name(topic)
9293
create_topics(topic_defn["cluster"], [topic_defn["real_topic_name"]])
9394

9495
if repair:

src/sentry/utils/kafka_config.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,10 @@ def get_topic_definition(topic: Topic) -> TopicDefinition:
102102
"cluster": settings.KAFKA_TOPIC_TO_CLUSTER[topic.value],
103103
"real_topic_name": settings.KAFKA_TOPIC_OVERRIDES.get(topic.value, topic.value),
104104
}
105+
106+
107+
def get_topic_definition_from_name(topic_name: str) -> TopicDefinition:
108+
return {
109+
"cluster": settings.KAFKA_TOPIC_TO_CLUSTER.get(topic_name, "default"),
110+
"real_topic_name": settings.KAFKA_TOPIC_OVERRIDES.get(topic_name, topic_name),
111+
}

0 commit comments

Comments
 (0)