Skip to content

mxm/flakka

Repository files navigation

Flakka

This is a fork of Akka 2.3 for Apache Flink. This was necessary for FLINK-2821.

The general problem is that we want to be able to bind to all inferfaces (e.g. 0.0.0.0) instead of having to bind to the same address as we expect messages to be tagged with. Akka 2.4.x supports this but requires Java 8 and Scala 2.11. Flink targets Java 7 and Scala 2.10/2.11 which makes it impossible to switch to 2.4.x for now.

Flakka addresses this shortcoming and ports back the relevant change for the bind address to the latest version of Akka 2.3. The pull request applied, apart from the rebranding is here: akka/akka#15610

Building

Flakka can be build using the following command:

sbt clean compile -Dakka.scaladoc.diagrams=false

Tests then run fine with

sbt test

Deploying

This is a summary of the minimal changes taken from project/scripts/release.

First check if signing works:

sbt publish-local-signed -Dakka.scaladoc.diagrams=false

Add credentials for Sonatype in ~/.sbt/global.sbt:

credentials += Credentials("Sonatype Nexus Repository Manager", "oss.sonatype.org", "<your username>", "<your password>")

Then release:

sbt -Dakka.scaladoc.diagrams=false -Dakka.genjavadoc.enabled=true -Dpublish.maven.central=true +build-release

About Akka

We believe that writing correct concurrent, fault-tolerant and scalable applications is too hard. Most of the time it’s because we are using the wrong tools and the wrong level of abstraction.

Akka is here to change that.

Using the Actor Model we raise the abstraction level and provide a better platform to build correct concurrent and scalable applications.

For fault-tolerance we adopt the “Let it crash” model which the telecom industry has used with great success to build applications that self-heal and systems that never stop.

Actors also provide the abstraction for transparent distribution and the basis for truly scalable and fault-tolerant applications.

Akka is Open Source and available under the Apache 2 License.

Learn more at http://akka.io.