Akka.NET v1.4.14
1.4.14 December 30 2020
Maintenance Release for Akka.NET 1.4
Akka.NET v1.4.14 contains some significant bug fixes and improvements. It is a highly recommended upgrade for all Akka.NET users.
Major Reduction in Idle CPU Usage and Latency for Akka.Remote
One of the most important fixes introduced in Akka.NET v1.4.14 is the new self-tuning batching system for Akka.Remote's DotNetty transport, which simulatneously reduces idle CPU consumption on low-traffic systems by as much as 55% while improving latency by a factor of 10 for low-traffic systems.
The batching system no longer needs to be configured - it can scale up and down with workload automatically in order to both maximize throughput with a minimal amount of latency. You can read more about it here: https://getakka.net/articles/remoting/performance.html
Other bug fixes and improvements:
- Akka: Move RouterActor routing logic controller actor instantiation from OnReceive to constructor
- Akka.Streams: Serializing a
SinkRef
wrapped inside a POCO failed - Akka.Persistence: Akka.NET Should Allow Separate Read and Write Event Adapter Bindings
- Akka.Persistence.Query: Added Timestamp to
EventEnvelope
- breaking API change; will require all Akka.Persistence plugins to be recompiled and updated. - Akka.Remote: fix NRE inside
RemotingTerminator
To see the full set of fixes in Akka.NET v1.4.14, please see the milestone on Github.
COMMITS | LOC+ | LOC- | AUTHOR |
---|---|---|---|
9 | 533 | 370 | Aaron Stannard |
4 | 5617 | 44 | Gregorius Soedharmo |
1 | 61 | 1 | Brian Sain |
1 | 207 | 54 | Ismael Hamed |
Changes:
- d635f7d Merge pull request #4705 from akkadotnet/dev
- 78483c5 added v1.4.14 release notes (#4704)
- 5e744ff Update Akka.Remote performance guidance for Akka.NET v1.4.14 (#4703) [ #4685 ]
- 58294a4 Create ReadWriteEventAdapter and set if event is bound to separate re… (#4568)
- 7aee504 SinkRef declared inside a POCO should serialize properly (#4425) [ #4421 ]
- 77cb49f cleaned up duplicate TargetFramework tag in Samples.Cluster.Metrics.Common (#4701)
- fe8a5be Move RouterActor routing logic controller actor instantiation from OnReceive to constructor (#4700)
- bfc2f32 Create sample projects for AdaptiveLoadBalancingGroup (#4691)
- 3f0d654 fix NRE inside RemotingTerminator (#4686) [ #4677, #7 ]
- b7630e5 Update ActorTaskSchedulerMessage with defensive coding to prevent possible NRE problems in the future. (#4693)
See More
- b8e74e0 Auto-tuning DotNetty batching + removing scheduler from batching system (#4685)
- 67c6b32 fixed bug with IPersistentRepresentation.Update and timestamp propagation (#4684)
- be43227 upgraded to Incrementalist v0.4.0 (#4690)
- 6e1afac Added Timestamp to EventEnvelope (#4680)
- 55fa656 API - added overload for IScheduler that accepts IRunnable (#4675)
- 91e9c50 Move DotNetty batching scheduling off of DotNetty STEE and onto HashedWheelTimer (#4678)
- d14bb5b Update RELEASE_NOTES.md
This list of changes was auto generated.