-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
✨ Source Harvest: Migrate to Low Code #35863
Conversation
…py with low-code version.
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
…ample config files
… metadata, and pyproject.toml accordingly
…nd updates to/from transformations to be strings
…:airbytehq/airbyte into pnilan/source-harvest-low-code-migration
I appreciate the detailed explanation. I'm in as long as we are aware of the reason of this behavioral change and you think it's more correct 👍 . |
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.
Approving! From a behavioral standpoint our regression test tool did not detect any alarming anomaly, quite the opposite as I think you fixed missing records on the following streams:
- invoice_payments
- project_assignments
- invoice_messages
(you might want to add that to the release notes).
I'll let @katmarkham validate the breaking change messaging is correct.
I do think they are probably used in the destination as otherwise the report records do not provide any cursor values, so it could be used to track changes in reporting values over time. |
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 haven't rechecked but I'll approve based on @alafanechere's approval to unblock the merge
@pnilan, LGTM! |
Updated and confirmed the new per-partition state causes a breaking change. Your comment uncovered a potential issue with I'll document this in an issue and dig a little deeper -- but it seems like a state format validation may be necessary. My hypothesis is that the incorrect state format was causing the read function to "error out" and return 0 records, resulting in a passing test. |
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
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.
@pnilan I re-ran the regression test tool on the PR (to benefit from the latest feature addition to the tool).
I noticed a change in the catalog and wanted to make sure you are aware of it and it's fine:
{
"type_changes": {
"root[1]['default_cursor_field']": {
"old_type": "list",
"new_type": "NoneType",
"old_value": [
"updated_at"
],
"new_value": null
},
"root[1]['source_defined_cursor']": {
"old_type": "bool",
"new_type": "NoneType",
"old_value": true,
"new_value": null
}
},
"iterable_item_removed": {
"root[1]['supported_sync_modes'][1]": "incremental"
}
}
root[1]
refers to the second stream defined in the catalog.
@alafanechere Thanks for the catch. I believe this was a mistake on my end. I think it should be fixed now but would you be able to confirm? |
I confirm the catalogs are matching now 👍 |
What
^0
config_migrations.py
to add new requiredauth_type
property to configconfig_migrations.py
test_source.py
,unit_test.py
, andtest_streams.py
tests. Addsfreezegun
dev dependency.🚨 Breaking changes
estimate_messages
invoice_messages
invoice_payments
project_assignments
expenses_clients
expenses_categories
expenses_projects
expenses_team
time_clients
time_projects
time_tasks
time_team
uninvoiced