Fix DbtRunLocalOperator.partial() support#1609
Merged
Merged
Conversation
✅ Deploy Preview for sunny-pastelito-5ecb04 canceled.
|
Deploying astronomer-cosmos with
|
| Latest commit: |
c2e31ad
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://cb8d04fa.astronomer-cosmos.pages.dev |
| Branch Preview URL: | https://issue-1546.astronomer-cosmos.pages.dev |
There were a few tests taking a long time to run when using `hatch run tests.py3.9-2.9:test-cov`. This PR marks them as integration tests, since they try to connect to Object Storages
Closed
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1609 +/- ##
=======================================
Coverage 97.43% 97.43%
=======================================
Files 80 80
Lines 4943 4948 +5
=======================================
+ Hits 4816 4821 +5
Misses 127 127 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
pankajkoti
approved these changes
Mar 13, 2025
Contributor
|
I am merging the PR so that we can cherry-pick it in #1607 |
pankajkoti
pushed a commit
that referenced
this pull request
Mar 13, 2025
Since Cosmos 1.9.0, users who attempted to use:
```
DbtRunLocalOperator.partial(task_id="foo", project_dir="foo")
```
Started facing the issue:
```
File /usr/local/lib/python3.11/site-packages/airflow/models/baseoperator.py:284, in partial(operator_class, task_id, dag, task_group, start_date, end_date, owner, email, params, resources, trigger_rule, depends_on_past, ignore_first_depends_on_past, wait_for_past_depends_before_skipping, wait_for_downstream, retries, queue, pool, pool_slots, execution_timeout, max_retry_delay, retry_delay, retry_exponential_backoff, priority_weight, weight_rule, sla, map_index_template, max_active_tis_per_dag, max_active_tis_per_dagrun, on_execute_callback, on_failure_callback, on_success_callback, on_retry_callback, on_skipped_callback, run_as_user, executor, executor_config, inlets, outlets, doc, doc_md, doc_json, doc_yaml, doc_rst, task_display_name, logger_name, allow_nested_operators, **kwargs)
281 from airflow.models.dag import DagContext
282 from airflow.utils.task_group import TaskGroupContext
--> 284 validate_mapping_kwargs(operator_class, "partial", kwargs)
286 dag = dag or DagContext.get_current_dag()
287 if dag:
File /usr/local/lib/python3.11/site-packages/airflow/models/mappedoperator.py:123, in validate_mapping_kwargs(op, func, value)
121 names = ", ".join(repr(n) for n in unknown_args)
122 error = f"unexpected keyword arguments {names}"
--> 123 raise TypeError(f"{op.name}.{func}() got {error}")
TypeError: DbtRunLocalOperator.partial() got an unexpected keyword argument 'project_dir'`
```
This was introduced given the changes in how Cosmos operators subclass,
that was introduced to allow to dynamically chose which Airflow operator
is run during DAG rendering time.
Closes: #1546
To validate it, we introduced a new small dbt project and an example
DAG, and it can be tested by running:
```
airflow dags test example_task_mapping
```
Co-authored-by: Ash Berlin-Taylor <ash@astronomer.io>
(cherry picked from commit c8c148b)
pankajkoti
added a commit
that referenced
this pull request
Mar 13, 2025
tatiana
added a commit
that referenced
this pull request
Mar 17, 2025
Bug Fixes * Fix import error in dbt bigquery adapter mock for ``dbt-bigquery<1.8`` for ``ExecutionMode.AIRFLOW_ASYNC`` by @pankajkoti in #1548 * Fix ``operator_args`` override configuration by @ghjklw in #1558 * Fix missing ``install_dbt_deps`` in ``ProjectConfig`` ``__init__`` method by @ghjklw in #1556 * Fix dbt project parsing ``dbt_vars`` behavior passed via ``operator_args`` by @AlexandrKhabarov in #1543 * Avoid reading the connection during DAG parsing of the async BigQuery operator by @joppevos in #1582 * Fix: Workaround to incorrectly raised ``gcsfs.retry.HttpError`` (Invalid Credentials, 401) by @tatiana in #1598 * Fix the async execution mode read sql files for dbt packages by @pankajastro in #1588 * Improve BQ async error handling by @tatiana in #1597 * Fix path selector when ``manifest.json`` is created using MS Windows by @tatiana in #1601 * Fix log that prints 'Total filtered nodes' by @tatiana in #1603 * Fix select behaviour using ``LoadMode.MANIFEST`` and a path with star by @tatiana in #1602 * Support ``on_warning_callback`` with ``TestBehavior.BUILD`` and ``ExecutionMode.LOCAL`` by @corsettigyg in #1571 * Fix ``DbtRunLocalOperator.partial()`` support by @tatiana @ashb in #1609 * fix: ``container_name`` is null for ecs integration by @nicor88 in #1592 Docs * Improve MWAA getting-started docs by removing unused imports by @jx2lee in #1562 Others * Disable ``example_cosmos_dbt_build.py`` DAG in CI by @pankajastro in #1567 * Upgrade GitHub Actions Ubuntu version by @tatiana in #1561 * Update GitHub bug issue template by @pankajastro in #1586 * Enable DAG ``example_cosmos_dbt_build.py`` in CI by @pankajastro in #1573 * Run async DAG in DAG without setup/teardown task by @pankajastro in #1599 * Add test case that fully covers recent select issue by @tatiana in #1604 * Add CI job to test multiple dbt versions for the async DAG by @pankajkoti in #1535 * Improve unit tests speed from 89s to 14s by @tatiana in #1600 * Pre-commit updates: #1560, #1583, #1596 Closes: #1550 Mergeable version of #1607 Co-authored-by: Pankaj Singh <98807258+pankajastro@users.noreply.github.com> Co-authored-by: Pankaj Koti <pankajkoti699@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Since Cosmos 1.9.0, users who attempted to use:
Started facing the issue:
This was introduced given the changes in how Cosmos operators subclass, that was introduced to allow to dynamically chose which Airflow operator is run during DAG rendering time.
Closes: #1546
To validate it, we introduced a new small dbt project and an example DAG, and it can be tested by running:
Co-authored-by: Ash Berlin-Taylor ash@astronomer.io