Skip to content
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

Akka.NET v1.5 Production Deployment #6484

Merged
merged 301 commits into from
Mar 2, 2023
Merged

Akka.NET v1.5 Production Deployment #6484

merged 301 commits into from
Mar 2, 2023

Conversation

Aaronontheweb
Copy link
Member

1.5.0 March 2nd 2023

Version 1.5.0 is a major new release of Akka.NET that is now marked as stable and ready for production use.

You can read the full notes about what's changed in Akka.NET v1.5 here. We also encourage you to watch our video: "Akka NET v1.5 New Features and Upgrade Guide"

If you want to see the full set of changes made in Akka.NET v1.5.0 so far, click here.

COMMITS LOC+ LOC- AUTHOR
95 25041 24976 Gregorius Soedharmo
85 89784 18362 Aaron Stannard
76 95 95 dependabot[bot]
18 3201 908 Ismael Hamed
5 230 251 Sergey Popov
2 77 7 Vagif Abilov
2 38 8 Brah McDude
1 92 92 nabond251
1 843 0 Drew
1 7 6 Tjaart Blignaut
1 5 4 Sean Killeen
1 32 1 JonnyII
1 26 4 Thomas Stegemann
1 203 5 Ebere Abanonu
1 2 2 Popov Sergey
1 2 2 Denis
1 16 0 Damian
1 11 2 Nicolai Davies
1 101 3 aminchenkov
1 1 1 zbynek001
1 1 1 Michel van Os
1 1 1 Adrian D. Alvarez

Arkatufus and others added 30 commits June 20, 2022 11:21
…eSpec FlowGroupBySpec TimeoutsSpec (#5963)

* Convert Akka.Streams.Tests to async - FlowFlattenMergeSpec FlowGroupBySpec TimeoutsSpec

* Fix FlowGroupBySpec

* Fix FlowFlattenMergeSpec

* Fix AssertAllStagesStopped

* Add ShouldThrowWithin Task extension

* Fix FutureFlattenSourceSpec

* Revert HubSpec to its original code

* Add ForEachAsync sink

* Remove extraneous async test functions, causes ambiguous function fingerprints

* Fix specs

* Update API verify list

* Fix XML-Doc

* Fix RestartSpec

* fix stringify

* Fix FlowDelaySpec tests

* Rewrite FlowDelaySpec

* Fix HubSpec

* Fix HubSpec

* Merge dev

* Fix FlowDelaySpec, add epsilon

* Fix FlowDelaySpec timing problem.

* Add blamw flag to dotnet test

* Fix OutputStreamSourceSpec deadlock bug

* Fix LastSinkSpec

* Fix deadlock caused by WithinAsync and AwaitConditionAsync

* Skip persistence performance test for SqLite for now.

Co-authored-by: Aaron Stannard <aaron@petabridge.com>
Co-authored-by: Gregorius Soedharmo <arkatufus@yahoo.com>
* Add environment variable controlled skipable LocalFactAttribute

* Fix copyright header
Bumps `FsCheckVersion` from 2.16.4 to 2.16.5.

Updates `FsCheck` from 2.16.4 to 2.16.5
- [Release notes](https://github.com/fsharp/FsCheck/releases)
- [Changelog](https://github.com/fscheck/FsCheck/blob/master/FsCheck%20Release%20Notes.md)
- [Commits](fscheck/FsCheck@2.16.4...2.16.5)

Updates `FsCheck.Xunit` from 2.16.4 to 2.16.5
- [Release notes](https://github.com/fsharp/FsCheck/releases)
- [Changelog](https://github.com/fscheck/FsCheck/blob/master/FsCheck%20Release%20Notes.md)
- [Commits](fscheck/FsCheck@2.16.4...2.16.5)

---
updated-dependencies:
- dependency-name: FsCheck
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: FsCheck.Xunit
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add LocalTheoryAttribute

* Apply LocalFact and LocalTheory attributes to racy tests

* Fix XML-Doc warnings

* Add LocalTheoryAttribute and WindowsFactAttribute

* Convert skipped tests to LocalFact tests

* Fix WindowsFactAttribute

* Fix specs

* Add missing racy fact

* skip FlattenMerge

* Skip some more racy tests
Working on turning on some other GH actions, but want to disable this one for the time being
* Fix WithinAsync and Remaining logic

* Guard or warn against possible negative or infinite timeout scenarios

* Fix tests that uses negative durations

* Fix negative duration specs

* fix InactiveEntityPassivationSpec

Co-authored-by: Aaron Stannard <aaron@petabridge.com>
Co-authored-by: Aaron Stannard <aaron@petabridge.com>
* Convert Akka.Streams.Tests to async - Dsl.TickSourceSpec

* Cleanup

Co-authored-by: Aaron Stannard <aaron@petabridge.com>
* Fix FlowAskSpec

* Fix RestartSpec

* Fix xunit.runner.json file not being copied during build
…rceAsyncSourceSpec (#6023)

* Convert Akka.Streams.Tests to async - Dsl.UnfoldResourceAsyncSourceSpec

* Fix test, use TaskCompletionSource instead of using TestProbe

* Use TaskCompletionSource instead of TestProbe

* Use SinkProbe instead of Sink.Cancelled

Co-authored-by: Aaron Stannard <aaron@petabridge.com>
* Add ValueTask support to PipeTo

* Update API Verify list

* Exclude NETFX from Akka.Tests linux build
Needed to boost time to process 20,000 elements with buffer size =1 from 3 cumulative seconds to 300. On low quality AzDo machines there's no telling what delays we'll hit.
* harden `ClusterLogSpec`

The `JoinAsync` method wasn't written correctly - need to force `JoinAsync` to run to completion for assertion to make any kind of sense.

* hardened `DownAsync` and `JoinAsync`

* Update ClusterLogSpec.cs

* fixed up `ClusterLogSpec`
* Respect EnableSsl configuration propert

* Update DotNettySslSupportSpec.cs

* Update DotNettySslSupportSpec.cs

* Update DotNettyTransportSettings.cs

* Moved enableSsl variable initialization outside return statement

Co-authored-by: Aliaksei Minchankou <Aliaksei.Minchankou@nreca.coop>
Co-authored-by: Aaron Stannard <aaron@petabridge.com>
* Fix ClusterLogSpec, EventFilter can not be used inside Within

* Fix timeout
Co-authored-by: Aaron Stannard <aaron@petabridge.com>
* cleaned up `IAsyncEnumerable` Source to use local functions

Better to use `await` around `ValueTask` rather than converting to `Task` and doing `ContinueWith`

* formatted + fixed unit tests

* adding happy path spec

* Change logic to accept IAsyncEnumerable instead of IAsyncEnumerator, add second fast path

* Clean up unit test

* Move IAsyncEnumerator initialization to PreStart

* Add IAsyncEnumerator DisposeAsync

Co-authored-by: Gregorius Soedharmo <arkatufus@yahoo.com>
* Improve Cancelable

- Add new Create methods that takes CancellationToken params
- Clean up the Dispose method
- Expose the _isDisposed field as a property

* Update API Verify list

* Re-add try...catch block

* moved `IsDisposed=true` inside the `finally` block

Co-authored-by: Aaron Stannard <aaron@petabridge.com>
… UP status (#6033)

* Make JoinAsync and JoinSeedNodesAsync more robust by using an async state

* Update how join state is being handled

* Fix missing exception

* Update unit test

* Update API Verify list

* update IsUp check

* Change IsUp implementation to check SelfMember instead

* Remove state handling code

* Remove spec

* Revert state changes

Co-authored-by: Aaron Stannard <aaron@petabridge.com>
* Fix faulty AddLogger in LoggingBus

* Ignore logger async start setting, not relevant anymore

* Simplify unit test

* Send Stop instead of PoisonPill

* Make loggers load asynchronously by default

* Change logging back to exceptions

* Remove _startupState, use closure instead

Co-authored-by: Aaron Stannard <aaron@petabridge.com>
(cherry picked from commit c8b46b4)
* Assert first device is not there

* Remove unused argument

* Add CollectionTimeout 

CollectionTimeout is referenced in the code, but not shown until the very last step.
…on (#6050)

Co-authored-by: Aaron Stannard <aaron@petabridge.com>
Arkatufus and others added 29 commits February 27, 2023 09:51
* Remove obsolete methods from Akka.DistributedData

* Revert commit, obsolete attribute is too recent
* Remove all obsolete methods from Akka.Cluster.Sharding

* Revert recent changes
Bumps [NUnit3TestAdapter](https://github.com/nunit/nunit3-vs-adapter) from 4.3.1 to 4.4.0.
- [Release notes](https://github.com/nunit/nunit3-vs-adapter/releases)
- [Commits](nunit/nunit3-vs-adapter@V4.3.1...V4.4.0)

---
updated-dependencies:
- dependency-name: NUnit3TestAdapter
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Remove obsolete methods from Akka.IO

* Update API Verify list
Bumps [Microsoft.NET.Test.Sdk](https://github.com/microsoft/vstest) from 17.4.1 to 17.5.0.
- [Release notes](https://github.com/microsoft/vstest/releases)
- [Changelog](https://github.com/microsoft/vstest/blob/main/docs/releases.md)
- [Commits](microsoft/vstest@v17.4.1...v17.5.0)

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Akka.Streams syntax cleanup

* added `DefaultMaterializer` `ActorSystemExtension`

Makes it possible to pass in an `ActorSystem` directly into most `RunnableGraph.Run` methods and their equivalents exposed inside the Dsl.

* fixed unit tests

* added test to validate caching of singleton `DefaultMaterializer` instance

---------

Co-authored-by: Gregorius Soedharmo <arkatufus@yahoo.com>
* copy `Obsolete` attributes to Akka.Persistence.TCK

* removed bad method

* Make sure that old Dispose method is called inside DisposeAsync

* Remove Dispose, already implemented in TestKit

---------

Co-authored-by: Gregorius Soedharmo <arkatufus@yahoo.com>
* fixed issues with `AwaitConditionAsync`

* fixed issue with `ExpectMsgAllOf`

* added another `ExpectMsgAllOf` method

* fix EventFilter API changes

* removed assertion
* Make transport adapter messages public (#6250)

* Make transport adapter messages public so it can be used in Petabridge.Cmd for testing network disruptions

* Update API Verify list

* Fixing DocFx complaints

Co-authored-by: Aaron Stannard <aaron@petabridge.com>
(cherry picked from commit e94913c)

* Update API Verify list
* fix timing regressions in `Cluster.JoinAsync` methods

We used the `cluster.seed-node-timeout` property incorrectly in #6033 - that is a "how long did it take from me to hear back from a seed" setting, but we're using it like a "how much time do I have to join the cluster?" setting.

Added a function designed to give us at least 20s of leeway.

* Update Cluster.cs

* fixed addr

* Fix timeout calculation

* Fix CancellationTokenSource

---------

Co-authored-by: Gregorius Soedharmo <arkatufus@yahoo.com>
* expose `Args()` on `LogMessage`

need this for Serilog support

* added API approvals

* fixed

* Fix missing paranthesis on DefaultLogMessage

---------

Co-authored-by: Gregorius Soedharmo <arkatufus@yahoo.com>
We were using the wrong state timeout value, which only gave us 2s to recover R-E data. We're now using the correct value.
* fixed 1.5 upgrade advisory

* clarified upgrade procedure

* fixed markdown linting errors
* upgraded Sharding documentation

* added Akka.NET v1.5 documentation and "whats new" page

* fixed markdown linter errors

* added v1.5.0 release notes
@Aaronontheweb Aaronontheweb merged commit 5865803 into master Mar 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.