MetricSign
EN|NLRequest Access
Medium severityconfiguration

Power BI Refresh Error:
CompilationError

What does this error mean?

A dbt command using the state:modified selector failed because no comparison manifest was found at the path specified by the --state flag.

Common causes

  • 1The --state path points to a directory that does not contain a manifest.json from a prior production run
  • 2The CI pipeline did not download the production artifacts before running dbt with --select state:modified
  • 3The dbt Cloud job's Compare Changes configuration was not set up or the deferred job was deleted
  • 4A fresh environment has no previous manifest because it has never completed a successful run

How to fix it

  1. 1Step 1: Confirm that manifest.json exists at the path provided to --state: ls -la ./prod-artifacts/.
  2. 2Step 2: In CI/CD pipelines, add a step to download the production manifest before running dbt — use dbt Cloud's artifacts API or your object storage bucket.
  3. 3Step 3: In dbt Cloud, configure the job's 'Defer to a previous run state' setting to reference the production environment's latest successful run.
  4. 4Step 4: For first-run environments, run dbt build without state selection to establish a baseline, then switch to state:modified for subsequent runs.

Frequently asked questions

Where should I store the production manifest in a CI/CD pipeline?

Common patterns: download from dbt Cloud's artifacts API using the admin token, store the manifest in S3/GCS/ADLS after each production run, or use dbt Cloud's native deferred CI feature which handles artifact management automatically.

Can state:modified cause false positives and run models that did not change?

Yes — changes to upstream sources, macros, or package versions are detected as modifications. This is intentional: dbt re-runs any model whose full compiled SQL has changed, including indirect dependencies.

Other configuration errors