diff --git a/.github/workflows/snuba-integration-test.yml b/.github/workflows/snuba-integration-test.yml index c7032f8714b55f..f7954a808e9468 100644 --- a/.github/workflows/snuba-integration-test.yml +++ b/.github/workflows/snuba-integration-test.yml @@ -21,7 +21,6 @@ jobs: MATRIX_INSTANCE_TOTAL: 2 USE_SNUBA: 1 MIGRATIONS_TEST_MIGRATE: 1 - USE_INDEXER: 1 steps: - uses: actions/checkout@v2 diff --git a/src/sentry/conf/server.py b/src/sentry/conf/server.py index 6206dccd35bb34..e769aaf2657a71 100644 --- a/src/sentry/conf/server.py +++ b/src/sentry/conf/server.py @@ -1381,7 +1381,7 @@ def create_partitioned_queues(name): SENTRY_METRICS_SKIP_INTERNAL_PREFIXES = [] # Order this by most frequent prefixes. # Metrics product -SENTRY_METRICS_INDEXER = "sentry.sentry_metrics.indexer.mock.MockIndexer" +SENTRY_METRICS_INDEXER = "sentry.sentry_metrics.indexer.postgres.PGStringIndexer" SENTRY_METRICS_INDEXER_OPTIONS = {} SENTRY_METRICS_INDEXER_CACHE_TTL = 3600 * 2 diff --git a/src/sentry/utils/pytest/sentry.py b/src/sentry/utils/pytest/sentry.py index bb835e3419685f..bdf691660405c1 100644 --- a/src/sentry/utils/pytest/sentry.py +++ b/src/sentry/utils/pytest/sentry.py @@ -118,9 +118,6 @@ def pytest_configure(config): settings.SENTRY_TSDB = "sentry.tsdb.redissnuba.RedisSnubaTSDB" settings.SENTRY_EVENTSTREAM = "sentry.eventstream.snuba.SnubaEventStream" - if os.environ.get("USE_INDEXER", False): - settings.SENTRY_METRICS_INDEXER = "sentry.sentry_metrics.indexer.postgres.PGStringIndexer" - if os.environ.get("DISABLE_TEST_SDK", False): settings.SENTRY_SDK_CONFIG = {} diff --git a/tests/sentry/snuba/test_metrics.py b/tests/sentry/snuba/test_metrics.py index 866e2300e8f73d..75dff927aad981 100644 --- a/tests/sentry/snuba/test_metrics.py +++ b/tests/sentry/snuba/test_metrics.py @@ -6,6 +6,7 @@ from django.utils.datastructures import MultiValueDict from snuba_sdk import Column, Condition, Entity, Granularity, Limit, Offset, Op, Query +from sentry.sentry_metrics.indexer.mock import MockIndexer from sentry.snuba.metrics import ( MAX_POINTS, QueryDefinition, @@ -24,10 +25,12 @@ class PseudoProject: MOCK_NOW = datetime(2021, 8, 25, 23, 59, tzinfo=pytz.utc) +@mock.patch("sentry.snuba.metrics.indexer") @mock.patch("sentry.snuba.sessions_v2.get_now", return_value=MOCK_NOW) @mock.patch("sentry.api.utils.timezone.now", return_value=MOCK_NOW) -def test_build_snuba_query(mock_now, mock_now2): +def test_build_snuba_query(mock_now, mock_now2, mock_indexer): + mock_indexer.resolve = MockIndexer().resolve # Your typical release health query querying everything query_params = MultiValueDict( { @@ -86,9 +89,12 @@ def expected_query(match, select, extra_groupby): } +@mock.patch("sentry.snuba.metrics.indexer") @mock.patch("sentry.snuba.sessions_v2.get_now", return_value=MOCK_NOW) @mock.patch("sentry.api.utils.timezone.now", return_value=MOCK_NOW) -def test_translate_results(_1, _2): +def test_translate_results(_1, _2, mock_indexer): + mock_indexer.reverse_resolve = MockIndexer().reverse_resolve + query_params = MultiValueDict( { "groupBy": ["session.status"], @@ -236,9 +242,11 @@ def test_translate_results(_1, _2): ] +@mock.patch("sentry.snuba.metrics.indexer") @mock.patch("sentry.snuba.sessions_v2.get_now", return_value=MOCK_NOW) @mock.patch("sentry.api.utils.timezone.now", return_value=MOCK_NOW) -def test_translate_results_missing_slots(_1, _2): +def test_translate_results_missing_slots(_1, _2, mock_indexer): + mock_indexer.reverse_resolve = MockIndexer().reverse_resolve query_params = MultiValueDict( { "field": [