-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v1.4.21 Release #5096
Merged
Merged
v1.4.21 Release #5096
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Update TestScheduler.cs
… does not matter (#5015) * Make sure that event receive order does not matter * Remove repeat attribute
Co-authored-by: Aaron Stannard <[email protected]>
Co-authored-by: Aaron Stannard <[email protected]>
Bumps [BenchmarkDotNet](https://github.com/dotnet/BenchmarkDotNet) from 0.12.1 to 0.13.0. - [Release notes](https://github.com/dotnet/BenchmarkDotNet/releases) - [Commits](dotnet/BenchmarkDotNet@v0.12.1...v0.13.0) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Google.Protobuf](https://github.com/protocolbuffers/protobuf) from 3.16.0 to 3.17.0. - [Release notes](https://github.com/protocolbuffers/protobuf/releases) - [Changelog](https://github.com/protocolbuffers/protobuf/blob/master/generate_changelog.py) - [Commits](protocolbuffers/protobuf@v3.16.0...v3.17.0) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* adding ORSet benchmarks Working on #4956 * added VersionVectorBenchmark Using this to help gauge ORSet / other CRDT merge performance * moved all `VersionVector` comparisons to use `ValueTuple` instead of `KeyValuePair` * temporarily lowered ORSetBenchmark parameters * added VersionVector merge benchmarks and cleaned up code * working on more benchmarking for ORSet
* Removed a bunch of obsolete and unused methods * Consolidate Intercept methods, and add the new AssertThrows * Fixed a few tests that where dealing with the AggregateExceptions themselves
…s` (#5034) * remove `ActorPath.ToString` call from `ResolveActorRefWithLocalAddress` * remove comment
* Reduce memory footprint * Fix enumerator, off by 1 error
* Merge LMDB config into DistributedData * Remove DistributedData config from ClusterSharding config, only values that overrides/adds to the config are retained, config is then composed together in code. * Turn on DData related specs in ClusterSharding MNTR specs. * Fix Multinode spec ClusterShardingSpec * Fix DData remember-entities feature * Revert "Fix Multinode spec ClusterShardingSpec" This reverts commit 80897e5. * Fix spec * Fix how and when LMDB disposes its resources * Harden remember-entities spec, spec must work when remember-entities are both set and unset Co-authored-by: Aaron Stannard <[email protected]>
* Fail materialized Task of IO stages when stream fails * Fail FileSubscriber's Task if it can't open the file
Bumps [Google.Protobuf](https://github.com/protocolbuffers/protobuf) from 3.17.0 to 3.17.1. - [Release notes](https://github.com/protocolbuffers/protobuf/releases) - [Changelog](https://github.com/protocolbuffers/protobuf/blob/master/generate_changelog.py) - [Commits](protocolbuffers/protobuf@v3.17.0...v3.17.1) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Google.Protobuf](https://github.com/protocolbuffers/protobuf) from 3.17.1 to 3.17.2. - [Release notes](https://github.com/protocolbuffers/protobuf/releases) - [Changelog](https://github.com/protocolbuffers/protobuf/blob/master/generate_changelog.py) - [Commits](https://github.com/protocolbuffers/protobuf/commits) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…4814) * Abstraction of ServiceProvider * introduced non-breaking Akka.DependencyInjection API changes * fixed unit tests / Props bug * fixed up DelegateInjectionSpecs * Added type checking for `Props(Type type, params object[] args)` * fixed non-generic `Props()` method Co-authored-by: Aaron Stannard <[email protected]>
* Fix assembly loading * Fix regex for passing test * Try to start a full build * Regex \w includes underscore * Revert back regex to \w * Update NotUsed.cs Co-authored-by: Aaron Stannard <[email protected]>
* `Span<char>`-ifying ActorPath and Address parsing Abstraction of ServiceProvider, Improving Akka.DependencyInjection (#4814) * Abstraction of ServiceProvider * introduced non-breaking Akka.DependencyInjection API changes * fixed unit tests / Props bug * fixed up DelegateInjectionSpecs * Added type checking for `Props(Type type, params object[] args)` * fixed non-generic `Props()` method Co-authored-by: Aaron Stannard <[email protected]> completed work on ActorPath parsing * restore Parse performance to ActorPath.Parse * fixed `ActorPath.ToString()`
* Removed `StringBuilder` allocation from `Base64Encoding` * Update Base64Encoding.cs * implemented feedback
* Bring UnfoldResourceSourceAsync up-to-date * Fix for unstable UnfoldResourceAsync tests
Changed `Akka.DependencyInjection.ServiceProvider` deprecation message to read "1.4.21" rather than 1.4.20
We now get issue templates from the Akka.NET organization itself https://github.com/akkadotnet/.github
* Fix LMDB durable store logging problem * Sort ORSet elements on serialization to address inconsistent digest problem * Change IComparable to IComparer Co-authored-by: Aaron Stannard <[email protected]>
* Made `ActorCell.SendSystemMessage` `virtual` so it can be subclassed * Made a number of `ActorCell` methods `static` to reduce object memory footprint * Reduced number of possible `Task` allocations where they weren't needed
* v1.4.21-beta1 release notes
…#5077) Co-authored-by: Martijn Schoemaker <[email protected]>
Bumps [NUnit3TestAdapter](https://github.com/nunit/nunit3-vs-adapter) from 3.17.0 to 4.0.0. - [Release notes](https://github.com/nunit/nunit3-vs-adapter/releases) - [Commits](nunit/nunit3-vs-adapter@V3.17...V4.0.0) --- updated-dependencies: - dependency-name: NUnit3TestAdapter dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [Microsoft.Data.SQLite](https://github.com/dotnet/efcore) from 5.0.6 to 5.0.7. - [Release notes](https://github.com/dotnet/efcore/releases) - [Commits](dotnet/efcore@v5.0.6...v5.0.7) --- updated-dependencies: - dependency-name: Microsoft.Data.SQLite dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
reproduction for #5083
* Fix exception bubbling and messages * Remove reference to DData project * Remove reference to Akka.Cluster * Remove generic exception handling * Add a very specific exception handling for failed payload deserialization Co-authored-by: Aaron Stannard <[email protected]>
Found some methods that could be made static on `ActorCell`, which should help with total actor memory footprint.
…5092) * Add bug reproduction spec * Code cleanup, make sure locks are used properly * Make sure BlockingQueue inserts items properly * Code and spec cleanup, make sure that code is readable and works as intended * Revert "Code and spec cleanup, make sure that code is readable and works as intended" This reverts commit 09ece29. Co-authored-by: Aaron Stannard <[email protected]>
…ds message batching (#5094) * Add failure handling for BatchingSqlJournal SelectCurrentPersistenceIds message batching * Do not throw an exception inside a failure handler, throwing will swallow the original failure cause, create a confusing error log, and blow up BatchingSqlJournal failure handling. * Add missing using to make sure reader is properly disposed
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 16.9.4 to 16.10.0. - [Release notes](https://github.com/microsoft/vstest/releases) - [Commits](microsoft/vstest@v16.9.4...v16.10.0) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Aaron Stannard <[email protected]>
* added v1.4.21 release notes * updated contributor numbers
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
1.4.21 June 16 2021
Maintenance Release for Akka.NET 1.4
Akka.NET v1.4.21 is a significant release that includes major performance improvements, bug fixes, and a major update to the Akka.DependencyInjection NuGet package.
Performance Improvements
Akka.NET v1.4.21 includes some major performance fixes and improvements:
Ask
is now ~10% fasterMurmurHash
is 33% faster and allocates 0 memory - used heavily in DData, Cluster Sharding, and Consistent Hash RoutersActorPath.Parse
went from 1672 ns/op to 527 ns/op - a 68% improvement in throughput and a 50% reduction in memory. See #5039 and #5068.ActorPath.ToString
call fromResolveActorRefWithLocalAddress
ThreadPool.SetMinThreads(0,0)
- based on the input from users on "Akka.NET v1.4.19: ChannelExecutor performance data"Our observed performance numbers for Akka.Remote show a significant increase in performance for v1.4.21 over v1.4.20:
Before
After
Akka.DependencyInjection Updates
We had one major issue we implemented in v1.4.21 for Akka.DependencyInjection: Abstraction of
ServiceProvider
, Improving Akka.DependencyInjectionWhat this change did was:
Akka.DependencyInjection.ServiceProvider
class in favor of theAkka.DependencyInjection.DependencyResolver
class - to avoid namespace collision with Microsoft.Extensions.DependencyInjection.ServiceProvider;Akka.DependencyInjection.ServiceProviderSetup
class in favor of theAkka.DependencyInjection.DependencyResolverSetup
class for consistency reasons;Akka.DependencyInjection.DependencyResolver
now takes an input of typeIDependencyResolver
, which allows users to abstract away theIServiceProvider
and mock / replace it during unit testing; andProps
methods for dynamically spawning actors via DI.All of these changes are backwards-compatible with v1.4.20 and earlier - and the deprecation warnings will appear in your code when you upgrade. If you run into any issues upgrading to Akka.DependencyInjection v1.4.21 please reply on this thread!
Other Changes and Fixes
FileSubscriber
VectorClock
performance optimizations toVersionVector
and similar typesTo see the full set of fixes in Akka.NET v1.4.21, please see the milestone on Github.