Skip to content
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

[Tracking] Partial parsing polish #3371

Closed
1 task done
leahwicz opened this issue May 19, 2021 · 6 comments
Closed
1 task done

[Tracking] Partial parsing polish #3371

leahwicz opened this issue May 19, 2021 · 6 comments
Assignees

Comments

@leahwicz
Copy link
Contributor

leahwicz commented May 19, 2021

This is the list of work we want to complete to polish off partial parsing before we put it down and GA the v0.20.0 release

Todo:

@leahwicz leahwicz changed the title Partial parsing polish [Tracking] Partial parsing polish May 19, 2021
@gshank
Copy link
Contributor

gshank commented Jun 1, 2021

  • Handle doc references
  • Test macros
  • Test data tests, analyses
  • Test snapshots
  • Test seeds -- what happens with big files?
  • Test disabled/enabled
  • More logging, event data, including flag that partial parsing is actually happening
  • More granular handling of dbt_project.yml file (hooks, etc)
  • Minimum validation of yaml file: expected keys point to lists containing dictionaries with 'name' key
  • Figure out what's going on with to_dict and schema_source_file (pp_dict is supposed to be skipped but isn't)
  • Make all file_id methods properties so we are consistent in how they're called

@jtcohen6
Copy link
Contributor

jtcohen6 commented Jun 2, 2021

Thanks so much for the enumeration @gshank. Let's organize these into three priority groups:

  • p0: Add test cases, handle buggy behavior (i.e. errors that brick entire parse)
  • p1: Fast-but-wrong edge cases (e.g. changes to docs, nested macros, vars, env vars, "volatile" Jinja context variables)
  • p2: Correct-but-slower-than-strictly-necessary cases (e.g. changes to profile/target, certain behavior around vars)

@jtcohen6
Copy link
Contributor

jtcohen6 commented Jun 4, 2021

Some known p1 edge cases:

@leahwicz
Copy link
Contributor Author

leahwicz commented Jun 10, 2021

P0:

P2:

  • More granular handling of dbt_project.yml file (hooks, etc)
  • Handling of vars, env variables, etc.

@jtcohen6
Copy link
Contributor

jtcohen6 commented Jun 11, 2021

Handling of vars, env variables, etc.

We should split this up into more subtasks, and I think some of those subtasks should actually be p1s: dependencies on nested macros, env vars, and volatile Jinja variables are all "fast and incorrect" today.

@jtcohen6
Copy link
Contributor

I'm going to close this, given that it's the end of the cycle and we managed to hit all our P0s. Nice work team!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants