Skip to content

Akka.NET v1.3.3 Stable Release

Compare
Choose a tag to compare
@Aaronontheweb Aaronontheweb released this 19 Jan 20:46
· 2536 commits to dev since this release
9bff5e8

1.3.3 January 19 2019

Maintenance Release for Akka.NET 1.3

The largest changes featured in Akka.NET v1.3.3 are the introduction of Splint brain resolvers and WeaklyUp members in Akka.Cluster.

Akka.Cluster Split Brain Resolvers
Split brain resolvers are specialized IDowningProvider implementations that give Akka.Cluster users the ability to automatically down Unreachable cluster nodes in accordance with well-defined partition resolution strategies, namely:

  • Static quorums;
  • Keep majority;
  • Keep oldest; and
  • Keep-referee.

You can learn more about why you may want to use these and which strategy is right for you by reading our Splint brain resolver documentation.

Akka.Cluster WeaklyUp Members
One common problem that occurs in Akka.Cluster is that once a current member of the cluster becomes Unreachable, the leader of the cluster isn't able to allow any new members of the cluster to join until that Unreachable member becomes Reachable again or is removed from the cluster via a Cluster.Down command.

Beginning in Akka.NET 1.3.3, you can allow nodes to still join and participate in the cluster even while other member nodes are unreachable by opting into the WeaklyUp status for members. You can do this by setting the following in your HOCON configuration beginning in Akka.NET v1.3.3:

akka.cluster.allow-weakly-up-members = on

This will allow nodes who have joined the cluster when at least one other member was unreachable to become functioning cluster members with a status of WeaklyUp. If the unreachable members of the cluster are downed or become reachable again, all WeaklyUp nodes will be upgraded to the usual Up status for available cluster members.

Akka.Cluster.Sharding and Akka.Cluster.DistributedData Integration
A new experimental feature we've added in Akka.NET v1.3.3 is the ability to fully decouple Akka.Cluster.Sharding from Akka.Persistence and instead run it on top of Akka.Cluster.DistributedData, our library for creating eventually consistent replicated data structures on top of Akka.Cluster.

Beginning in Akka.NET 1.3.3, you can set the following HOCON configuration option to have the ShardingCoordinator replicate its shard placement state using DData instead of persisting it to storage via Akka.Persistence:

akka.cluster.sharding.state-store-mode = ddata

This setting only affects how Akka.Cluster.Sharding's internal state is managed. If you're using Akka.Persistence with your own entity actors inside Akka.Cluster.Sharding, this change will have no impact on them.

Updates and bugfixes:

You can see the full changeset for Akka.NET 1.3.3 here.

COMMITS LOC+ LOC- AUTHOR
17 2094 1389 Marc Piechura
13 5426 2827 Bartosz Sypytkowski
12 444 815 Aaron Stannard
11 346 217 ravengerUA
3 90 28 zbynek001
3 78 84 Maxim Cherednik
2 445 1 Vasily Kirichenko
2 22 11 Ismael Hamed
2 11 9 Nicola Sanitate
1 9 10 mrrd
1 7 2 Richard Dobson
1 33 7 Ivars Auzins
1 30 11 Will
1 3 3 HaniOB
1 11 199 Jon Galloway
1 1 1 Sam Neirinck
1 1 1 Irvin Dominin