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

Luke Cwik commented on BEAM-4484:
---------------------------------

Options are:

1) Stop shading

2) Change package paths (either java or proto)

3) Try and find an option to disable this in the shade plugin

> Shading model-pipeline / model-fn-execution / model-job-management produces 
> corrupted classes
> ---------------------------------------------------------------------------------------------
>
>                 Key: BEAM-4484
>                 URL: https://issues.apache.org/jira/browse/BEAM-4484
>             Project: Beam
>          Issue Type: Bug
>          Components: runner-direct
>            Reporter: Luke Cwik
>            Assignee: Luke Cwik
>            Priority: Major
>
> During investigation for test failures on 
> [https://github.com/apache/beam/pull/5445,] I discovered that the the post 
> shaded beam-model-pipeline proto filedescriptors were corrupted. It turns out 
> that during the shading process, an over eager string replacement inside a 
> class is corrupting an internal field, in this case it modifies the RunnerApi 
> file descriptor storing
> {code:java}
> org.apache.beam.model.pipeline.v1.AccumulationMode.Enum{code}
> and changing it to
> {code:java}
> org.apache.beam.repackaged.beam_runners_direct_java.model.pipeline.v1.AccumulationMode.Enum{code}
> This problem exists because the proto package name and the java package name 
> collide and use org.apache.beam.model.pipeline.v1.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to