Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Custom Fields removed from FeatureFlagConfigurationSetting #34545

Closed
mrm9084 opened this issue Feb 29, 2024 · 3 comments
Closed

Custom Fields removed from FeatureFlagConfigurationSetting #34545

mrm9084 opened this issue Feb 29, 2024 · 3 comments
Assignees
Labels
App Configuration Azure.ApplicationModel.Configuration bug This issue requires a change to an existing behavior in the product in order to be resolved.

Comments

@mrm9084
Copy link
Member

mrm9084 commented Feb 29, 2024

  • Package Name: azure-appconfiguration
  • Package Version: 1.5.0
  • Operating System: Windows 11
  • Python Version: 3.11

Describe the bug
When I make get/list configuration request to Azrue App Configuration any "custom" fields in FeatureFlagConfigurationSetting are ignored/removed.

To Reproduce
Steps to reproduce the behavior:

  1. Create a Feature Flag in the Azure App Configuration Portal with the following values:
{
    "id": "Beta",
    "description": "Matt's variant FF",
    "enabled": true,
    "variants": [
        {
            "name": "Off",
            "configuration_value": "Off",
            "status_override": "Enabled"
        },
        {
            "name": "On",
            "configuration_value": "On",
            "status_override": "Disabled"
        }
    ],
    "allocation": {
        "percentile": [
            {
                "variant": "Off",
                "from": 0,
                "to": 100
            }
        ],
        "user": [
            {
                "variant": "Off",
                "users": [
                    "Adam"
                ]
            }
        ],
        "seed": "adfsasdfzsd",
        "default_when_enabled": "Off",
        "default_when_disabled": "Off"
    }
}
  1. Load your configurations using beta = client.get_configuration_setting(key=".appconfig.featureflag/Beta")

If you look in the value of the feature flag all of the custom fields are missing.

Expected behavior
The SDK shouldn't remove customer data. The DotNet and Java SDKs support this.

NOTE: You are also removing some known fields like description.

Link to the currently GAed Schema: https://github.com/Azure/AppConfiguration/blob/main/docs/FeatureManagement/FeatureFlag.v1.1.0.schema.json

@github-actions github-actions bot added the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Feb 29, 2024
@mrm9084 mrm9084 added the App Configuration Azure.ApplicationModel.Configuration label Feb 29, 2024
@github-actions github-actions bot removed the needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. label Feb 29, 2024
@YalinLi0312
Copy link
Member

After investigating, I found the root cause is that we miss understood what the property "value" should be, we were assuming the value should always be this json schema which caused custom fields missing in our SDK result:
{"id": ..., "enabled": ..., "conditions": {"client_filters": [...]}}

Thanks for reporting the issue!

@YalinLi0312
Copy link
Member

Hi @mrm9084 , we've fixed the issue in version 1.6.0b2 . Please try on it, thanks!

@YalinLi0312 YalinLi0312 added the bug This issue requires a change to an existing behavior in the product in order to be resolved. label Mar 22, 2024
@mrm9084
Copy link
Member Author

mrm9084 commented Mar 25, 2024

@YalinLi0312, just validated seems good.

@mrm9084 mrm9084 closed this as completed Mar 25, 2024
@github-actions github-actions bot locked and limited conversation to collaborators Jun 23, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
App Configuration Azure.ApplicationModel.Configuration bug This issue requires a change to an existing behavior in the product in order to be resolved.
Projects
None yet
Development

No branches or pull requests

2 participants