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)