-
Notifications
You must be signed in to change notification settings - Fork 80
remove redundant reconcile config params #2150
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
base: main
Are you sure you want to change the base?
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2150 +/- ##
==========================================
- Coverage 65.24% 65.01% -0.24%
==========================================
Files 100 100
Lines 8506 8464 -42
Branches 876 876
==========================================
- Hits 5550 5503 -47
- Misses 2769 2773 +4
- Partials 187 188 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
✅ 51/51 passed, 10 flaky, 3m26s total Flaky tests:
Running from acceptance #3072 |
gueniai
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
asnare
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We're modifying a versioned configuration file that we store in the user's workspace, so we really need to deal with compatibility and ensure there is test coverage for compatibility.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure what the changes in here are, this looks like static documentation setup rather than content-related?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is reconcile notebook exported as html from databricks workspace. the change in the notebook is deleting the removed config
| source_schema: str | ||
| target_catalog: str | ||
| target_schema: str | ||
| tables: list[Table] | ||
| source_catalog: str | None = None |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we're changing the schema of something we store in the user's workspace, I think we need:
- To bump the version number.
- Tests for the migration/loading path.
Even if loading ignores (now unknown) fields, an older version of the code will choke if it tries to load an instance persisted with this new schema.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
since this is a backwards compatible change, I didn't bump the version. So I added a test for testing that.
, an older version of the code will choke if it tries to load an instance persisted with this new schema.
And I am not aware of any forward-compatibility support in blueprint. or did I misunderstood something?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's the issue:
an older version of the code will choke if it tries to load an instance persisted with this new schema.
The scenario is:
- Someone runs with this version of the code.
- The file is created.
- For whatever reason (downgrade, cut'n'paste to another team-member, different environment), someone runs an older version of the code.
This leads to:
- If the version is not bumped: the older version will choke because it expects fields that are missing.
- If the version is bumped: the older version will detect that it can't be loaded and raise an
IllegalStateerror with something like "expected version 1, got 2".
Both are errors, but the second one is controlled and expected, and also much easier to diagnose.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
got it. just pushed version 2
| job_id: str | None = None | ||
| tables: ReconcileTablesConfig | None = None |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also here, regarding version/schema change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we can bump the version but I would not (here at least).
- this was never set in the old code and has no impact on the existing installations
- Implement databricks creds manager #2123 bumps the version so no need to do it wice
- these are optional values so the older code will continue working
sundarshankar89
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Changes
What does this PR do?
Remove redundant reconcile config
Resolves #518
Functionality
databricks labs lakebridge ...Tests