Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[che-dev] Java extension is getting bigger

Hi folks,

We're now adding support for Quarkus. Since the extension contributes bundles to the jdt.ls process, it needs to run in the same container as jdt.ls. With our current plugin system, we only have the two options of either including Quarkus in the Java plugin or to make a separate one including Quarkus plus the Java stuff.

The first approach makes it impossible to turn off Quarkus support and we will always load the bundles, consuming resources. The second one makes it impossible to mix and match extensions that contribute bundles to jdt.ls (see https://github.com/spring-projects/sts4/blob/master/vscode-extensions/vscode-spring-boot/package.json, for example)

There has been discussion about this before: https://github.com/eclipse/che/issues/12395. I think we've come to a point where we need to solve the problem. There are two approaches I can think of:

1. Container merging

The idea here is that we run all plugins that rely on the same image in the same container. This would also reduce the number of containers we have to run in general. Since there is a non-zero overhead to running a container (even if it were just running a copy of the plugin-host process), this might also help us run with less resources

2. Shared plugins folder

The second idea is that all plugins in the system live in a shared directory that is available under the same path in all containers.

Personally, I like 1#

Could folks like Sergei K or Mario chime in on whether you see a way forward on this any time soon? Can you argue for 1 or 2 or do you see other solutions?

/Thomas








Back to the top