[ 
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)

Reply via email to