@@ -74,13 +74,7 @@ def get_visible(
74
74
with sentry_sdk .start_span (op = "GroupTypeRegistry.get_visible" ) as span :
75
75
released = [gt for gt in self .all () if gt .released ]
76
76
feature_to_grouptype = {
77
- (
78
- gt .build_visible_feature_name ()
79
- if not gt .use_flagpole_for_all_features
80
- else gt .build_visible_flagpole_feature_name ()
81
- ): gt
82
- for gt in self .all ()
83
- if not gt .released
77
+ gt .build_visible_feature_name (): gt for gt in self .all () if not gt .released
84
78
}
85
79
batch_features = features .batch_has (
86
80
list (feature_to_grouptype .keys ()), actor = actor , organization = organization
@@ -182,26 +176,15 @@ class GroupType:
182
176
# Defaults to true to maintain the default workflow notification behavior as it exists for error group types.
183
177
enable_status_change_workflow_notifications : bool = True
184
178
detector_config_schema : ClassVar [dict [str , Any ]] = {}
185
- # Temporary setting so that we can slowly migrate all perf issues to use flagpole for all feature flags
186
- use_flagpole_for_all_features = False
187
179
188
180
def __init_subclass__ (cls : type [GroupType ], ** kwargs : Any ) -> None :
189
181
super ().__init_subclass__ (** kwargs )
190
182
registry .add (cls )
191
183
192
184
if not cls .released :
193
185
features .add (cls .build_visible_feature_name (), OrganizationFeature , True )
194
- features .add (cls .build_ingest_feature_name (), OrganizationFeature )
195
- features .add (cls .build_post_process_group_feature_name (), OrganizationFeature )
196
-
197
- # XXX: Temporary shim here. We can't use the existing feature flag names, because they're auto defined
198
- # as being option backed. So options automator isn't able to validate them and fails. We'll instead
199
- # move to new flag names
200
- features .add (cls .build_visible_flagpole_feature_name (), OrganizationFeature , True )
201
- features .add (cls .build_ingest_flagpole_feature_name (), OrganizationFeature , True )
202
- features .add (
203
- cls .build_post_process_group_flagpole_feature_name (), OrganizationFeature , True
204
- )
186
+ features .add (cls .build_ingest_feature_name (), OrganizationFeature , True )
187
+ features .add (cls .build_post_process_group_feature_name (), OrganizationFeature , True )
205
188
206
189
def __post_init__ (self ) -> None :
207
190
valid_categories = [category .value for category in GroupCategory ]
@@ -213,25 +196,14 @@ def allow_ingest(cls, organization: Organization) -> bool:
213
196
if cls .released :
214
197
return True
215
198
216
- flag_name = (
217
- cls .build_ingest_feature_name ()
218
- if not cls .use_flagpole_for_all_features
219
- else cls .build_ingest_flagpole_feature_name ()
220
- )
221
- return features .has (flag_name , organization )
199
+ return features .has (cls .build_ingest_feature_name (), organization )
222
200
223
201
@classmethod
224
202
def allow_post_process_group (cls , organization : Organization ) -> bool :
225
203
if cls .released :
226
204
return True
227
205
228
- flag_name = (
229
- cls .build_post_process_group_feature_name ()
230
- if not cls .use_flagpole_for_all_features
231
- else cls .build_post_process_group_flagpole_feature_name ()
232
- )
233
-
234
- return features .has (flag_name , organization )
206
+ return features .has (cls .build_post_process_group_feature_name (), organization )
235
207
236
208
@classmethod
237
209
def should_detect_escalation (cls ) -> bool :
@@ -245,34 +217,21 @@ def build_feature_name_slug(cls) -> str:
245
217
return cls .slug .replace ("_" , "-" )
246
218
247
219
@classmethod
248
- def build_base_feature_name (cls , prefix : str = "" ) -> str :
249
- return f"organizations:{ prefix } { cls .build_feature_name_slug ()} "
220
+ def build_base_feature_name (cls ) -> str :
221
+ return f"organizations:issue- { cls .build_feature_name_slug ()} "
250
222
251
223
@classmethod
252
224
def build_visible_feature_name (cls ) -> str :
253
225
return f"{ cls .build_base_feature_name ()} -visible"
254
226
255
- @classmethod
256
- def build_visible_flagpole_feature_name (cls ) -> str :
257
- # We'll rename this too so that all the feature names are consistent
258
- return f"{ cls .build_base_feature_name ("issue-" )} -visible"
259
-
260
227
@classmethod
261
228
def build_ingest_feature_name (cls ) -> str :
262
229
return f"{ cls .build_base_feature_name ()} -ingest"
263
230
264
- @classmethod
265
- def build_ingest_flagpole_feature_name (cls ) -> str :
266
- return f"{ cls .build_base_feature_name ("issue-" )} -ingest"
267
-
268
231
@classmethod
269
232
def build_post_process_group_feature_name (cls ) -> str :
270
233
return f"{ cls .build_base_feature_name ()} -post-process-group"
271
234
272
- @classmethod
273
- def build_post_process_group_flagpole_feature_name (cls ) -> str :
274
- return f"{ cls .build_base_feature_name ("issue-" )} -post-process-group"
275
-
276
235
277
236
def get_all_group_type_ids () -> set [int ]:
278
237
# TODO: Replace uses of this with the registry
@@ -594,7 +553,6 @@ class MetricIssuePOC(GroupType):
594
553
enable_auto_resolve = False
595
554
enable_escalation_detection = False
596
555
enable_status_change_workflow_notifications = False
597
- use_flagpole_for_all_features = True
598
556
599
557
600
558
def should_create_group (
0 commit comments