As it exists today, native-hadoop libraries are loaded automatically if libhadoop.so is present; however we have sporadically seen issues (
HADOOP-1545) since native direct-buffers aren't very well understood. The only way to switch off usage of these is to remove the native libraries which is a maintenence issue for large clusters...
Hence I propose we add a per-job config knob: hadoop.native.lib (set to true by default) which can be used to control usage of native libraries even when the libraries are present e.g. we can have hadoop installed with native libraries present and then use this knob to switch off their usage in rare cases we see issues with them; thus aiding maintenence.