Skip to content
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

Workspace is considered as STOPPED if start interruption is not implemented #9354

Closed
sleshchenko opened this issue Apr 6, 2018 · 2 comments
Labels
kind/bug Outline of a bug - must adhere to the bug report template. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. severity/P2 Has a minor but important impact to the usage or development of the system. status/open-for-dev An issue has had its specification reviewed and confirmed. Waiting for an engineer to take it.

Comments

@sleshchenko
Copy link
Member

sleshchenko commented Apr 6, 2018

Description

Workspace SPI is designed to allow InternalRuntime doesn't support start interruption.
In this case, it should be possible to stop only RUNNING workspaces.

But if start interruption is not supported by Infrastructure then the following scenario happens:
Initial state: Workspace status is STARTING, runtime start is in progress.

  1. A user makes a request to stop a workspace.
  2. WorkspaceRuntimes checks that status is starting, sets workspace status to STOPPING, and submit stopping stop task in another thread.
  3. A user receives 204 response code.
  4. InternalRuntime throws an exception because it is STARTING and doesn't support start interruption.
  5. WorkspaceRuntimes sets workspace status to STOPPED and remove InternalRuntime from memory storage.

As result, a runtime is still STARTING (and runtime related operation is performing like image pulling, containers starting, etc.). At the same time, the workspace is considered as STOPPED by Workspace API, and it is allowed to start workspace again.

Reproduction Steps

os-start-interruption

OS and version:

Diagnostics:

@sleshchenko sleshchenko added kind/bug Outline of a bug - must adhere to the bug report template. status/open-for-dev An issue has had its specification reviewed and confirmed. Waiting for an engineer to take it. team/platform labels Apr 6, 2018
@gazarenkov gazarenkov added the severity/P1 Has a major impact to usage or development of the system. label Apr 24, 2018
@artaleks9
Copy link
Contributor

Still actual for ver.6.5.0

@skabashnyuk skabashnyuk added severity/P2 Has a minor but important impact to the usage or development of the system. and removed severity/P1 Has a major impact to usage or development of the system. labels May 29, 2018
@che-bot
Copy link
Contributor

che-bot commented Sep 7, 2019

Issues go stale after 180 days of inactivity. lifecycle/stale issues rot after an additional 7 days of inactivity and eventually close.

Mark the issue as fresh with /remove-lifecycle stale in a new comment.

If this issue is safe to close now please do so.

Moderators: Add lifecycle/frozen label to avoid stale mode.

@che-bot che-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Sep 7, 2019
@che-bot che-bot closed this as completed Sep 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Outline of a bug - must adhere to the bug report template. lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. severity/P2 Has a minor but important impact to the usage or development of the system. status/open-for-dev An issue has had its specification reviewed and confirmed. Waiting for an engineer to take it.
Projects
None yet
Development

No branches or pull requests

5 participants