-
Notifications
You must be signed in to change notification settings - Fork 245
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: Termination of pull transfer process from consumer side not success #4688
base: main
Are you sure you want to change the base?
fix: Termination of pull transfer process from consumer side not success #4688
Conversation
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.
There are a lot of tests changed in a critical area of the codebase. Can you explain what those changes are and also, why @Nested
is being used?
@jimmarino, I used Actually, only one new test, |
Please do not do that, as it makes it difficult to review this PR. A PR should be limited and focused on the change, particularly in a critical part of the codebase. Please refocus this PR only on the change and tests to verify it, maintaining the test structure that is currently in place. |
@jimmarino structure of tests was rollbacked |
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 think we need to step back and go through what the expected behavior is when termination does not happen cleanly. The current PR will leave the connector in an inconsistent state if the data plane (or 'DataFlowManager`) returns a failure. For example, by leaving provisioned resources in place and not updating the transfer process.
Ideally, this would be handled by continuing the cleanup on the controller side and sending a data plane failure event to be reconciled by a listener. However, I'd prefer to discuss and design this before running into an implementation.
I'm going to mark the associated issue as triage so the committers can discuss this at our next meeting and come up with a plan for how to proceed.
@jimmarino thank you, I look forward to the decision. |
What this PR changes/adds
Start termination process from data flow manager for provider when termination initiated by consumer
Why it does that
During the termination of PULL transfer process from consumer, system does not call method terminate() from DataFlowManager on provider side.
As a result process not terminated in real but transfer process had state "TERMINATED", and then it is not possible to initiate terminating process again not from consumer neither form provider side.
Further notes
After provider moved to TERMINATED state, it also should move to the DEPROVISIONING automatically
Linked Issue(s)
Closes #4592
Please be sure to take a look at the contributing guidelines and our etiquette for pull requests.