Hi,
I have spent last couple of days trying to find and fix Kafka tests
instabilities on Travis and I think I have finally found the main reason:
dependency conflict on Netty. flakka was pulling in 3.8 and zookeeper 3.10.
Effect was very subtle, because rarely in some corner cases (but not always)
Netty was deadlocking itself…
Because of that I would like to enable dependencyConvergence rule in
maven-enforcer-plugin project wide - it catches this error immediately:
Dependency convergence error for io.netty:netty:3.10.5.Final paths to
dependency are:
+-org.apache.flink:flink-connector-kafka-0.9_2.11:1.4-SNAPSHOT
+-org.apache.kafka:kafka_2.11:0.9.0.1
+-org.apache.zookeeper:zookeeper:3.4.10
+-io.netty:netty:3.10.5.Final
and
+-org.apache.flink:flink-connector-kafka-0.9_2.11:1.4-SNAPSHOT
+-org.apache.flink:flink-runtime_2.11:1.4-SNAPSHOT
+-com.data-artisans:flakka-remote_2.11:2.3-custom
+-io.netty:netty:3.8.0.Final
Currently this rule fails with multiple errors, but after those lost couple of
days I’m pretty determined to fix all of them “just in case”.
dependencyConvergence rule would protect us in the future against such nasty
subtle bugs. Does anyone have any objections/issues that I’m not aware of?
Piotrek