Akka.NET v1.5.22
1.5.22 June 4th 2024
Akka.NET v1.5.22 is a patch release for Akka.NET with a few bug fixes and logging improvement.
- Streams: Bump Reactive.Streams to 1.0.4
- Remote: Bump DotNetty.Handlers to 0.7.6
- Core: Resolve CVE-2018-8292 for Akka.Streams and Akka.Remote
- Core: Expose
BusLogging
EventStream
as public API - Remote: Add cross-platform support to the exception serializer
On Resolving CVE-2018-8292
In order to resolve this CVE, we had to update DotNetty.Handlers
to the latest version and unfortunately, this comes with about 10% network throughput performance hit. We are looking into possible replacement for DotNetty
to improve this performance lost in the future (see #7225
for updates).
Before
Num clients, Total [msg], Msgs/sec, Total [ms], Start Threads, End Threads
1, 200000, 125000, 1600.62, 46, 76
5, 1000000, 494072, 2024.04, 84, 95
10, 2000000, 713013, 2805.73, 103, 107
15, 3000000, 724463, 4141.38, 115, 115
20, 4000000, 714669, 5597.66, 123, 123
25, 5000000, 684932, 7300.37, 131, 107
30, 6000000, 694525, 8639.88, 115, 93
After
Num clients, Total [msg], Msgs/sec, Total [ms], Start Threads, End Threads
1, 200000, 123763, 1616.32, 46, 73
5, 1000000, 386101, 2590.66, 81, 90
10, 2000000, 662691, 3018.54, 98, 104
15, 3000000, 666223, 4503.86, 112, 113
20, 4000000, 669681, 5973.89, 121, 113
25, 5000000, 669255, 7471.86, 121, 105
30, 6000000, 669121, 8967.61, 113, 92
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
6 | 167 | 188 | Aaron Stannard |
3 | 93 | 10 | Gregorius Soedharmo |
You can see the full set of changes for Akka.NET v1.5.22 here.
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 |
Changes:
- 1255fa1 Update RELEASE_NOTES.md for 1.5.22 release (#7224)
- 7ce5030 Add cross-platform exception serialization support (#7222)
- b73fe64 removed Google.Protobuf tooling from build script (#7220)
- 1af99d3 added docs for
Valve
Akka.Streams stage (#7219) [ #7217 ] - f9666a1 Debugging racy ClusterShardingDeliveryGracefulShutdown MNTR spec (#7218)
- 5956b82 Akka.Event: expose the
EventStream
onBusLogging
for extensibility purposes (#7210) [ #7209 ] - 1f0d09c disable auto-downing on restart specs (#7214)
- 3befea4 Bump Reactive.Streams from 1.0.2 to 1.0.4 (#7213)
- eeeb59b v1.5.22 placeholder (#7211)
- 7f7c357 Bump DotNetty.Handlers to 0.7.6 (#7198)
This list of changes was auto generated.