Miel Donkers created KARAF-7271:
-----------------------------------
Summary: Upgrade to org.ops4j.pax.url 2.6.7 (BND tools 5.2.0)
leads to big memory overhead
Key: KARAF-7271
URL: https://issues.apache.org/jira/browse/KARAF-7271
Project: Karaf
Issue Type: Bug
Components: karaf
Affects Versions: 4.2.12, 4.2.11
Reporter: Miel Donkers
Karaf 4.2.11 upgraded org.ops4j.pax.url from version 2.6.3 to 2.6.7
([https://github.com/apache/karaf/pull/1290/files)]
With that pax.url version, the bnd lib were updated from 2.3.0 to 5.2.0 (see
[https://github.com/ops4j/org.ops4j.pax.url/blob/11f5e7db4d6eace783c448349395f314b5498998/pom.xml#L68]
and
[https://github.com/ops4j/org.ops4j.pax.url/blob/7b59243313bb3cb3ddac3908680663a612e994f5/pom.xml#L68]
)
With this update of bnd lib, a issue was introduced (since bnd lib 4.0.0) where
even loading relatively small JAR files can lead to major memory overhead (JAR
file of 11 Mb needs 350+ Mb to get loaded). In memory-constrained environments,
for example running a Karaf application on Kubernetes with memory limits
applied, this will lead to issues where the app goes out of memory or gets
killed.
The problem was flagged with bnd lib here:
[https://github.com/bndtools/bnd/issues/4901]
And they already provided a fix:
[https://github.com/bndtools/bnd/commit/89743f9ed2554981934b71df301572665ef95dcd]
However at the moment of writing there is no new version of bnd yet including
the fix (and thus neither is there for org.ops4j.pax.url).
Requesting to update those dependencies whenever a fix is available and
released.
For reference the issue with org.ops4j.pax.url:
https://github.com/ops4j/org.ops4j.pax.url/issues/399
--
This message was sent by Atlassian Jira
(v8.3.4#803005)