-
Notifications
You must be signed in to change notification settings - Fork 19
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
Problem with versioned models?! #48
Comments
Thank you for taking the time to put this together, @smilingthax! I've attempted to replicate this result, but I've not been able to get dbt-loom/dbt-core to yield this same compilation error. I have a suspicion that there may be an incompatibility being exposed here between different versions of dbt-core and how they represent node |
I am not sure my issue is related but it seems like it is: I am having similar errors like
This error happens with seeds however. This error even happens when trying to run models unrelated to the seed file and model in the error. In the first project, there are no errors when running or compiling. I tried running with I have looked at the manifest.json from project A and I can see the seed node, however, when looking at the manifest generated from the run in project B, I can only see the seed node as a dependency from the staging model but doesn't seem to be injected as a node itself. |
It is not a transient error, I can reproduce it with a "clean install": Dockerfile.bug:
Then:
This could probably be minified even more... the Dockerfile is simply based on https://github.com/dbt-labs/dbt-core/blob/main/docker/Dockerfile; I also believe in some incompatibility, but I have no clue what to try next.... @theodotdot : A - somewhat similar - problem with seeds has already been fixed in 0.5.1 (are you using the newest version of dbt-loom?): #47 , but it is AFAICT unrelated to this issue. |
@smilingthax Thanks for the Dockerfile! This should make it much easier to replicate the issue. Also, kudos for confirm that this isn't transient. I'll dig into replicating the issue this afternoon 👍🏻 In the meantime, please let me know if you find any more leads. |
@smilingthax Quick update on this: I've determined that the difference seems to be due to how
The resolution, then is two fold:
|
@smilingthax I have a PR (#50) that I believe resolves this defect. I'll leave this up for a day or so if you want to give that branch a test with your dbt implementation. Let me know if you have any feedback! |
The string-conversation of #50 in |
Describe the bug
To Reproduce
git clone https://github.com/nicholasyager/dbt-loom
(to retrievetest_projects/
)dbt-loom/test_projects/revenue
rundbt deps
,dbt build
,dbt run
dbt-loom/test_projects/customer_success
rundbt deps
, trydbt build
ordbt run
Expected behavior
The test project from the dbt-loom repository should compile without errors.
Other projects which use versioned models also compile without errors.
python:3.12-bookworm
-based container running on amd64 linux0.5.1
1.7.14
, also1.7.13
Additional context
This first happened in my own project, but just using the
test_projects
from the dbt-loom repository exhibits the same behaviour.AFAICT the corresponding node name/id in
revenue/target/manifest.json
is"model.revenue.orders.v1"
, whereas incustomer_success/target/manifest.json
the injected(?) node seems to be called"model.revenue.orders.v1.0"
– but some/all(?) references to it (depends_on
, ...) still use the "original""model.revenue.orders.v1"
name/id, which then cannot be found, as said in the error message (... depends on 'model.revenue.orders.v1' which is not in the graph!
)...Non-versioned models seem to be unaffected / work fine.
The text was updated successfully, but these errors were encountered: