Browse Source

fix(alerts): on-demand metric subscription (#52701)

Ogi 1 year ago
parent
commit
8fc266feaf
2 changed files with 3 additions and 2 deletions
  1. 2 2
      src/sentry/search/events/builder/metrics.py
  2. 1 0
      src/sentry/snuba/subscriptions.py

+ 2 - 2
src/sentry/search/events/builder/metrics.py

@@ -502,7 +502,7 @@ class MetricsQueryBuilder(QueryBuilder):
         snuba SDK.
         """
 
-        if not self.use_metrics_layer:
+        if not self.use_metrics_layer and not self._on_demand_spec:
             # The reasoning for this error is because if "use_metrics_layer" is false, the MQB will not generate the
             # snql dialect explained below as there is not need for that because it will directly generate normal snql
             # that can be returned via the "get_snql_query" method.
@@ -893,7 +893,7 @@ class AlertMetricsQueryBuilder(MetricsQueryBuilder):
         and returns one or more equivalent snql query(ies).
         """
 
-        if self.use_metrics_layer:
+        if self.use_metrics_layer or self._on_demand_spec:
             from sentry.snuba.metrics import SnubaQueryBuilder
             from sentry.snuba.metrics.mqb_query_transformer import (
                 transform_mqb_query_to_metrics_query,

+ 1 - 0
src/sentry/snuba/subscriptions.py

@@ -153,6 +153,7 @@ def create_snuba_subscription(project, subscription_type, snuba_query):
         snuba_query=snuba_query,
         type=subscription_type,
     )
+
     create_subscription_in_snuba.apply_async(
         kwargs={"query_subscription_id": subscription.id}, countdown=5
     )