Identity overrides don't work in offline local evaluation mode
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 45/100
Piste de recherche
Commencez dans flagsmith/flagsmith.py, au niveau du chemin de chargement du gestionnaire offline vers la ligne 117 et du chemin de mise à jour de l’API vers la ligne 273 ; suivez la façon dont identity_overrides sont représentés dans le fichier local. Vérifiez que l’évaluation locale offline applique l’override pour l’identifiant 146433 tout en préservant le comportement normal de l’état des fonctionnalités, et ajoutez ou exécutez une couverture de régression pour ce cas.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I'm using version 3.8.0 and have identity overrides enabled for my environment.
I'm using a copy of a config for local development and initialize Flagsmith as follows:
local_file_handler = LocalFileHandler(
environment_document_path=f"./feature_flags_configuration.local.json"
)
flagsmith = Flagsmith(
environment_key=settings.FLAGSMITH_API_KEY,
enable_local_evaluation=True,
offline_handler=local_file_handler,
offline_mode=True,
)
I have following settings on my config:
"feature_states": [
{
"feature": {
"id": 103972,
"name": "ipqs_geo_ip",
"type": "STANDARD"
},
"enabled": true,
"django_id": 576867,
"feature_segment": null,
"featurestate_uuid": "04dcc7d5-b387-4668-8264-d30a2da2e111",
"feature_state_value": null,
"multivariate_feature_state_values": []
}
],
"identity_overrides": [
{
"identifier": "146433",
"environment_api_key": ...,
"created_date": "2024-08-26T17:45:31.959128Z",
"identity_features": [
{
"feature": {
"id": 103972,
"name": "ipqs_geo_ip",
"type": "STANDARD"
},
"enabled": false,
"django_id": null,
"feature_segment": null,
"featurestate_uuid": "964dd1e9-b34a-4bf7-9984-937abbba3f0e",
"feature_state_value": null,
"multivariate_feature_state_values": []
}
],
"identity_traits": [],
"identity_uuid": "8fd6de03-b834-41d2-b5ec-7076d00e6cd3",
"django_id": null,
"composite_key": "cfWNJQwEQkcAiKxSPFL2rv_146433"
}
],
However, identity overrides are ignored unless I disable offline mode.
The root cause must be that it is updated only here when API request is made and are not loaded from offline handler here.
In production, I'm also using the local file as a fallback for the case when Flagsmith is unavailable during app start, so it might become a problem in production in rare cases.
- Langage dominant
- Python
- Étoiles
- 24
- Forks
- 12
- Merge moyen
- 4 j 18 h
- PR mergées (30 j)
- 7
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Flagsmith/flagsmith-python-client
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 65/100
-
Dependency DashboardOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 68/100
-
Performance regression: v5 is 2–7× slower than v3.8.0 for local evaluationPeut-être à nouveau libre @khvn26 l’a pris il y a 156 jours, et aucune pull request n’est ouverte. Ouverte
Flagsmith/flagsmith-python-client#198 · 1 commentaire · 2 personnes assignées ·
Toutes les issues de Flagsmith/flagsmith-python-client
Issues similaires
-
New InternshipOuvertenew_internship
Difficulté 1/5 Moins d'une heure Accessibilité débutants 70/100
-
[BUG] Reports tab: "Unban" button tooltip shows raw `{{ip}}` placeholder instead of the IP addressOuvertebug javascript ui
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
bunkerity/bunkerweb#4001 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
PedestrianDynamics/pyFDS-Evac#476 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
google/differential-privacy#516 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
adobe-fonts/source-serif#153 ·