github akkadotnet/akka.net 1.5.0-alpha1
Akka.NET v1.5.0-alpha1

latest releases: 1.5.31, 1.5.30, 1.5.29...
pre-release2 years ago

1.5.0-alpha1 August 22 2022

Akka.NET v1.5.0-alpha1 is a major release that contains a lot of code improvement and rewrites/refactors. Major upgrades to Akka.Cluster.Sharding in particular.

Deprecation

Some codes and packages are being deprecated in v1.5

Changes

Akka

Akka.Cluster

Akka.Cluster.Sharding

The Akka.Cluster.Sharding changes in Akka.NET v1.5 are significant, but backwards compatible with v1.4 and upgrades should happen seamlessly.

Akka.Cluster.Sharding's state-store-mode has been split into two parts:

  • CoordinatorStore
  • ShardStore

Which can use different persistent mode configured via akka.cluster.sharding.state-store-mode & akka.cluster.sharding.remember-entities-store.

Possible combinations:

state-store-mode remember-entities-store CoordinatorStore mode ShardStore mode
persistence (default) - (ignored) persistence persistence
ddata ddata ddata ddata
ddata eventsourced (new) ddata persistence

There should be no breaking changes from user perspective. Only some internal messages/objects were moved.
There should be no change in the PersistentId behavior and default persistent configuration (akka.cluster.sharding.state-store-mode)

This change is designed to speed up the performance of Akka.Cluster.Sharding coordinator recovery by moving remember-entities recovery into separate actors - this also solves major performance problems with the ddata recovery mode overall.

The recommended settings for maximum ease-of-use for Akka.Cluster.Sharding going forward will be:

akka.cluster.sharding{
  state-store-mode = ddata
  remember-entities-store = eventsourced
}

However, for the sake of backwards compatibility the Akka.Cluster.Sharding defaults have been left as-is:

akka.cluster.sharding{
  state-store-mode = persistence
  # remember-entities-store (not set - also uses legacy Akka.Persistence)
}

Switching over to using remember-entities-store = eventsourced will cause an initial migration of data from the ShardCoordinator's journal into separate event journals going forward - this migration is irreversible without taking the cluster offline and deleting all Akka.Cluster.Sharding-related data from Akka.Persistence, so plan accordingly.

Akka.Cluster.Tools

Akka.Persistence.Query

Akka.Remote

Akka.Streams

Akka.TestKit

Changes:

  • c948581 Update RELEASE_NOTES.md for 1.5.0-alpha1 release (#6069)
  • 9acaf00 Cluster singleton should consider Member AppVersion during hand over. (#6065)
  • d55f67f [Cluster] Enable HeartbeatResponse message type (#6063)
  • 899c3a2 Singleton class and settings based on current Akka Typed implementation (#6050)
  • 207e7b8 [SBR] Ignore reachability records for invalid nodes (#6064)
  • 9410a4c Tutorial improvements (#6057)
  • 03de287 Fixes log and uses cluster sharding LeaseSettings, if configured, in ShardedDaemonProcess (#6058)
  • f571e26 Fix Streams.Tests.Dsl.MergeHub_must_work_with_long_streams_when_buffer_size_is_1 (#6054)
  • 411c800 Fix faulty AddLogger in LoggingBus (#6028) (#6053)
  • 6f28f17 migrate project chat from Gitter to Discord (#6052)
See More

This list of changes was auto generated.

Don't miss a new akka.net release

NewReleases is sending notifications on new releases.