Installer classloader descends into share/rrd (probably crawls all of opennms.home)
Description
I've noticed that, on a particular system with nearly 11,000 directories under share/rrd/snmp, the installer seems to take forever to run; so much so that I typically just break out once it's done the library checks since there are no applicable schema changes.
Today I decided to do a thread dump to see what it's up to. Turns out it's in java.io.File.listFiles() six levels of recursion deep from org.opennms.install.Installer.install() (line 246). Sorry, I lost the clipboard of the trace; should be easy to reproduce so hit me up if you need it. I broke out, removed the symlink (share -> /var/opennms/rrd), ran the installer again, and it quickly completed successfully. Yes, I put the symlink back
I think this method is descending the whole OPENNMS_HOME tree when it's meant to stay under OPENNMS_HOME/lib.
Environment
Any system with a shedload of RRD files in OPENNMS_HOME/share/rrd :)
I ran into a hefty delay on a 10.3 snapshot update during the install script and also have a shedload of rrd directories. Will try the symlink removal trick on the full 10.3 release.
I've noticed that, on a particular system with nearly 11,000 directories under share/rrd/snmp, the installer seems to take forever to run; so much so that I typically just break out once it's done the library checks since there are no applicable schema changes.
Today I decided to do a thread dump to see what it's up to. Turns out it's in java.io.File.listFiles() six levels of recursion deep from org.opennms.install.Installer.install() (line 246). Sorry, I lost the clipboard of the trace; should be easy to reproduce so hit me up if you need it. I broke out, removed the symlink (share -> /var/opennms/rrd), ran the installer again, and it quickly completed successfully. Yes, I put the symlink back
I think this method is descending the whole OPENNMS_HOME tree when it's meant to stay under OPENNMS_HOME/lib.