-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
[CT-27] [Feature] invalidate the packages folder when packages.yml changes #4557
Comments
This is a very reasonable request. But running dbt deps on changes is a bigger lift because of the way that our tasks work. We are looking at the possibilities of splitting out the deps code, but that's probably not going to happen in the near future. We could do a similar thing to what we do in partial parsing, the complication there is that it would be easy to put it in the partial parse msgpack file, but that would mean you'd only get the checking when partial parsing is being used, so we'll have to put it in some other sort of state file. |
This issue has been marked as Stale because it has been open for 180 days with no activity. If you would like the issue to remain open, please remove the stale label or comment on the issue, or it will be closed in 7 days. |
Pragmatic me wants to say it's OK to only do this if partial parsing is enabled, but that sounds like it's signing us up to get a confusing bug report in a few months when someone without partial parsing gets caught out. Is there any technical aversion or added complexity to adding another state file for packages? |
This just bit me again - I updated my branch on our internal analytics project to get the new |
@dbeatty and I chatted about this again last week - written-up thoughts forthcoming |
I just noticed this log line:
does this mean dbt already knows what dependencies exist in a partial parsing context? |
@joellabes Yes - but only once parsing has begun, and the packages have already been installed. It isn't something that dbt knows as part of the Doug's write-up: #6643 The big idea in "Phase 2" comes down to: If we had a clean record of the packages installed the last time we ran |
This issue has been marked as Stale because it has been open for 180 days with no activity. If you would like the issue to remain open, please comment on the issue or else it will be closed in 7 days. |
This issue has been marked as Stale because it has been open for 180 days with no activity. If you would like the issue to remain open, please comment on the issue or else it will be closed in 7 days. |
Although we are closing this issue as stale, it's not gone forever. Issues can be reopened if there is renewed community interest. Just add a comment to notify the maintainers. |
@joellabes can we please reopen this issue? |
This issue has been marked as Stale because it has been open for 180 days with no activity. If you would like the issue to remain open, please comment on the issue or else it will be closed in 7 days. |
Comment to prevent closing |
Is there an existing feature request for this?
Describe the Feature
A frequent issue for both Cloud and Core users is that when you update your packages.yml file, if you don't remember to run
dbt deps
you will stay stuck on the old version.In the last couple of days I've seen a couple of cases of this (1, 2) in the rollout of utils 0.8.0.
What I'd like to see is something similar to partial parsing being invalidated when dbt_project.yml changes. When you change your packages.yml, if you don't run deps before your next dbt invocation, it should either fail with a clear warning (sort of like what it does when the number of packages listed in the file doesn’t match the number of directories installed), or even classier, run deps for you first.
Describe alternatives you've considered
Nothing?
Who will this benefit?
Pretty much everyone who uses packages has been bitten by this at some time or other.
Are you interested in contributing this feature?
maybe! Depends on how big a lift it'd be
Anything else?
No response
The text was updated successfully, but these errors were encountered: