-
Notifications
You must be signed in to change notification settings - Fork 40
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
can a schema refresh reset only the affected stream #752
Comments
So Why prefect and not celery ? because we want to show it as locked , is it & block them from clicking stuff which might be more work in celery ? |
yes prefect because we want all airbyte tasks to run through prefect so that they don't run in parallel and overload the machine |
I see, got it. Okay i will take this up. |
Yes. The entry point is when the user approves the changes in the dialog, and we currently show a spinner while updating the connection. Once updated the dialog should close and the spinner should be showing on that connection in the list view |
The schema change prefect deployment will need to do the following
|
but how do we reset affected streams manually? i don't think there's an api for that, which is why we need to use |
There is an api for this. The way we trigger (or prefect triggers) sync , in the same way we can trigger reset and also pass the streams we want to reset. This is that api |
ohhhhhhhhh well then this gets a lot easier can we just pass the specific streams to |
Yes we can, so basically we update the reset connection flow in proxy to take a list of streams and then pass it in the big config dictionary as param. Also we do sync + reset via the |
oh, because locking is by deployment? that's a good point, yes then we can have one (manual) deployment per connection and we pass parameters to tell it what to do that's what you're saying? |
Yes locking is by deployment (for a connection_id) That's what I meant. And then when we can achieve the deployment concurrency (it will be out in a month, prefect team told), which will make sure for any connection only 1 job is running (sync, reset or sync+reset). |
I will make these changes also in this issue/PR itself. |
Spec (also includes #815 ) @fatchat let me know what you think. We can discuss on discord.
|
In
airbytehelpers.update_connection_schema
we are settingskipReset=True
. We did this because resets and syncs need to be run through Prefect; we trigger them inairbyte_service.update_schema_change
usingtrigger_reset_and_sync_workflow
right after the schema changes are approvedThe problem is that
trigger_reset_and_sync_workflow
applies to the entire connection and not to the individual streams whose schemas changedProposing the following solution: we run
update_connection_schema
withskipReset=False
from a Prefect deploymentThe text was updated successfully, but these errors were encountered: