From 9dee33c8a98ba376eff6a4b3bfb06baec603ffec Mon Sep 17 00:00:00 2001 From: Elise Richards Date: Tue, 14 Nov 2023 10:40:44 -0800 Subject: [PATCH] Fix #9741 bug(nimbus): Some of the FML errors are non-deterministic and that is triggering the serialization repeatedly --- .../experimenter/experiments/api/v5/serializers.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/experimenter/experimenter/experiments/api/v5/serializers.py b/experimenter/experimenter/experiments/api/v5/serializers.py index 51c9b4d344..8c1c2198d3 100644 --- a/experimenter/experimenter/experiments/api/v5/serializers.py +++ b/experimenter/experimenter/experiments/api/v5/serializers.py @@ -1,4 +1,5 @@ import json +import logging import re import typing from collections import defaultdict @@ -41,6 +42,8 @@ from experimenter.projects.models import Project from experimenter.settings import SIZING_DATA_KEY +logger = logging.getLogger() + class TransitionConstants: VALID_STATUS_TRANSITIONS = { @@ -1441,10 +1444,10 @@ def _validate_feature_value_against_schema( def _validate_with_fml(self, feature_config, channel, obj): loader = NimbusFmlLoader(feature_config.application, channel) if fml_errors := loader.get_fml_errors(obj, feature_config.slug): + for e in fml_errors: + logger.error(f"{e.message} at line {e.line+1} column {e.col}") return [ - f"{NimbusExperiment.ERROR_FML_VALIDATION}: " - f"{e.message} at line {e.line+1} column {e.col}" - for e in fml_errors + f"{NimbusExperiment.ERROR_FML_VALIDATION} " ] return None