joseluisll commented on PR #8903:
URL: https://github.com/apache/hadoop/pull/8903#issuecomment-6629176121
Sorry, I misread your first comment as asking for exclusions.
**On overriding in `dependencyManagement`:** `hadoop-project/pom.xml`
already manages `slf4j-api` at `${slf4j.version}` (1.7.36). That's why Hadoop's
own build, tests and distribution resolve 1.7.36 on Jetty 12 even without this
patch. But it doesn't reach a downstream project: with Maven 3, when a consumer
resolves `hadoop-hdfs`, only the consumer's own `dependencyManagement` applies
to `hadoop-hdfs`'s transitive dependencies, not the one in `hadoop-hdfs`'s
parent.
**The risk:** For example a downstream test setup for `MiniDFSCluster` that
lists `hadoop-hdfs` before `hadoop-client`.
slf4j 2 ignores the 1.7 binding, so all logging goes to NOP, Hadoop's
included. The only sign is an `SLF4J(W): No SLF4J providers were found` warning
on stderr. Because `hadoop-client` needs `slf4j-api` at compile scope, the
2.0.17 version reaches the consumer's main classpath too, not only its tests.
On trunk the same project resolves 1.7.36.
The risk is narrow. Only `hadoop-hdfs`, `hadoop-hdfs-nfs` and
`hadoop-yarn-client` are affected, and only in consumers that list one of them
before `hadoop-client` and don't manage slf4j themselves.
`hadoop-minicluster`, `hadoop-client-minicluster` and the shaded clients are
unaffected.
I also checked the published artifacts of downstram projects: they declare
`slf4j-api` directly, the same thing this patch does, so neither their builds
nor their users are affected.
So, minimal risk, your call.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]