Extensions running in the main Theia container should update memory limit for Theia
See original GitHub issueIs 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
- Theia, with a default memory limit of
512M
- vscode-yaml, with a memory request of
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. - Theia, with a default memory limit of
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
Issue Analytics
- State:
- Created 4 years ago
- Comments:8 (8 by maintainers)
Top GitHub Comments
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
180
days of inactivity.lifecycle/stale
issues rot after an additional7
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.