You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Jean-Baptiste Onofré (JIRA)" <ji...@apache.org> on 2016/12/08 12:46:58 UTC

[jira] [Comment Edited] (BEAM-1092) Shade commonly used libraries (e.g. Guava) to avoid class conflicts

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

Jean-Baptiste Onofré edited comment on BEAM-1092 at 12/8/16 12:46 PM:
----------------------------------------------------------------------

Guava is one library that we should shade, but we have the same issue with Protobuf (with Hive or HBase for instance).


was (Author: jbonofre):
Guava is one library that we should shade, but we have the same issue with Protobuf (with Hive for instance).

> Shade commonly used libraries (e.g. Guava) to avoid class conflicts
> -------------------------------------------------------------------
>
>                 Key: BEAM-1092
>                 URL: https://issues.apache.org/jira/browse/BEAM-1092
>             Project: Beam
>          Issue Type: Bug
>          Components: examples-java, sdk-java-extensions
>    Affects Versions: 0.3.0-incubating
>            Reporter: Maximilian Michels
>            Assignee: Frances Perry
>             Fix For: 0.4.0-incubating
>
>
> Beam shades away some of its dependencies like Guava to avoid user classes from clashing with these dependencies. Some of the artifacts, e.g. KafkaIO, do not shade any classes and directly depend on potentially conflicting libraries (e.g. Guava). Also, users might manually add such libraries as dependencies.
> Runners who add classes to the classpath (e.g. Hadoop) can run into conflict with multiple versions of the same class. To prevent that, we should adjust the Maven archetypes pom files used for the Quickstart to perform shading of commonly used libraries (again, Guava is often the culprit).
> To prevent the problem in the first place, we should expand the shading of Guava and other libraries to all modules which make use of these. 
> To solve both dimensions of the issue, we need to address:
> 1. Adding shading of commonly used libraries to the archetypes poms
> 2. Properly shade all commonly used libraries in the SDK modules
> 2) seems to be of highest priority since it affects users who simply use the provided IO modules.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)