You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Could not generate the report - Error: validation error for ExposureSchema. It's similar to #827
To Reproduce
Configure the exposure owner to:
owner:
name: abcdefg
Expected behavior
edr report or edr send-report to run without errors
Screenshots
INFO — Running with edr=0.16.1
INFO — Installing packages for edr internal dbt package...
INFO — Running dbt command --log-format json deps --project-dir /opt/venv/lib/python3.11/site-packages/elementary/monitor/dbt_project
INFO — edr (0.16.1) and Elementary's dbt package (0.16.0) are compatible.
INFO — Elementary's database and schema: '"abc.efg"'
INFO — Running dbt command --log-format json run-operation elementary.log_macro_results --args {"macro_name": "elementary_cli.get_test_results", "macro_args": {"days_back": 7, "invocations_per_test": 720, "disable_passed_test_metrics": false}} --project-dir /opt/venv/lib/python3.11/site-packages/elementary/monitor/dbt_project
INFO — Running dbt command --log-format json run-operation elementary.log_macro_results --args {"macro_name": "elementary_cli.get_source_freshness_results", "macro_args": {"days_back": 7, "invocations_per_test": 720}} --project-dir /opt/venv/lib/python3.11/site-packages/elementary/monitor/dbt_project
INFO — Running dbt command --log-format json run-operation elementary.log_macro_results --args {"macro_name": "elementary_cli.get_models", "macro_args": {"exclude_elementary": true}} --project-dir /opt/venv/lib/python3.11/site-packages/elementary/monitor/dbt_project
Running dbt command --log-format json run-operation elementary.log_macro_results --args {"macro_name": "elementary_cli.get_sources", "macro_args": {}} --project-dir /opt/venv/lib/python3.11/site-packages/elementary/monitor/dbt_project
Running dbt command --log-format json run-operation elementary.log_macro_results --args {"macro_name": "elementary_cli.get_exposures", "macro_args": {}} --project-dir /opt/venv/lib/python3.11/site-packages/elementary/monitor/dbt_project
ERROR — Could not generate the report - Error: 1 validation error for ExposureSchema
INFO - [base] owners
INFO - [base] value is not a valid list (type=type_error.list)
INFO - [base] Please reach out to our community for help with this issue.
INFO - [base] Traceback (most recent call last):
INFO - [base] File "/opt/venv/lib/python3.11/site-packages/elementary/monitor/api/report/report.py", line 72, in get_report_data
INFO - [base] exposures = models_api.get_exposures(upstream_node_ids=lineage_node_ids)
INFO - [base] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INFO - [base] File "/opt/venv/lib/python3.11/site-packages/elementary/monitor/api/models/models.py", line 158, in get_exposures
INFO - [base] exposures_results = self.models_fetcher.get_exposures()
INFO - [base] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INFO - [base] File "/opt/venv/lib/python3.11/site-packages/elementary/monitor/fetchers/models/models.py", line 72, in get_exposures
INFO - [base] exposures = [ExposureSchema(**exposure) for exposure in exposures]
INFO - [base] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
INFO - [base] File "/opt/venv/lib/python3.11/site-packages/elementary/monitor/fetchers/models/models.py", line 72, in <listcomp>
INFO - [base] exposures = [ExposureSchema(**exposure) for exposure in exposures]
INFO - [base] ^^^^^^^^^^^^^^^^^^^^^^^^^^
INFO - [base] File "/opt/venv/lib/python3.11/site-packages/pydantic/v1/main.py", line 341, in __init__
INFO - [base] raise validation_error
INFO - [base] pydantic.v1.error_wrappers.ValidationError: 1 validation error for ExposureSchema
INFO - [base] owners
INFO - [base] value is not a valid list (type=type_error.list)
Environment (please complete the following information):
Elementary CLI (edr) version: 0.16.1
Elementary dbt package version: 0.16.0
dbt version you're using: 1.8.6
Data warehouse: BigQuery
Infrastructure details: prod
Additional context
I think we need updates to the _load_var_to_list method here
When running load_owners method in ArtifactSchema, it calls the cls._load_var_to_list(owners)method
_load_var_to_list will return abcdefg and not a list
Would you be willing to contribute a fix for this issue?
Yes. I think either need to adjust how the owners is returned from self.models_fetcher.get_exposures() or adjust __load_var_to_list method.
The text was updated successfully, but these errors were encountered:
Thanks for reporting @arthurcw !
Interesting - I'd expect _load_var_to_list to work correctly since try_load_json would return None and we'd return a list with a single string as a result.
Though admittedly the code is confusing so maybe there's a bug there. In any case if you have a fix please feel free to submit a PR.
Describe the bug
Could not generate the report - Error: validation error for ExposureSchema. It's similar to #827
To Reproduce
Configure the exposure owner to:
Expected behavior
edr report or edr send-report to run without errors
Screenshots
Environment (please complete the following information):
Additional context
I think we need updates to the
_load_var_to_list
method herecls._load_var_to_list(owners)
method_load_var_to_list
will returnabcdefg
and not a listWould you be willing to contribute a fix for this issue?
Yes. I think either need to adjust how the
owners
is returned from self.models_fetcher.get_exposures() or adjust__load_var_to_list
method.The text was updated successfully, but these errors were encountered: