Skip to content

Azure App Configuration GetConfiguration overwrites items with same key across different labels #4304

Description

@mtaghavi2005

Expected Behavior

When retrieving configuration items without specifying a label, all entries from Azure App Configuration should be returned, including those with the same key but different labels.

Each unique combination of key and label should be preserved.

Actual Behavior

When no label is provided, the component retrieves settings across all labels. However, items are stored in a map keyed only by the configuration key.

As a result:

  • entries with the same key but different labels overwrite each other
  • only one item per key is returned
  • the result is non-deterministic depending on iteration order
  • data from other labels is lost

If this behavior is by design, it would be helpful to explicitly document this limitation and clarify that callers should scope requests by label to avoid unintended data loss.

I could not find any info about this behavior here:
https://docs.dapr.io/reference/components-reference/supported-configuration-stores/azure-appconfig-configuration-store/

Steps to Reproduce the Problem

  1. Create two configuration entries in Azure App Configuration:

    • key: Config1, label: Development, value: value-dev
    • key: Config1, label: Production, value: value-prod
  2. Call GetConfiguration with an empty keys list and without specifying a label.

  3. Observe that:

    • only one item is returned for Config1
    • the returned value corresponds to only one of the labels (e.g., Development or Production)
    • the other labeled entry is overwritten and lost

Release Note

RELEASE NOTE:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions