{"record":{"id":"4532470e2c48e711","repo":"dbt-labs/dbt-core","slug":"from-config-failed-to-serialize-snowflakedescribe","errorCode":null,"errorMessage":"from_config: Failed to serialize SnowflakeDescribeResults: {e}","messagePattern":"from_config: Failed to serialize SnowflakeDescribeResults: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/dbt-adapter/src/relation/relation_impl.rs","lineNumber":596,"sourceCode":"/// alone, so only this direction is decided here.\nfn target_lag_newly_set(desired_state: &RelationConfig, current_state: &RelationConfig) -> bool {\n    matches!(\n        (target_lag_of(current_state), target_lag_of(desired_state)),\n        (Some(None), Some(Some(_)))\n    )\n}\n\nfn dynamic_table_config_changeset_from_local_config(\n    local_config: &dyn InternalDbtNodeAttributes,\n    relation_results_value: &Value,\n) -> Result<Value, minijinja::Error> {\n    let config_relation_type = SnowflakeConfigRelationType::of(local_config);\n    let relation_results = SnowflakeDescribeResults::from_value_with_key(\n        relation_results_value,\n        config_relation_type.describe_result_key(),\n    )\n    .map_err(|e| {\n        minijinja::Error::new(\n            minijinja::ErrorKind::SerdeDeserializeError,\n            format!(\"from_config: Failed to serialize SnowflakeDescribeResults: {e}\"),\n        )\n    })?;\n\n    let loader = config_relation_type.loader();\n    let current_state = loader.from_remote_state(&relation_results)?;\n    let desired_state = loader.from_local_config(local_config)?;\n\n    let mut changeset = RelationConfig::diff(&desired_state, &current_state);\n    if config_relation_type == SnowflakeConfigRelationType::InteractiveTable\n        && target_lag_newly_set(&desired_state, &current_state)\n    {\n        changeset = changeset.forcing_full_refresh();\n    }\n\n    if changeset.is_empty() {\n        Ok(none_value())","sourceCodeStart":578,"sourceCodeEnd":614,"githubUrl":"https://github.com/dbt-labs/dbt-core/blob/0267ce9170576975b76b64ce856b2e5848e96617/crates/dbt-adapter/src/relation/relation_impl.rs#L578-L614","documentation":"While building the dynamic-table config changeset, the parsed Snowflake DESCRIBE results could not be serialized back into a Value — the describe output did not round-trip through SnowflakeDescribeResults' expected shape (missing/extra fields), surfacing as a serialization error at from_config.","triggerScenarios":"Thrown at crates/dbt-adapter/src/relation/relation_impl.rs:596 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check that the Snowflake DESCRIBE output matches SnowflakeDescribeResults' fields for this role/edition","Add serde defaults for optional describe columns so partial output round-trips","Propagate the serde error with field context instead of a generic message"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0267ce9170576975b76b64ce856b2e5848e96617","analyzedAt":"2026-09-07T21:53:39.732Z","contentChangedAt":"2026-09-07T21:53:39.732Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}