1.4.22 August 05 2021
Maintenance Release for Akka.NET 1.4
Akka.NET v1.4.22 is a fairly large release that includes an assortment of performance and bug fixes.
Performance Fixes
Akka.NET v1.4.22 includes a significant performance improvement for Ask<T>
, which now requires 1 internal await
operation instead of 3:
Before
Method | Iterations | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|
RequestResponseActorSelection | 10000 | 83.313 ms | 0.7553 ms | 0.7065 ms | 4666.6667 | - | - | 19 MB |
CreateActorSelection | 10000 | 5.572 ms | 0.1066 ms | 0.1140 ms | 953.1250 | - | - | 4 MB |
After
Method | Iterations | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
---|---|---|---|---|---|---|---|---|
RequestResponseActorSelection | 10000 | 71.216 ms | 0.9885 ms | 0.9246 ms | 4285.7143 | - | - | 17 MB |
CreateActorSelection | 10000 | 5.462 ms | 0.0495 ms | 0.0439 ms | 953.1250 | - | - | 4 MB |
Bug Fixes and Improvements
- Akka: Use ranged nuget versioning for Newtonsoft.Json
- Akka: Pipe of Canceled Tasks
- Akka: CircuitBreaker's Open state should return a faulted Task instead of throwing
- Akka.Remote: Can DotNetty socket exception include information about the address?
- Akka.Remote: log full exception upon deserialization failure
- Akka.Cluster: SBR fix & update
- Akka.Streams: Restart Source|Flow|Sink: Configurable stream restart deadline
- Akka.DistributedData: ddata replicator stops but doesn't look like it can be restarted easily
- Akka.DistributedData: ddata ReadMajorityPlus and WriteMajorityPlus
- Akka.DistributedData: DData Max-Delta-Elements may not be fully honoured
You can see the full set of changes introduced in Akka.NET v1.4.22 here
Akka.Cluster.Sharding.RepairTool
In addition to the work done on Akka.NET itself, we've also created a separate tool for cleaning up any left-over data in the event of an Akka.Cluster.Sharding cluster running with akka.cluster.sharding.state-store-mode=persistence
was terminated abruptly before it had a chance to cleanup.
We've added documentation to the Akka.NET website that explains how to use this tool here: https://getakka.net/articles/clustering/cluster-sharding.html#cleaning-up-akkapersistence-shard-state
And the tool itself has documentation here: https://github.com/petabridge/Akka.Cluster.Sharding.RepairTool
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
16 | 1254 | 160 | Gregorius Soedharmo |
7 | 104 | 83 | Aaron Stannard |
5 | 8 | 8 | dependabot[bot] |
4 | 876 | 302 | Ismael Hamed |
2 | 3942 | 716 | zbynek001 |
2 | 17 | 3 | Andreas Dirnberger |
1 | 187 | 2 | andyfurnival |
1 | 110 | 5 | Igor Fedchenko |