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