Details
Description
Currently Hadoop's RunJar will unjar the jar provided and look for any jars inside and add them to the classpath. Since most deployments doesn't use jar in jar, but rather uberjars this could be rather time consuming at times and can cause issues related to over consumption of inodes, for something that is in many cases is not used.
For that purpose there should be an env variable to disable this behavior.
Edit: As requested by ajisakaa in person here is a more detailed description of the issues we are trying to solve with this.
A good chunk of our workloads are packaged in an uberjar, and are launched as a separate process using the hadoop jar cli. This is has generally been working out pretty well historically, with sub second launch times and good client isolation. Since bumping the host OS to a version patched with Meltdown/Specter patches we do see from time to time load becoming very high even with only a few client processes running and a single unjar process taking up to 10min.
While another simple approach would be to abandon using the hadoop jar cli this would most likely take a lot more work than simply disabling unjar for the time being.