In https://gerrit.wikimedia.org/r/c/wikimedia-event-utilities/+/857779, I made an attempt at downgrading the Guava dependency of wikimedia-event-utilities to avoid conflicts with different deployed versions. This turned out to be harder than expected, so we removed guava from refinery-source instead.
It seems that we still have a conflict with Spark 3 and Hadoop though, and I believe @Milimetric had a similar problem with Flink/Iceberg.
To avoid issues like this, ideally we could remove Guava from wikimedia-event-utilities too. We can get most of the way there by replacing all direct usages of guava, e.g. ImmutableList, Resource, etc. However, Guava is still a transitive dependencies of the JSONSchema validator library event-utilities uses, so we can't totally eliminate it. Instead, we could isolate the transitive Guava dependency by putting the JSONSchema validator code into a standalone module.
- Remove all direct uses of Guava
- Create new maven module for code that transitively uses Guava, with shaded version of the artifact jar.