{"record":{"id":"75f529c0fc0b29db","repo":"influxdata/influxdb","slug":"record-id-record-id-exceeds-the-cluster-s-committed-feature","errorCode":null,"errorMessage":"record id {record_id} exceeds the cluster's committed feature level (core={}, enterprise={}); the cluster must finish upgrading before this operation is available","messagePattern":"record id (.+?) exceeds the cluster's committed feature level \\(core=(.+?), enterprise=(.+?)\\); the cluster must finish upgrading before this operation is available","errorType":"error_code","errorClass":"CatalogError","httpStatus":null,"severity":"critical","filePath":"influxdb3_catalog/src/error.rs","lineNumber":345,"sourceCode":"    CannotDeleteOperatorToken,\n\n    #[error(\n        \"cannot change the configured generation duration for level {level}; \\\n        attempted to set to {attempted:#} but its already set to {existing:#}\"\n    )]\n    CannotChangeGenerationDuration {\n        level: u8,\n        existing: Duration,\n        attempted: Duration,\n    },\n\n    #[error(\"cannot add column {name} because it already exists with type {existing}\")]\n    DuplicateColumn {\n        name: Arc<str>,\n        existing: InfluxColumnType,\n    },\n\n    #[error(\n        \"record id {record_id} exceeds the cluster's committed feature level (core={}, enterprise={}); \\\n        the cluster must finish upgrading before this operation is available\",\n        committed.core,\n        committed.enterprise,\n    )]\n    RecordExceedsCommittedFeatureLevel {\n        record_id: u16,\n        committed: FeatureLevel,\n    },\n\n    #[error(\n        \"this node's feature level (core={}, enterprise={}) is below the cluster's committed level (core={}, enterprise={}); upgrade required\",\n        local.core,\n        local.enterprise,\n        committed.core,\n        committed.enterprise,\n    )]\n    NodeBelowCommittedFeatureLevel {","sourceCodeStart":327,"sourceCodeEnd":363,"githubUrl":"https://github.com/influxdata/influxdb/blob/06200ef96ba82c5f6727e5038a83af8e722c6875/influxdb3_catalog/src/error.rs#L327-L363","documentation":"Thrown when a catalog record (WAL/log entry) carries a record id larger than the feature level the cluster has committed to. This means a node tried to write or apply an operation the cluster has not agreed to support yet, indicating an incomplete or inconsistent upgrade.","triggerScenarios":"A node with a newer binary writes records beyond the committed FeatureLevel; replaying WAL/catalog segments written by a newer version against an older committed level; enterprise/core level mismatch during rolling upgrades.","commonSituations":"Rolling upgrade interrupted midway; downgrading a node then restarting against a newer catalog log; mixed-version clusters where one node is ahead of the committed level.","solutions":["Finish the cluster upgrade so all nodes run the target version and the committed feature level advances.","Verify all node binaries are the same version (no downgraded nodes remain).","Re-run the feature-level commit/upgrade step after all nodes report readiness.","Restore from a backup taken before the mixed-version writes if the log is corrupted."],"exampleFix":"// before\n// mixed-version writes proceed silently\n// after\nlet committed = catalog.committed_feature_level();\nassert!(local_level <= committed, \"node ahead of committed level; complete upgrade first\");","handlingStrategy":"try-catch","validationCode":"if record.record_id() > committed.max_record_id() {\n    return Err(\"record exceeds committed feature level; finish upgrade\".into());\n}","typeGuard":null,"tryCatchPattern":"match result {\n    Err(CatalogError::RecordExceedsCommittedFeatureLevel { committed, .. }) => {\n        log::error!(\"mixed-version writes detected; committed={committed:?}\");\n    }\n    other => other?,\n}","preventionTips":["Never run mixed-version clusters longer than the upgrade window","Complete feature-level commit after all nodes upgrade","Block downgrades once the level has advanced"],"tags":["upgrade","feature-level","catalog"],"backgroundTag":"incompatible-source-type","analyzedSha":"06200ef96ba82c5f6727e5038a83af8e722c6875","analyzedAt":"2026-09-19T12:55:30.003Z","contentChangedAt":"2026-09-19T12:55:30.003Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}