-
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
Split Terminating
into (soft) Terminating
and HardTerminating
#791
Split Terminating
into (soft) Terminating
and HardTerminating
#791
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
I think we need to update this line, too: https://github.com/jamsocket/plane/blob/main/plane/src/controller/proxy.rs#L128 |
One thought: there will be a small window of time during a deploy where it'll be possible for p2 to receive unparseable BackendState update messages. That's only for messages that have a HardTerminating BackendStatus, though, which I'm guessing are rare. If we really wanted to avoid this, we could put the type changes in their own commit that comes first in the PR, then update plane version to that specific commit, deploy, then update to the latest commit and deploy again. It's kind of a hassle though, and might not really be worth it. |
Terminating statuses are only created on the drone, so as long as we deploy the controller before the drones we should be fine. |
@paulgb Ah great point! |
6dc995a
to
2acaeba
Compare
Currently, we use
Terminating
to represent both soft and hard terminating. If a backend is hard-terminated while it is being soft-terminated (which is allowed), a backend goes from aTerminating
state to anotherTerminating
state. This is the only allowed state transition that does not move forward in the state sequence.The change in this PR is to split soft- and hard-
Terminating
states into their own separate states. Soft-termination keeps the nameTerminating
, and hard termination getsHardTerminating
. The fieldtermination
inTerminating
remains, but is deprecated, and can only be set toSoft
in the constructor.