In several Oozie actions we face the problem that if log4j.properties is not readable by current thread, or not present on the classpath, while taking an URL.openStream() call afterwards, an IOException is thrown and the action won't run.
Such actions are:
Extend LauncherMain.run() by a convenience method that loads Hadoop's log4j.properties in beforehand. In case URL.openStream() would throw IOException we resort to a call to a new file hadoop-default-log4j.properties on the classpath (packaged along w/ LauncherMain.class) that has the same contents as the log4j.properties that is not accessible / readable / present.
- links to