hasura/graphql-engine · error · CompatibilityError

duplicate compatibility config found

Error message

duplicate compatibility config found

What it means

Two or more compatibility configuration entries overlap for the same date/range, so resolution is ambiguous.

Source

Thrown at v3/crates/compatibility/src/config.rs:29

    // TODO: add flags.
}

#[derive(Clone, Debug, PartialEq, serde::Serialize, opendds_derive::OpenDd)]
#[serde(rename_all = "camelCase")]
#[serde(deny_unknown_fields)]
#[opendd(json_schema(id = "v2/CompatibilityConfig"))]
/// The compatibility configuration of the Hasura metadata.
pub struct CompatibilityConfigV2 {
    /// Any backwards incompatible changes made to Hasura DDN after this date won't impact the metadata.
    pub date: CompatibilityDate,
    // TODO: add flags.
}

#[derive(Debug, PartialEq, thiserror::Error)]
pub enum CompatibilityError {
    #[error("no compatibility config found")]
    NoCompatibilityConfigFound,
    #[error("duplicate compatibility config found")]
    DuplicateCompatibilityConfig,
    #[error("compatibility date {specified} is too old, oldest supported date is {oldest}")]
    DateTooOld {
        specified: CompatibilityDate,
        oldest: CompatibilityDate,
    },
    #[error("compatibility date {0} is in the future")]
    DateInTheFuture(CompatibilityDate),
}

View on GitHub (pinned to 724551b9ae)

Solutions

  1. Search the compatibility config source for entries matching the same date and remove duplicates
  2. Validate config after generation/merge to assert uniqueness
  3. Regenerate the config from a canonical source
Defensive patterns

Strategy: validation

Validate before calling

const dates = configs.map(c => c.date);
if (new Set(dates).size !== dates.length) throw new Error('duplicate compatibility config');

Prevention

When it happens

Trigger: Loading compatibility configs where multiple entries match a single compatibility date, e.g. duplicated entries in the config file or overlapping ranges.

Common situations: Copy-pasted entries in a compatibility config file; merged config files containing the same date twice; tooling that appends instead of replaces entries.

Related errors


AI-assisted analysis of hasura/graphql-engine@724551b9ae (2026-08-28). Data as JSON: /api/errors/12e62af83b5117ae. Report an issue: GitHub.