-
Notifications
You must be signed in to change notification settings - Fork 246
Description
Hello
I saw that when publishing larger VSIX files (around 300 MB or more), the extension version is created but stays inactive and therefore isn’t visible in the registry.
After some investigation:
- The extension appears in the database with active = false.
- In the backend logs I see a java.lang.OutOfMemoryError: Java heap space during PublishExtensionVersionHandler.publishAsync.
- The process never reaches the final activateExtension(...) call, so the version remains inactive.
When I increased the JVM heap for the backend container to 2 GB ( _JAVA_OPTIONS=-Xms2g -Xmx2g, 1 GB was not enough), publishing the same VSIX started working and the version became active as expected.
So currently the only workaround I found is to drastically increase the heap size of the backend for large extensions.
Env
OpenVSX version: 0.27.0 (self-hosted)
JVM: OpenJDK 17 (Temurin)
Backend heap:
1G → fails with Java heap space on ~300 MB VSIX
2G → succes
Question
Is this behavior expected for large VSIX files? Would you consider optimizing the publishing so that large extensions don’t require such a large heap (or at least fail instead of leaving the version inactive for such errors, because the CLI message was misleading, saying that it was published successfully)? Looked into the other releases after v0.27.0 and I did not see anything related to this in the change logs.