Skip to content

Commit 1d09b82

Browse files
authored
feat(cross-item): prepare settings for production (#7706)
I tweaked some runtime configs for cross item queries. Updating the defaults for EA launch
1 parent e7cc84f commit 1d09b82

File tree

5 files changed

+11
-3
lines changed

5 files changed

+11
-3
lines changed

snuba/web/rpc/v1/resolvers/R_eap_items/resolver_time_series.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ def resolve(
483483
# When trace_filters are present and the feature is enabled, don't use sampling on the outer query
484484
# The inner query (getting trace IDs) will use sampling
485485
cross_item_queries_no_sample_outer = state.get_int_config(
486-
"cross_item_queries_no_sample_outer", 0
486+
"cross_item_queries_no_sample_outer", 1
487487
)
488488
if not (in_msg.trace_filters and cross_item_queries_no_sample_outer):
489489
query_settings.set_sampling_tier(routing_decision.tier)

snuba/web/rpc/v1/resolvers/R_eap_items/resolver_trace_item_table.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -670,7 +670,7 @@ def resolve(
670670
# When trace_filters are present and the feature is enabled, don't use sampling on the outer query
671671
# The inner query (getting trace IDs) will use sampling
672672
cross_item_queries_no_sample_outer = state.get_int_config(
673-
"cross_item_queries_no_sample_outer", 0
673+
"cross_item_queries_no_sample_outer", 1
674674
)
675675
if not (in_msg.trace_filters and cross_item_queries_no_sample_outer):
676676
query_settings.set_sampling_tier(routing_decision.tier)

snuba/web/rpc/v1/resolvers/common/cross_item_queries.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@
3232
treeify_or_and_conditions,
3333
)
3434

35-
_TRACE_LIMIT = 10000
35+
# 50 million trace ids * 16 bytes per id = a limit of 1gigabyte memory usage per cross item query
36+
# most queries do not hit this number this is just an upper bound
37+
_TRACE_LIMIT = 50_000_000
3638

3739

3840
def convert_trace_filters_to_trace_item_filter_with_type(

tests/web/rpc/v1/test_endpoint_time_series/test_endpoint_time_series_cross_item_sampling.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,9 @@ def test_cross_item_query_sampling_disabled(self) -> None:
139139
Test that when cross_item_queries_no_sample_outer is disabled (default):
140140
- Both queries use the same storage tier
141141
"""
142+
# Explicitly disable the feature flag
143+
state.set_config("cross_item_queries_no_sample_outer", 0)
144+
142145
trace_ids, all_items, start_time, end_time = create_cross_item_test_data()
143146
write_cross_item_data_to_storage(all_items)
144147

tests/web/rpc/v1/test_endpoint_trace_item_table/test_endpoint_trace_item_table_cross_item_sampling.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,9 @@ def test_cross_item_query_sampling_disabled(self) -> None:
123123
Test that when cross_item_queries_no_sample_outer is disabled (default):
124124
- Both queries use the same storage tier
125125
"""
126+
# Explicitly disable the feature flag
127+
state.set_config("cross_item_queries_no_sample_outer", 0)
128+
126129
trace_ids, all_items, start_time, end_time = create_cross_item_test_data()
127130
write_cross_item_data_to_storage(all_items)
128131

0 commit comments

Comments
 (0)