{"record":{"id":"c9011285b13ff2ed","repo":"nautechsystems/nautilus_trader","slug":"unsupported-execution-verification-schema-version","errorCode":null,"errorMessage":"Unsupported execution verification schema version {installed}","messagePattern":"Unsupported execution verification schema version (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/adapters/blockchain/src/cache/database.rs","lineNumber":3691,"sourceCode":"    /// Loads the durable finalized-header and nonce position when verification is active.\n    pub(crate) async fn load_execution_verification_position(\n        &self,\n        chain_id: u32,\n        wallet_address: &str,\n        manifest_version: &str,\n        manifest_digest: &str,\n    ) -> anyhow::Result<Option<ExecutionVerificationPosition>> {\n        let installed = sqlx::query_scalar::<_, i16>(\n            \"SELECT version FROM execution_schema_version \\\n             WHERE component = 'evm_execution_verification'\",\n        )\n        .fetch_optional(&self.pool)\n        .await\n        .context(\"failed to inspect execution verification schema\")?;\n        let Some(installed) = installed else {\n            return Ok(None);\n        };\n        anyhow::ensure!(\n            installed <= VERIFICATION_SCHEMA_VERSION,\n            \"Unsupported execution verification schema version {installed}\"\n        );\n        let chain_id =\n            i32::try_from(chain_id).context(\"Verification chain ID exceeds PostgreSQL INTEGER\")?;\n        let current = sqlx::query_as::<_, (String, String, i64, i64)>(\n            \"\n            SELECT manifest_version, manifest_digest, next_canonical_nonce, revision\n            FROM execution_verification_nonce\n            WHERE chain_id = $1 AND wallet_address = $2\n            \",\n        )\n        .bind(chain_id)\n        .bind(wallet_address)\n        .fetch_optional(&self.pool)\n        .await\n        .context(\"failed to load execution verification nonce position\")?;\n        let Some((stored_version, stored_digest, nonce, revision)) = current else {","sourceCodeStart":3673,"sourceCodeEnd":3709,"githubUrl":"https://github.com/nautechsystems/nautilus_trader/blob/18893faf8b356be3320add8de2f861b0b647cf06/crates/adapters/blockchain/src/cache/database.rs#L3673-L3709","documentation":"Raised in database.rs:3691 (load_execution_verification_position) when the installed execution_verification schema version recorded in execution_schema_version exceeds VERIFICATION_SCHEMA_VERSION compiled into this binary. The library refuses to read verification state produced by a newer, unknown schema because row layouts and semantics may differ, preventing silent data corruption.","triggerScenarios":"Loading execution verification position when SELECT version ... WHERE component = 'evm_execution_verification' returns a value greater than VERIFICATION_SCHEMA_VERSION (e.g. database was upgraded by a newer build, then an older binary reads it).","commonSituations":"Downgrading the node to an older release after the verification schema was upgraded; pointing an older binary at a database migrated by a newer deployment; mixed-version blue-green deployment where the old instance reads state the new instance upgraded.","solutions":["Run the binary version that supports the installed verification schema version.","Inspect the installed version: SELECT version FROM execution_schema_version WHERE component = 'evm_execution_verification'; and confirm it matches your build's VERIFICATION_SCHEMA_VERSION.","Roll the database back from backup if the upgrade was unintended, or upgrade the application binary instead of downgrading.","Never hand-edit the version row to make an old binary accept new data."],"exampleFix":"// before: mismatched binary\ncode.examples\n// after: deploy the binary compiled against the installed verification schema\n// (upgrade application to a release whose VERIFICATION_SCHEMA_VERSION >= installed)","handlingStrategy":"validation","validationCode":"let installed: Option<i16> = sqlx::query_scalar(\n    \"SELECT version FROM execution_schema_version WHERE component = 'evm_execution_verification'\",\n).fetch_optional(&pool).await?;\nif installed.map_or(false, |v| v > VERIFICATION_SCHEMA_VERSION) {\n    anyhow::bail!(\"database verification schema {installed:?} newer than this binary\");\n}","typeGuard":null,"tryCatchPattern":"match db.load_execution_verification_position(chain, wallet, ver, digest).await {\n    Err(e) if e.to_string().contains(\"Unsupported execution verification schema version\") => {\n        // deploy the newer binary or restore the DB backup\n    },\n    other => other?,\n}","preventionTips":["Pin application and database schema versions together in deployment","Never downgrade the binary below the installed schema version","Alert on version rows changing outside migrations"],"tags":["database","schema","versioning","compatibility"],"backgroundTag":"unsupported-enum-value","analyzedSha":"18893faf8b356be3320add8de2f861b0b647cf06","analyzedAt":"2026-09-08T20:49:34.690Z","contentChangedAt":"2026-09-08T20:49:34.690Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}