-
Notifications
You must be signed in to change notification settings - Fork 264
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
fix(platform): use updated configuration after check during syncs #91
Conversation
6af5f14
to
44a70bb
Compare
Airbyte Code Coverage
|
This PR is pending an addition of a feature flag using the changes from #79 , but reviewers, please review away! |
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.
Looks pretty close, I think we have some code duplication in how we build inputs, wondering if we could avoid some of it.
...c/main/java/io/airbyte/workers/temporal/scheduling/activities/GenerateInputActivityImpl.java
Show resolved
Hide resolved
...c/main/java/io/airbyte/workers/temporal/scheduling/activities/GenerateInputActivityImpl.java
Show resolved
Hide resolved
...kers/src/main/java/io/airbyte/workers/temporal/scheduling/ConnectionManagerWorkflowImpl.java
Outdated
Show resolved
Hide resolved
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, Letting @gosusnp to approve
...kers/src/main/java/io/airbyte/workers/temporal/scheduling/ConnectionManagerWorkflowImpl.java
Outdated
Show resolved
Hide resolved
I've now added the feature flag! We'll start by rolling this out to some test and later internal workspaces, followed by a full rollout once that's validated after one week. After seeing this live for everyone for another week we'll come back and remove the feature flag. |
...kers/src/main/java/io/airbyte/workers/temporal/scheduling/ConnectionManagerWorkflowImpl.java
Show resolved
Hide resolved
LGTM |
/approve-and-merge reason="looks safe" |
What
Migrated from airbytehq/airbyte#21899
fixes airbytehq/airbyte#20912
This PR builds on the changes introduced in airbytehq/airbyte#21629. While the aforementioned PR addressed using updated state/config values between attempts, this PR solves the issue of updating configuration within an attempt. This can happen when, for example, an oauth token is refreshed during the
check
operation that can run prior to the SyncWorkflow.How
This implements the second part of the solution as laid out in the tech spec, changing when we're generating the sync input and how we are generating the check inputs.
Before this change, the SyncWorkflow input was being generated at the start of the ConnectionManagerWorkflow, and was then converted into Check inputs if needed. The activities look something like this:
(these are snippets of diagrams, the full views can be found in the tech spec)
After this change, we separate the check input generation into its own activity method. Then, we can move the SyncWorkflow input generation to after the check activity runs. Because the previous PR updated the SyncWorkflow input generation activity to fetch latest configs, this will take into consideration any changes that happened during check.
This ends up looking something like this:
The change is versioned, so ConnectionManagerWorkflows that executed before this change will still follow the old path/behavior.
🚨 User Impact 🚨
No breaking change. Configs updated during check will now correctly be retrieved for the sync.