Hey Devs,
I am investigating why our application is sometimes going over the open file
limit of the linux servers we are on, and one of the things I have noticed so
far is that felix actually has an open file for every bundle twice! An example
here is given. It seems that the java.util.zip.ZipFile always has two open
files.
Is this something that is known? Could there be anything done to fix this so
that it’s at least only one open file per bundle? Our application has 800
bundles => 1600 open files goes to the bundles alone, not counting the embedded
jars that also count as an extra open file (which would result to 2200 open
files if you cound those too)
Greets,
Roy
#1648 /opt/application/launchpad/felix/bundle339/version0.0/bundle.jar by
thread:main on Fri Sep 18 16:09:01 CEST 2020
at java.base/java.io.RandomAccessFile.<init>(RandomAccessFile.java:216)
at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1271)
at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1237)
at
java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:727)
at
java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:844)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:247)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:191)
at
org.apache.felix.framework.util.SecureAction.openZipFile(SecureAction.java:651)
at
org.apache.felix.framework.util.WeakZipFileFactory$WeakZipFile.<init>(WeakZipFileFactory.java:169)
at
org.apache.felix.framework.util.WeakZipFileFactory$WeakZipFile.<init>(WeakZipFileFactory.java:151)
at
org.apache.felix.framework.util.WeakZipFileFactory.create(WeakZipFileFactory.java:78)
at
org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:83)
at
org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:793)
at
org.apache.felix.framework.cache.BundleArchive.reviseInternal(BundleArchive.java:480)
at
org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:215)
at
org.apache.felix.framework.cache.BundleCache.getArchives(BundleCache.java:432)
at org.apache.felix.framework.Felix.init(Felix.java:787)
at org.apache.felix.framework.Felix.init(Felix.java:641)
at org.apache.sling.launchpad.base.impl.Sling.init(Sling.java:347)
at org.apache.sling.launchpad.base.impl.Sling.<init>(Sling.java:212)
at
org.apache.sling.launchpad.base.app.MainDelegate$1.<init>(MainDelegate.java:180)
at
org.apache.sling.launchpad.base.app.MainDelegate.start(MainDelegate.java:180)
at org.apache.sling.launchpad.app.Main.doStart(Main.java:411)
at org.apache.sling.launchpad.app.Main.doStart(Main.java:347)
at org.apache.sling.launchpad.app.Main.main(Main.java:135)
#1370 /opt/application/launchpad/felix/bundle339/version0.0/bundle.jar by
thread:main on Fri Sep 18 16:09:01 CEST 2020
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:178)
at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:191)
at
org.apache.felix.framework.util.SecureAction.openZipFile(SecureAction.java:651)
at
org.apache.felix.framework.util.WeakZipFileFactory$WeakZipFile.<init>(WeakZipFileFactory.java:169)
at
org.apache.felix.framework.util.WeakZipFileFactory$WeakZipFile.<init>(WeakZipFileFactory.java:151)
at
org.apache.felix.framework.util.WeakZipFileFactory.create(WeakZipFileFactory.java:78)
at
org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:83)
at
org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:793)
at
org.apache.felix.framework.cache.BundleArchive.reviseInternal(BundleArchive.java:480)
at
org.apache.felix.framework.cache.BundleArchive.<init>(BundleArchive.java:215)
at
org.apache.felix.framework.cache.BundleCache.getArchives(BundleCache.java:432)
at org.apache.felix.framework.Felix.init(Felix.java:787)
at org.apache.felix.framework.Felix.init(Felix.java:641)
at org.apache.sling.launchpad.base.impl.Sling.init(Sling.java:347)
at org.apache.sling.launchpad.base.impl.Sling.<init>(Sling.java:212)
at
org.apache.sling.launchpad.base.app.MainDelegate$1.<init>(MainDelegate.java:180)
at
org.apache.sling.launchpad.base.app.MainDelegate.start(MainDelegate.java:180)
at org.apache.sling.launchpad.app.Main.doStart(Main.java:411)
at org.apache.sling.launchpad.app.Main.doStart(Main.java:347)
at org.apache.sling.launchpad.app.Main.main(Main.java:135)