Avro upgrade led to a mixture of slf4j versions. Hadoop uses slf4j 1.5.11, and avro brings in 1.6.1
Make hadoop-common use same version of avro as HBase
Remove dependency on different version of slf4j in avro
I committed this to 0.22 branch.
I am just getting the bits together for 0.22.
This is the consequence of avro upgrade in HADOOP-7646. I fixed that for mapreduce, but the new version of slf4j from avro is still propagating through downstream common and hdfs artifacts. This should fix it along with the HDFS counterpart jira.
SLF4J is a successor to commons logging. It does not bind you to a particular logging framework but is a meta logger like commons logging. It fixes some serious problems in the architecture of Commons logging. If you just add the slf4j-log4j.jar to your classpath then slf4j uses Log4j compatibly with everything else in Hadoop without any extra configuration.
If HADOOP-6807 was implemented, there'd be no nothing in Hadoop-common that uses SLF4J directly other than Avro
Incidentally, why does Avro use SLF4J and not commons-logging? It's inconvenient when libraries tell you what logging framework to use, which is why commons-logging is so useful -it has more back ends than anything else.
Also needs to be excluded from hadoop-common templates.
Integrated in Hadoop-Common-22-branch #90 (See https://builds.apache.org/job/Hadoop-Common-22-branch/90/)
HADOOP-7697. Add ignore slf4j in hadoop-common templates.
shv : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1177231
Integrated in Hadoop-Common-22-branch #88 (See https://builds.apache.org/job/Hadoop-Common-22-branch/88/)
HADOOP-7697. Remove ivy dependency on different version of slf4j in avro. Contributed by Konstantin Shvachko.
shv : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1177177
Ran test. This fixes problem for common.
The error message looks like this:
SLF4J: The requested version 1.5.11 by your slf4j binding is not compatible with [1.6]
SLF4J: See http://www.slf4j.org/codes.html#version_mismatch for further details.
It's all over the logs.
Need to adjust dependencies for ivy.