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]

Reply via email to