Jay Leon
08/05/2026, 10:36 AMkapa.ai
08/05/2026, 10:36 AMon-run-end hooks simultaneously, causing competing transactions on the same artifacts tables (e.g., dbt_models, dbt_tests, dbt_sources). [BQ concurrency]
Here are the recommended fixes:
Option 1: Disable Artifact Autoupload (Most Common Fix) Step 1 â Add this to your `dbt_project.yml`:
vars:
disable_dbt_artifacts_autoupload: true
This stops the on-run-end hook from writing to artifacts tables on every dbt run, removing the source of concurrent updates. [BQ concurrent runs]
Step 2 â Run artifacts manually in a single, controlled job (e.g., a dedicated Airflow task or CI/CD step):
dbt run --select elementary.edr.dbt_artifacts
> Note: disable_dbt_artifacts_autoupload only disables artifact uploads (item #3 of the hook). Test results and invocation data uploads are controlled by separate variables and are not affected. [BQ concurrent runs]
Option 2: Fully Decouple Elementary Writes Disable Elementary models from running during normal dbt run in `dbt_project.yml`:
models:
elementary:
edr:
+enabled: "{{ var('enable_elementary_models', false) }}"
Then update Elementary tables in a single dedicated, serial job:
dbt run --select elementary --vars '{enable_elementary_models: true}'
[Elementary hooks error]
Option 3: Serialize via Airflow Pools If you use Airflow, create a pool with a single slot and assign it to any task that triggers Elementary hooks. This ensures only one dbt job writes to Elementary tables at a time. [BQ concurrency]
The most commonly confirmed fix is Option 1 â disabling autoupload and running a single dedicated artifacts job. You can also check Elementary's official troubleshooting guide for parallel dbt jobs at docs.elementary-data.com/oss/general/troubleshooting#error-when-trying-to-run-parallel-dbt-jobs. [Elementary hooks error] đ 0 button đ 0 button âšī¸ Tip: Mention @elementary.ai in the thread for follow-ups or DM the app for 1-to-1 help.