You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Maksym Rymar (Jira)" <ji...@apache.org> on 2022/09/30 11:44:00 UTC

[jira] [Comment Edited] (DRILL-8321) Change kafka_2.13 dependency scope to test

    [ https://issues.apache.org/jira/browse/DRILL-8321?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17611526#comment-17611526 ] 

Maksym Rymar edited comment on DRILL-8321 at 9/30/22 11:43 AM:
---------------------------------------------------------------

[~pj.fanning] Yes, I was thinking about this too. One way is to replace [https://github.com/phatak-dev/java-sizeof] with [https://github.com/DimitrisAndreou/memory-measurer] or even with a fork from the last written on a pure java 8 [https://github.com/shihyuho/memory-measurer] . Another way is to try to implement something own, as this library is used only for one special place.

The third way is to use pure java method https://docs.oracle.com/en/java/javase/11/docs/api/java.instrument/java/lang/instrument/Instrumentation.html#getObjectSize(java.lang.Object)


was (Author: mrymar):
[~pj.fanning] Yes, I was thinking about this too. One way is to replace [https://github.com/phatak-dev/java-sizeof] with [https://github.com/DimitrisAndreou/memory-measurer] or even with a fork from the last written on a pure java 8 [https://github.com/shihyuho/memory-measurer] . Another way is to try to implement something own, as this library is used only for one special place.

> 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: 1.20.3
>
>
> 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)