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
I have searched the existing issues, and I could not find an existing issue for this feature
I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion
Describe the feature
Right now we are doing the parsing and generating a manifest object as part of the runtime_initialization under task.
This makes this important step of dbt hidden under multiple layer of inheritance.
This also makes use need to do hacky solutions to fit the usecases of dbt-server where we want to have some endpoint do parsing upon files being modified, and saves some kind of manifest object for faster dbt invocation.
In order to resolve this, we should refactor out the ManifestTask out of the inheritance chain of tasks into it's own module. Then we will initialize tasks that need parsing of the project with a constructed manifest that generated by the refactored out Manifest loader.
One thing tbd is where we want the compile step to happen after this refactor. (Stu: created #6708 to address abstract graph generation as well)
The text was updated successfully, but these errors were encountered:
github-actionsbot
changed the title
[Feature] Refactor tasks to breakout parsing the manifest into a separate piece
[CT-1582] [Feature] Refactor tasks to breakout parsing the manifest into a separate piece
Dec 2, 2022
Everything that happens after a full manifest is provided
One thing tbd is where we want the compile step to happen after this refactor.
For now, let's keep compilation as a step that happens separately from & subsequent to parsing. The important steps of compilation are:
Interpolating ephemeral model CTEs into models that ref() them — this actually mutates the manifest
Building a networkx graph from the manifest — which is different for dbt build, versus other commands, because build wants additional test edges
We can think in the future about whether we want to perform that first step (ephemeral model interpolation), and mutate the manifest, before caching it. We can also think about whether we want to additionally create & cache the graph object, created by compilation, for additional performance speedup. We might want to create two graph objects, one for build and one for non-build commands.
Is this your first time submitting a feature request?
Describe the feature
Right now we are doing the parsing and generating a manifest object as part of the
runtime_initialization
under task.This makes this important step of
dbt
hidden under multiple layer of inheritance.This also makes use need to do hacky solutions to fit the usecases of dbt-server where we want to have some endpoint do parsing upon files being modified, and saves some kind of manifest object for faster dbt invocation.
In order to resolve this, we should refactor out the
ManifestTask
out of the inheritance chain of tasks into it's own module. Then we will initialize tasks that need parsing of the project with a constructed manifest that generated by the refactored out Manifest loader.One thing tbd is where we want the compile step to happen after this refactor. (Stu: created #6708 to address abstract graph generation as well)
The text was updated successfully, but these errors were encountered: