Browse Source

fix(migration): move ahead if we can't parse out the search term (#52567)

Adds some error handling when we encounter a query we can't parse.
Gilbert Szeto 1 year ago
parent
commit
6cd35b2c89
1 changed files with 19 additions and 16 deletions
  1. 19 16
      src/sentry/migrations/0502_savedsearch_update_me_myteams.py

+ 19 - 16
src/sentry/migrations/0502_savedsearch_update_me_myteams.py

@@ -93,22 +93,25 @@ def update_saved_search_query(apps, schema_editor):
 
         all_idx = [m.span() for m in list(assigned_me_idx_iter) + list(assigned_me_in_idx_iter)]
 
-        replacements = []
-        for start, stop in all_idx or ():
-            maybe_replacement = replacement_term(query[start:stop])
-            if maybe_replacement:
-                replacements.append((start, stop, maybe_replacement))
-
-        if replacements:
-            result = []
-            i = 0
-            for start, end, replacement in replacements:
-                result.append(query[i:start] + replacement)
-                i = end
-            result.append(query[i:])
-
-            ss.query = " ".join(result).strip()
-            ss.save(update_fields=["query"])
+        try:
+            replacements = []
+            for start, stop in all_idx or ():
+                maybe_replacement = replacement_term(query[start:stop])
+                if maybe_replacement:
+                    replacements.append((start, stop, maybe_replacement))
+
+            if replacements:
+                result = []
+                i = 0
+                for start, end, replacement in replacements:
+                    result.append(query[i:start] + replacement)
+                    i = end
+                result.append(query[i:])
+
+                ss.query = " ".join(result).strip()
+                ss.save(update_fields=["query"])
+        except Exception:
+            continue
 
 
 class Migration(CheckedMigration):