-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Extensions running in the main Theia container should update memory limit for Theia #14511
Comments
This is a nice ux improvement IMO. We should also take care of this when the user wants to install a plug-in in an already running workspace (from the IDE - plugin panel). |
Issues go stale after Mark the issue as fresh with If this issue is safe to close now please do so. Moderators: Add |
/remove-lifecycle stale |
cc: @davidfestal @l0rd seems that this could be something taken into account with a new devfile spec |
@amisevsk we definitely need to address this issue. I am not sure how we could address that in the new spec though. I would rather consider it an implementation issue. |
@l0rd the spec-specific fix I was thinking about was that non-sidecar containers currently cannot specify their memory/cpu requirements, so in the example we wouldn't know how much to increase the main Theia container's limit. |
Ok I see. We currently specify mem/cpu requirements at the container level. For a plugin with no containers we cannot specify the mem/cpu requirements. |
Issues go stale after Mark the issue as fresh with If this issue is safe to close now please do so. Moderators: Add |
Is your enhancement related to a problem? Please describe.
While most extensions we currently support have additional dependencies and thus have to run in a sidecar, some extensions run fine in the main Theia container. For these extensions, it would be better to not provision an additional sidecar with memory limit if possible.
This however, could run into an issue where installing plugins into the main Theia container causes memory issues. If a particularly memory-hungry plugin is added, it could cause the container to be killed, crashing the workspace.
Describe the solution you'd like
Revise the plugin meta.yaml schema to support specifying a memory requirement for extensions that do not run in a sidecar
When starting a workspace, add the specified memory requirement for all sidecar plugins to the memory limit given for the main Theia container. For example, if my workspace has
512M
256Mi
(note, the vscode-yaml extension in this example would not have acontainers
field, and specify its memory requirement in another way)the workspace should be started with a default memory limit of
512 + 256 = 768Mi
to prevent memory issues.Describe alternatives you've considered
Doing nothing also works, but could result in a case where adding a plugin to the workspace causes the Theia container to crash. This would have to be resolved by manually increasing the memory allocated to the main Theia container. This could also be managed by specifying a generous default for Theia to accommodate a few local plugins.
Additional context
#13555
The text was updated successfully, but these errors were encountered: