-
Notifications
You must be signed in to change notification settings - Fork 13
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
[teraslice] - Add execution controller restart logic in kubernetesV2 #3740
Conversation
I did a test where I created a new version of kafka-assets that has the List of assets I'm using: (command:
Jobfile testing new kafka that supports restarting:
Logs of execution pod that came up after deleting the execution pod with k8s api:
Jobfile testing
Logs of execution pod that came up after deleting the execution pod with k8s api (
End results of elasticsearch indices:
|
I've added new restart logic to the execution controller exit process that address some issues with the original implementation. Now when the execution process is exiting it will check for three things to be true in order to restart:
If all of the above conditions are met, the execution will set it's status to |
e6e41fb
to
35e4394
Compare
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.
Let's discuss this.
packages/teraslice/src/lib/workers/execution-controller/index.ts
Outdated
Show resolved
Hide resolved
I think we'll try and get away without using That being said, I definitely want to avoid re-using the |
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, please update version though
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.
Please bump the teraslice minor version.
7f2f717
to
c55e25b
Compare
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.
Actually, we have an unreleased 2.3.0, that's sufficient.
This PR makes the following changes:
New features
KubernetesV2
will have the ability to restart in a new pod automatically under certain conditionsSIGTERM
signal not associated with a job shutdown, and the slicer being restartable.isRestartable()
to the base slicerisRestartable()
will return aboolean
to tell wether the slicer is compatible with the restartable feature or not. This allows for an initial implementation forkafka
slicers without having to worry about the complexity of other slicers.refs: #1007