Hi,

It seems that test logging is broken in many modules (like core, flink)
because slf4j-api was upgraded to 2.x while slf4j-simple provider is still
on 1.7. I created a PR that upgraded slf4j-simple testImplementation to 2.x
for all subprojects.

https://github.com/apache/iceberg/pull/11001

That fixed the test logging problem (e.g. TestInMemoryCatalog). You can
find more details in the PR description. Test logging seems to have been
broken for a while (from 1.4). But those dep problems have been for *test
runtime only*.

Recent change [1] on Avro 1.12.0 introduced slf4j-api 2.x change for
runtime, as verified by the cmd below on the *main branch*.

./gradlew -q :iceberg-core:dependencyInsight --dependency slf4j-api
--configuration runtimeClasspath

This thread is to raise awareness on the slf4j-api dep change to 2.x as
downstream projects/applications can be affected. Looking forward to
feedback on the path forward.

   1. continue the current upgrade path and document the slf4j-api 2.x
   change in the next 1.7 release. But we need to be cautious of not porting
   the Avro 1.12.0 / slf4j-api 2.x change to the 1.6 branch.
   2. exclude slf4j-api transitive deps from Avro and other test deps so
   that Iceberg stays on slf4j 1.7. If that is the direction to go, we won't
   need  PR #11001.


Thanks,
Steven

[1] https://github.com/apache/iceberg/pull/10879

Reply via email to