1.4 KiB
1.4 KiB
2022-04-06
Fixing normalized tag search
https://jira.aweber.io/browse/ASE-8617
- What was broken?
- Searches and segments with a "tag is not" constraint failed to match subscribers with no tags.
- When was it broken?
- April 5th at 16:00, following the release of CCPANEL-12034.
- What did you do to fix the problem?
- The change was rolled back by updating search terms in the analytics search database to their previous values at 19:12 on April 5th.
- How many customers did it likely impact?
- Likely all customers using the "tag not in" filter in their searches and segments.
- Is the issue automatically fixed for all customers now?
- Yes.
- Does the customer or CS need to manually do something to fix their account?
- No.
- Should a new monitoring check, metric, or test be created to prevent this from happening again?
- Additional tests will be added to ensure future releases of this feature do not break search and segment behavior.
What happened?
ARRAY_AGG
returns NULL
when given an empty set. This breaks the tag
comparison, as NOT(NULL @> ARRAY['tag'])
is equal to NULL
, not TRUE
.
Updating the logic to COALESCE
null values with an empty array allows the
comparison to function as intended. normalize_tags
must also omit invalid tags
(tags that normalize to the empty string) from its results.