Akka 2.6.18 released

Dear hakkers,

We are excited to announce a new patch release of Akka 2.6. Noteworthy additions and improvements in this release:

  • New passivation strategies for Cluster Sharding, see below
  • Non-snapshot artifacts for Scala 3
  • Send all allocated shards to region/proxy when registering. (A logged serialization error on pre-2.6.18 nodes during rolling upgrade can safely be ignored.) #27168
  • Fix lastSequenceNumber in DurableStateBehavior, #30833
  • New Persistence Query interfaces for bySlices queries, #30882
  • Durable state store persistence ids query, #30795
  • Use more apidoc links, thanks to @Captain1653
  • Update to Logback 1.2.9
  • Update to Aeron 1.37.0 and Agrona 1.14.0

2.6.18 includes 93 closed issues. The complete list can be found on the 2.6.18 milestone on github.

Entity passivation strategies for Cluster Sharding

Entities in Akka Cluster Sharding are automatically passivated based on a passivation strategy. The default strategy is to passivate idle entities when they haven’t received a message within a specified interval, and this is the current default to maintain compatibility with earlier Akka versions. New entity passivation strategies have been introduced which limit the number of active entities. When a configured limit for active entities has been reached, entities are passivated to make space for newly activating entities.

The policy for selecting which entities to passivate is configurable and, like cache eviction algorithms, can select entities based on recency or frequency of accesses. For example, the least recently used entity could be selected for passivation, or the least frequently used entity. Some of the entity replacement policy variations will combine recency and frequency information.

An appropriate passivation strategy can be chosen for a workload’s access pattern, and a default limit-based strategy is provided. Passivation strategies that can adapt automatically to various workloads and changing access patterns will also be developed and released in future Akka versions. See the documentation for more information on the available entity passivation strategies.

Credits

For this release we had the help of 25 committers – thank you all very much!

commits  added  removed
     37   4045      438 Patrik Nordwall
     16    382      241 Arnout Engelen
     13   1882       99 Johan Andrén
     13    145      144 Andrei Arlou
     10  11513     2586 Peter Vlugter
      4    229      259 Muskan Gupta
      3    212      142 Renato Cavalcanti
      2    150       14 James Roper
      2     41       16 Sebastian Alfers
      1     79        4 Andreas Gabor
      1     33        6 Nicolas Vollmar
      1     27        0 Stefano Baghino
      1     13       13 Paweł Kaczor
      1     10       13 Dragisa Krsmanovic
      1      7        0 Francis De Brabandere
      1      5        1 Francisco Lopez-Sancho
      1      3        2 mbairagi85
      1      3        1 eyal farago
      1      2        2 utkarshup11
      1      2        1 Raymond Roestenburg
      1      2        1 Levi Ramsey
      1      1        1 Jonas Ackermann
      1      1        1 Luke Ewer
      1      1        1 Johannes Rudolph
      1      1        1 kenji yoshida

Lightbend employs the Akka core team. If you’re looking to take your Akka systems to the next level, let’s set up a time to discuss our enterprise-grade expert support, self-paced education courses, and technology enhancements that help you manage, monitor and secure your Akka systems - from development to production.

Happy hakking!

– The Akka Team

1 Like