-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mashumaro incompatibility: node.external.partitions returned as string instead of dict #11044
Comments
Thanks for reporting this @thomasgjerdekog ! I'm not seeing an obvious code difference between dbt-core 1.8.8 and 1.8.9 that explains what you're seeing, so I'm guessing it is via some dependency. Could you share all the dbt versions for your dependencies in each of those different environments? Assuming that you're using pip to install dbt-core, you can run something like this to get those versions: pip list | grep '^dbt-' Output might look something like this:
|
Hi @dbeatty10 pip freeze | grep "^dbt-"
dbt-adapters==1.7.0
dbt-common==1.10.0
dbt-core==1.8.8
dbt-extractor==0.5.1
dbt-osmosis==0.12.8
dbt-semantic-interfaces==0.5.1
dbt-snowflake==1.8.4 New (not working): pip freeze | grep "^dbt-"
dbt-adapters==1.10.2
dbt-common==1.13.0
dbt-core==1.8.9
dbt-extractor==0.5.1
dbt-osmosis==0.12.8
dbt-semantic-interfaces==0.5.1
dbt-snowflake==1.8.4 I tried experimenting a bit with downgrading the dbt-adapters and dbt-common packages prior to submitting this issue, but I wasn't able to resolve the install conflicts since dbt-core 1.8.9 depends on protobuf >= 5.0 while versions of dbt-adapters prior to 1.10.0 depend on protobuf < 5.0 |
Running into the same issue on dbt-core 1.7.18 and dbt-redshift 1.7.7 with dbt-external-tables 0.10.0. It looks like pinning mashumaro to 3.13.1 is fixing the issue for us. |
Pinning mashumaro also worked for us. |
Edit: Sorry, seems like I had to clear my venv. Pinning mashumaro to 3.13.1 worked for me as well. PS: 3.14 also works |
flagging that multiple users of dbt-external-tables are experiencing this and reported in dbt-labs/dbt-external-tables#325 |
Is this a regression in a recent version of dbt-core?
Current Behavior
In dbt 1.8.9 it seems like the behavior of node.external.partitions has changed. It used to return a list of dicts, but now it seems to return a list of json strings.
This seems to be causing problems for dbt-external-tables when trying to create external tables with partitions defined.
I'm using this macro to compare the behaviors:
dbt 1.8.8:
dbt 1.8.9:
Expected/Previous Behavior
I expect node.external.partitions to be a list of dicts so that the values can be accessed by looping the list and addressing with i.e.
partition.name
Steps To Reproduce
testtable.yml
with external and partition set. I.e.:dbt run-operation get_partitions
Relevant log output
No response
Environment
Which database adapter are you using with dbt?
snowflake
Additional Context
No response
The text was updated successfully, but these errors were encountered: