open-feature / open-feature/flagd

[ADR] Create ADR to Address Handling of Duplicate Flagset IDs Across Multiple Sources in `flagd`

Open
#1,810 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Needs Triage
Dominant language
Go
Stars
998
Forks
136
Avg merge
4d 8h
Merged PRs (30d)
11

Description

Context:
As outlined in https://github.com/open-feature/flagd/issues/1809, flagd currently does not handle scenarios where the same flagset ID is defined across multiple sources. This unimplemented state results in a lack of synchronization or reconciliation between sources, which can lead to confusion or unpredictable behavior for users. While the documentation will be updated to clarify this limitation, a long-term solution is needed to address this gap in functionality.

Goal:
The goal of this issue is to create an Architectural Decision Record (ADR) to explore and define a solution for supporting better handling of cases where multiple sources define the same flagset ID.

Scope of the ADR

The ADR should address the following:

  1. Problem Definition:
    Clearly define the problem, referencing https://github.com/open-feature/flagd/issues/1809 for context.
  2. Analysis of Options:
    Explore potential approaches to handle scenarios where multiple sources define the same flagset ID. This could include:
  3. Trade-offs:
    Evaluate the trade-offs for each option, including complexity, performance impact, and user experience.
  4. Proposed Solution:
    Recommend the most viable approach and outline the steps for implementation.
  5. Future Considerations:
    Identify potential extensions or risks associated with the decision.
Deliverables
  • A finalized ADR that documents the analysis and decision-making process.
  • A clear proposed path forward for implementing the chosen solution to resolve the unimplemented state.
Benefits

By creating this ADR, we aim to:

  • Provide a structured framework for addressing this limitation in flagd.
  • Ensure the solution is well-documented and considers the needs of users and the maintainability of the system.
  • Align development efforts with a clear, shared understanding of the architectural approach.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Read issue #1809 and the existing duplicate-flag-keys ADR at docs/architecture-decisions/duplicate-flag-keys.md, especially the referenced decision. Compare that decision with current duplicate flagset behavior, then document the options, trade-offs, recommendation, implementation path, and future risks in a finalized ADR.

Written by the indexing model from the issue text.

Assessment

Domain
backend-api-design, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.