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

Stephan Ewen commented on FLINK-10903:
--------------------------------------

*Akka Shading*

It is not easily possible to shade the akka dependency. There seems to be an 
issue with shading Scala code in some cases. If I understand it correctly 
because the Scala compiler actually adds additional information into 
annotations that do not get processed by the shade plugin.

*Updating the Akka Version*

Bumping the Akka version looks easily possible. However, in the past we were 
quite badly hit by subtle changes in Akka's behavior after such version bumps, 
especially around gating and quarantining. For that reason, we decided to be 
super conservative when bumping the Akka version, because such behavior changes 
can easily break the availability / recovery of Flink in certain cases. I would 
personally like to refrain from bumping this now, especially if there are other 
solutions to explore.

*Child-first classloading*

It should actually be possible to use different akka versions in the 
application code than Flink uses. The application jar is loaded in a separate 
classloader "child-first", which should allow it to load a different Akka 
version.

*Hiding Akka in the Runtime*

We are actually plan to hide Akka and Scala in the runtime by loading it in a 
separate classloader all together. The parent class loader of the application 
would never see Scala and Akka dependencies. There is some investigation going 
on, we should be opening some issues with details about that in a bit.



> Shade Internal Akka Dependencies
> --------------------------------
>
>                 Key: FLINK-10903
>                 URL: https://issues.apache.org/jira/browse/FLINK-10903
>             Project: Flink
>          Issue Type: Wish
>            Reporter: Luka Jurukovski
>            Priority: Minor
>
> Akka is not a publicly exposed API but is something that forces developers 
> (particularly in Scala) to use an older version. It would be nice if this was 
> shaded so that developers are free to use the version of their choosing 
> without needing to worry about binary backwards compatibility, or in the case 
> that a user is forced to use parent first classloading



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

Reply via email to