[ https://issues.apache.org/jira/browse/DRILL-8321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17611063#comment-17611063 ]
ASF GitHub Bot commented on DRILL-8321: --------------------------------------- rymarm opened a new pull request, #2662: URL: https://github.com/apache/drill/pull/2662 # [DRILL-8321](https://issues.apache.org/jira/browse/DRILL-8321): Change kafka_2.13 dependency scope to test ## Description Move `org.apache.kafka.kafka_2.13` to test dependency scope. It prevents conflict between Scala versions of `org.apache.kafka.kafka_2.13` (Scala 2.13) and `com.madhukaraphatak.java-sizeof_2.11` (Scala 2.11). Solves such exceptions that could appear during Drill-On-Yarn startup: ``` Caused by: java.util.ServiceConfigurationError: com.fasterxml.jackson.databind.Module: Provider com.fasterxml.jackson.module.scala.DefaultScalaModule could not be instantiated ... Caused by: java.lang.NoSuchMethodError: 'scala.collection.immutable.Seq$ scala.package$.Seq()' ``` Also, it cleans Drill's classpath from unnecessary dependencies. Probably `org.apache.kafka.kafka_2.13` was added to compile scope by mistake. ## Documentation No changes. ## Testing Unit tests pass successfully. Tried to connect to Kafka and read a topic - everything works fine. > Change kafka_2.13 dependency scope to test > ------------------------------------------- > > Key: DRILL-8321 > URL: https://issues.apache.org/jira/browse/DRILL-8321 > Project: Apache Drill > Issue Type: Task > Affects Versions: 1.20.2 > Reporter: Maksym Rymar > Assignee: Maksym Rymar > Priority: Minor > Fix For: 2.0.0 > > > Drill has 2 scala dependencies: > * {{org.apache.kafka.kafka_2.13}} > * {{com.madhukaraphatak.java-sizeof_2.11}} > which are targets on different scala versions 2.13 and 2.11. But Scala has no > backward compatibility for major releases, so we can’t have 2 libraries > compiled on various versions of scala. > To solve the issue there are only 2 ways: > # Compile both libraries on the same major Scala version. > # Remove one of the libraries from Drill > {{kafka_2.13}} is server side (kafka’s server side) dependency and is > unnecessary on the client side (Drill). Probably, it was added carelessly to > Drill to a compile scope, while it is necessary only in a test scope. > So {{kafka_2.13}} can be removed from compile scope. It will reduce the Drill > package size and the main – it will solve scala version conflict. -- This message was sent by Atlassian Jira (v8.20.10#820010)