flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephan Ewen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-10903) Shade Internal Akka Dependencies
Date Tue, 20 Nov 2018 16:57:00 GMT

    [ 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

View raw message