Skip to content

Commit c947220

Browse files
AarononthewebeabaGreg-Petabridgeismaelhamedto11mtm
authored
[Async TestKit] Merge dev branch (#5944)
* Moved the `akka core` configuration page into `modules`` (#5664) * Fix link issue with `xref` (#5666) Co-authored-by: Aaron Stannard <[email protected]> * [Docs]: Fix Metadata Reference (#5668) * Turn on `ProduceReferenceAssembly` * Add `ProduceReferenceAssembly` to `common.props` * Fix build failures in Akka.FSharp * Revert `<ProduceReferenceAssembly>$(ProduceReferenceAssembly)</ProduceReferenceAssembly>` added to affected projects because it already exists in `common.props' * Resolved invalid links (#5669) * Check for possible broken documentation by failing on DocFX warning (#5542) * Add --warningsAsErrors flag to DocFX * Add check in AzDo pr validation yaml * Use windows image for docfx test * Fix build script name * disable incremental builds for DocFx Co-authored-by: Aaron Stannard <[email protected]> * Make sure DocFX warning check step only executed in PR (#5674) * Make sure DocFX warning check step only executed in PR * Add run_if parameter to template Co-authored-by: Gregorius Soedharmo <[email protected]> * [Docs] Improve coordinated shutdown doc hygiene (#5677) * Extract hocon settings * Import coordinated shutdown phases using docfx code reference * Correct the usage of `integration` (#5679) * Improve code reference hygiene with exisiting code block (#5680) * Updated developement scenario (#5533) * Updated developement scenario * Fix markdown linting * Fix linting * Fix linting * Fix linting * Fix linting * Fix linting * Improve `toc.yml` for all sections * Console deployment * Sleep for 5 seconds * Add ASP.NET Core page * Fix startup issue * Fix typo * Fix linting issue * Fix trailing space * Added Headless Service * Fixed typo * Fix linting * * Resolves #5533 * Resolves #5533 * Fix linting * update solution projects * Fix invalid path * Solution project auto updated itself Co-authored-by: Aaron Stannard <[email protected]> * Fix ORSet.Merge with AddDeltaOperation takes too long to complete (#5686) * Fix ORSet.Merge with AddDeltaOperation takes too long to complete * Make sure that insertion is still correct after the changes * Increase update timeout setting Co-authored-by: Gregorius Soedharmo <[email protected]> * Make PipeTo ConfigureAwait() optional (#5684) * Remove ConfigureAwait() from PipeTo() * Remove ConfigureAwait() from PipeTo() * Add ConfigureAwait back to PipeTo, make it configurable instead * Update API Approval list * Add function overload for backward compatibility * Update API Approval list Co-authored-by: Gregorius Soedharmo <[email protected]> * Optimize PipeTo ConfigureAwait call (#5688) * Optimize PipeTo ConfigureAwait call * Inverse the double negative parameter Co-authored-by: Gregorius Soedharmo <[email protected]> * Fixed broken toc.yml (#5694) * Fix Serialization documentation discoverability (#5699) * Fix Serialization documentation discoverability * Rename Akka.IO * fixed name of serializer id table Co-authored-by: Aaron Stannard <[email protected]> * Call `base.AfterAll()` to kill TestKit ActorSystem (#5705) Co-authored-by: Gregorius Soedharmo <[email protected]> * Fix confusing logging when receiving gossip from unknown (#5706) * Reorder Source/FlowWithContext type parameters (#5648) Co-authored-by: Aaron Stannard <[email protected]> * Add Stateful methods for circuitbreaker (#5650) * Add Stateful methods for circuitbreaker * api docs * fix api docs Co-authored-by: Gregorius Soedharmo <[email protected]> Co-authored-by: Aaron Stannard <[email protected]> * Update RELEASE_NOTES.md for 1.4.34 release (#5707) Co-authored-by: Gregorius Soedharmo <[email protected]> * Added placeholder for 1.4.35 (#5709) * Fix PersistenceId Query and Sqlite unit tests (#5715) * Fix PersistenceId Query and Sqlite unit tests * Fix unit test assert * [DocFx] custom Akka.NET theme (#5659) * added updated Akka.NET DocFx theme * added "Show and Tell" page * added v1.5 notes * fix video embeds on mobile (#5719) * Fixed `IActorRef` leak inside `EventStream` (#5720) * reproduced #5717 Reproduced `IActorRef` leak inside the `EventStream` * cleaned up the `EventBusUnsubscriber` * close #5719 - cleaned up `EventStream` subscription management * added API approval For `Obsolete` attribute. * need to capture more data on why failures happen * harden bugfix5717specs * supress InvalidOperationException in xUnit OutputLogger (#5722) * Bump Google.Protobuf from 3.17.3 to 3.19.4 (#5555) Bumps [Google.Protobuf](https://github.com/protocolbuffers/protobuf) from 3.17.3 to 3.19.4. - [Release notes](https://github.com/protocolbuffers/protobuf/releases) - [Changelog](https://github.com/protocolbuffers/protobuf/blob/master/generate_changelog.py) - [Commits](protocolbuffers/protobuf@v3.17.3...v3.19.4) --- updated-dependencies: - dependency-name: Google.Protobuf dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Add MapMaterializedValue for Source/Flow WithContext (#5711) Co-authored-by: Gregorius Soedharmo <[email protected]> * close #5728 fix `ActorSystemSetup.And` (#5729) * Update RELEASE_NOTES.md for 1.4.35 release (#5726) * Update RELEASE_NOTES.md for 1.4.35 release * Update RELEASE_NOTES.md with the latest changes * v1.4.36 placeholder for nightlies (#5732) * Update PersistAsync to match docs. (#5736) This is supposed to be the example for persistAsync, but it doesn't get used at all. https://getakka.net/articles/persistence/event-sourcing.html#relaxed-local-consistency-requirements-and-high-throughput-use-cases I changed the code to match what is here: https://doc.akka.io/docs/akka/current/persistence.html#relaxed-local-consistency-requirements-and-high-throughput-use-cases * [DI] DI fails to throw an exception when DI tried to create an actor with missing constructor parameter (#5735) * Add bug spec for DI bug * Fix unit test to reflect the correct failure behaviour * Fix spelling (#5745) * Lock cspell on version `5.18.5` (#5744) * Lock cspell on version `5.18.5` * Use version `5.17.0` Co-authored-by: Aaron Stannard <[email protected]> * cleanup XUnit TestKit output logger (#5741) * marked `EventBusUnsubscriber` messages as `INoSerializationVerificationNeeded` (#5743) Eliminates issues with some `MinimalActorRef` actors subscribing to the `EventStream` when `akka.actor.serialize-messages = on`. * Fix MSBuild does not copy xunit.runner dlls correctly (#5747) * Add documentation on how to override serializer ids. (#5749) * Add `Member Roles` doc (#5742) * Add `Node Roles` doc Co-authored-by: Aaron Stannard <[email protected]> * [DOCS]: Add `Examples` section to Akka.NET Doc (#5739) * Add initial commit * Fix linting and spell checks * Update examples * Fix lint issues * Fix spell check - American English * fix examples href * Update page title * Updated page with more examples * Update examples.md * Fix lint and markdown errors. * Fix docs conflict * Fix blanks * Delete examples.md.orig Co-authored-by: Aaron Stannard <[email protected]> * Bump Hyperion to 0.12.2 (#5805) * Bump Hyperion to 0.12.2 * Add HyperionSerializerSettings immutable modifier methods * Fix unit tests * Fix leaky coordinated shutdown (#5816) * Fix CoordinatedShutdown infinite loop * Fix circular reference memory leak * Fix memory leak * Couple of fixes for the TcpConnection (#5817) * Fix TcpConnection error handling * Try not to get stopped by death pact before Unregistration is complete * Update RELEASE_NOTES.md for 1.4.36 release (#5820) * Revert changes that are unrelated to the memory leak (#5822) * Be more explicit that a node is shutting down as it was marked as DOWN (#5821) Co-authored-by: Aaron Stannard <[email protected]> * Change the failure log inside `AllEventPublisher` from Debug to Error (#5835) * Fix LeaseProvider instance Activator exception handling (#5838) * Make ActorSystemImpl.Abort skip the CoordinatedShutdown check (#5839) * Bump Microsoft.Data.SQLite from 5.0.11 to 6.0.4 (#5837) Bumps [Microsoft.Data.SQLite](https://github.com/dotnet/efcore) from 5.0.11 to 6.0.4. - [Release notes](https://github.com/dotnet/efcore/releases) - [Commits](dotnet/efcore@v5.0.11...v6.0.4) --- updated-dependencies: - dependency-name: Microsoft.Data.SQLite 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> * Update RELEASE_NOTES.md for 1.4.37 release (#5841) * Add specs to test disallow-unsafe-type (#5746) * Add spec to test disallow-unsafe-type * Fix Hyperion disallow-unsafe-type spec * move from ApprovalTests to Verify for api tests (#5846) * approved to verified * move to verify * Update CoreAPISpec.cs * Update Akka.API.Tests.csproj * Update Akka.API.Tests.csproj * Update CoreAPISpec.cs * Bump FsCheckVersion from 2.16.3 to 2.16.4 (#5724) Bumps `FsCheckVersion` from 2.16.3 to 2.16.4. Updates `FsCheck` from 2.16.3 to 2.16.4 - [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.3...2.16.4) Updates `FsCheck.Xunit` from 2.16.3 to 2.16.4 - [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.3...2.16.4) --- 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] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix Persistence.TCK specs (#5849) * DeleteMessagesFailure message should log its failure stack trace * Make JournalSpec facts overridable * Make error reporting standardized. * change `dev` version number to 1.5-x (#5856) * Zbynek001 sharding update2 (#5857) * Add Dropped to Akka.Actor (migrated partially from akka/akka#27160) Log Dropped from DeadLetterListener * Logging of UnhandledMessage (migrated from akka/akka#28414) * make use of the existing logging of dead letter also for UnhandledMessage Supress ActorSelectionMessage with DeadLetterSuppression (migrated from akka/akka#28341) * for example the Cluster InitJoin message is marked with DeadLetterSuppression but was anyway logged because sent with actorSelection * for other WrappedMessage than ActorSelectionMessage we shouldn't unwrap and publish the inner in SuppressedDeadLetter because that might loose some information * therefore those are silenced in the DeadLetterListener instead Better deadLetter logging of wrapped messages (migrated from akka/akka#28253) * MessageBuffer implementations * TestKit logger with prefix * sharding update * sharding tests * sharding multinode tests * api approval * replace sqlite with MemoryJournalShared and local snapshot store * tests * snapshot inmem * backwards compatible PersistenceId for PersistentShardCoordinator * test fix * SnapshotStoreProxy & MemorySnapshotStoreShared * test snapshot store switched to shared inmem * ExternalShardAllocationStrategy & tests * ExternalShardAllocationStrategy API approval * test timing fix * review comments addressed * IEquatable removed for singleton messages * test fixes * cleanup * test cleanup * protobuf generated * cleanup * cleanup * Race condition in DeprecatedSupervisionSpec fixed (migrated from akka/akka#29914) * cleanup * Small clarification of recovery strategy in config (migrated from akka/akka#30167) * Resolve snapshot check skipped for some events (migrated from akka/akka#30226) * additional sharding messages serialization, tests * api approval update * disable durable storage on ShardRegionSpec * extend timeout for ExternalShardAllocationSpec * naming conventions * missing readonly added, updated syntax * renaming conventions * Defer coordinator stop until region graceful stop has completed (migrated from akka/akka#30338) * sharding: actively signal 'region stopped' to the coordinator (migrated from akka/akka#30402) * racy test fix * racy test verbose logging * test update * merge fix * sharding ddata coordinator switch to ReadMajorityPlus/WriteMajorityPlus * more logs to debug tests * more logs * fix MultiNodeClusterSpec default timeouts * revert additional logs * override single-expect-default only for sharding tests * revert unrelated protobuf serializers * Fix StartEntitySpec instability (migrated from akka/akka#30537) The old logic allowed a race condition where the 'StartEntity' from the test arrived at the ShardRegion before the termination of the actor did, causing it to ignore the `StartEntity`. * Quieter logging for ShardCoordinator initialization (migrated from akka/akka#30488) Log the first retry on 'info', then 'warning', and finally 'error' * reduce default write-majority-plus for sharding (migrated from akka/akka#30328) * merge fix * rebalance log fix * fixed compilation error from rebase * switch RememberEntitiesShardIdExtractorChangeSpec from ddata to persistence * disable durable storage on PersistentShardingMigrationSpec * clean up leveldb configuration * fix XML-DOC warnings Co-authored-by: zbynek001 <[email protected]> Co-authored-by: Gregorius Soedharmo <[email protected]> * Bump Swashbuckle.AspNetCore from 6.2.3 to 6.3.0 (#5848) Bumps [Swashbuckle.AspNetCore](https://github.com/domaindrivendev/Swashbuckle.AspNetCore) from 6.2.3 to 6.3.0. - [Release notes](https://github.com/domaindrivendev/Swashbuckle.AspNetCore/releases) - [Commits](domaindrivendev/Swashbuckle.AspNetCore@v6.2.3...v6.3.0) --- updated-dependencies: - dependency-name: Swashbuckle.AspNetCore dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * cleaned up some allocations and styling (#5855) * fix sharding recovery (#5863) * Update MNTR to 1.1.1 and update build script to suit (#5866) * GroupBy fixes (#5874) * Target incrementalist against v1.4 branch for v1.4 * Update MNTR to 1.1.1 and update build script to suit (#5867) (cherry picked from commit 2b4267e) * GroupBy pulls upstream when a substream materialization is waiting * Cancel GroupBy when all substreams cancel * Allow GroupBy to recreate already closed substreams * Fixes GroupBy does not invoke decider * Avoids memory being retained for GroupBy * Revert v1.4 merge * Fix markdownlint error Co-authored-by: Aaron Stannard <[email protected]> Co-authored-by: Gregorius Soedharmo <[email protected]> * Fix Source.ActorRef not completing (#5875) * Fix typo in `akka.remote.dot-netty.ssl.certificate` (#5895) * enable `ChannelTaskScheduler` to work inside Akka.Cluster without causing errors inside `/system` actors (#5861) (#5920) * close #5498 enable `ChannelTaskScheduler` to work inside Akka.Cluster without causing errors inside `/system` actors * fix `HeartbeatSender` * cleaned up SBR internals (style) * cleaned up some comments * asynchronously attempt to acquire `Cluster` inside SBR * fixed SBR compilation * Update SplitBrainResolver.cs * subscribe on PreStart * added .NET 6 dual targeting to all assemblies (#5926) * added .NET 6 dual targeting to all assemblies have not added and .NET 6-specific code yet, just added support for it in the build system * adding verify files per-runtime * added all .NET 6 files * moved files to their own folder * added all Verified files * Renamed method `SetHandler` accepting both callbacks to `SetHandlers` (#5931) * Rewrite actor ref sink as a graph stage (#5930) Co-authored-by: Aaron Stannard <[email protected]> * Post-merge cleanup * Update API verify list * Post-merge fix and update API verify list * Fix XML doc * Post merge fix, docs * Fix XML Doc * Post merge fix * Post merge fix Co-authored-by: Ebere Abanonu <[email protected]> Co-authored-by: Aaron Stannard <[email protected]> Co-authored-by: Gregorius Soedharmo <[email protected]> Co-authored-by: Ismael Hamed <[email protected]> Co-authored-by: Drew <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Adrian Leonhard <[email protected]> Co-authored-by: Simon Cropp <[email protected]> Co-authored-by: zbynek001 <[email protected]>
2 parents bdd05dc + e843329 commit c947220

File tree

360 files changed

+72419
-10174
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

360 files changed

+72419
-10174
lines changed

RELEASE_NOTES.md

Lines changed: 74 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,77 @@
1-
#### 1.4.34 February 14 2022 ####
2-
**Placeholder for nightlies**
1+
#### 1.5.0-beta1 April 20 2022 ####
2+
**Placeholder for first beta release of Akka.NET v1.5**
3+
4+
#### 1.4.37 April 14 2022 ####
5+
Akka.NET v1.4.37 is a minor release that contains some minor bug fixes.
6+
7+
* [Persistence.Query: Change AllEvents query failure log severity from Debug to Error](https://github.com/akkadotnet/akka.net/pull/5835)
8+
* [Coordination: Harden LeaseProvider instance Activator exception handling](https://github.com/akkadotnet/akka.net/pull/5838)
9+
* [Akka: Make ActorSystemImpl.Abort skip the CoordinatedShutdown check](https://github.com/akkadotnet/akka.net/pull/5839)
10+
11+
If you want to see the [full set of changes made in Akka.NET v1.4.37, click here](https://github.com/akkadotnet/akka.net/milestone/68?closed=1).
12+
13+
| COMMITS | LOC+ | LOC- | AUTHOR |
14+
|---------|------|------|---------------------|
15+
| 3 | 15 | 4 | Gregorius Soedharmo |
16+
| 1 | 2 | 2 | dependabot[bot] |
17+
18+
#### 1.4.36 April 4 2022 ####
19+
Akka.NET v1.4.36 is a minor release that contains some bug fixes. Most of the changes have been aimed at improving our web documentation and code cleanup to modernize some of our code.
20+
21+
* [Akka: Bump Hyperion to 0.12.2](https://github.com/akkadotnet/akka.net/pull/5805)
22+
23+
__Bug fixes__:
24+
* [Akka: Fix CoordinatedShutdown memory leak](https://github.com/akkadotnet/akka.net/pull/5816)
25+
* [Akka: Fix TcpConnection error handling and death pact de-registration](https://github.com/akkadotnet/akka.net/pull/5817)
26+
27+
If you want to see the [full set of changes made in Akka.NET v1.4.36, click here](https://github.com/akkadotnet/akka.net/milestone/67?closed=1).
28+
29+
| COMMITS | LOC+ | LOC- | AUTHOR |
30+
|---------|------|------|---------------------|
31+
| 5 | 274 | 33 | Gregorius Soedharmo |
32+
| 4 | 371 | 6 | Ebere Abanonu |
33+
| 3 | 9 | 3 | Aaron Stannard |
34+
| 1 | 34 | 38 | Ismael Hamed |
35+
| 1 | 2 | 3 | Adrian Leonhard |
36+
37+
#### 1.4.35 March 18 2022 ####
38+
Akka.NET v1.4.35 is a minor release that contains some bug fixes. Most of the changes have been aimed at improving our web documentation and code cleanup to modernize some of our code.
39+
40+
__Bug fixes__:
41+
* [Akka: Fixed IActorRef leak inside EventStream](https://github.com/akkadotnet/akka.net/pull/5720)
42+
* [Akka: Fixed ActorSystemSetup.And forgetting registered types](https://github.com/akkadotnet/akka.net/issues/5728)
43+
* [Akka.Persistence.Query.Sql: Fixed Query PersistenceIds query bug](https://github.com/akkadotnet/akka.net/pull/5715)
44+
* [Akka.Streams: Add MapMaterializedValue for SourceWithContext and FlowWithContext](https://github.com/akkadotnet/akka.net/pull/5711)
45+
46+
If you want to see the [full set of changes made in Akka.NET v1.4.35, click here](https://github.com/akkadotnet/akka.net/milestone/66?closed=1).
47+
48+
| COMMITS | LOC+ | LOC- | AUTHOR |
49+
|---------|------|------|---------------------|
50+
| 6 | 2178 | 174 | Aaron Stannard |
51+
| 2 | 43 | 33 | Gregorius Soedharmo |
52+
| 1 | 71 | 19 | Ismael Hamed |
53+
| 1 | 1 | 1 | dependabot[bot] |
54+
55+
#### 1.4.34 March 7 2022 ####
56+
Akka.NET v1.4.34 is a minor release that contains some bug fixes. Most of the changes have been aimed at improving our web documentation and code cleanup to modernize some of our code.
57+
58+
__Bug fixes__:
59+
* [Akka: Added support to pass a state object into CircuitBreaker to reduce allocations](https://github.com/akkadotnet/akka.net/pull/5650)
60+
* [Akka.DistributedData: ORSet merge operation performance improvement](https://github.com/akkadotnet/akka.net/pull/5686)
61+
* [Akka.Streams: FlowWithContext generic type parameters have been reordered to make them easier to read](https://github.com/akkadotnet/akka.net/pull/5648)
62+
63+
__Improvements__:
64+
* [Akka: PipeTo can be configured to retain async threading context](https://github.com/akkadotnet/akka.net/pull/5684)
65+
66+
If you want to see the [full set of changes made in Akka.NET v1.4.34, click here](https://github.com/akkadotnet/akka.net/milestone/65?closed=1).
67+
68+
| COMMITS | LOC+ | LOC- | AUTHOR |
69+
|---------|--------|-------|---------------------|
70+
| 12 | 1177 | 718 | Ebere Abanonu |
71+
| 6 | 192 | 47 | Gregorius Soedharmo |
72+
| 3 | 255 | 167 | Ismael Hamed |
73+
| 1 | 3 | 0 | Aaron Stannard |
74+
| 1 | 126 | 10 | Drew |
375

476
#### 1.4.33 February 14 2022 ####
577
Akka.NET v1.4.33 is a minor release that contains some bug fixes. Most of the changes have been aimed at improving our web documentation and code cleanup to modernize some of our code. The most important bug fix is the actor Props memory leak when actors are cached inside Akka.Remote.

build-system/pr-validation.yaml

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
- task: Npm@1
3131
inputs:
3232
command: "custom"
33-
customCommand: "install -g cspell"
33+
customCommand: "install -g cspell@5.17.0"
3434
- task: CmdLine@2
3535
inputs:
3636
script: 'cspell --config ./docs/cSpell.json "docs/**/*.md"'
@@ -135,6 +135,17 @@ jobs:
135135
# artifactName: "docfx_test-$(Build.BuildId)"
136136
# run_if: eq(variables['Build.Reason'], 'PullRequest')
137137

138+
- template: azure-pipeline.template.yaml
139+
parameters:
140+
name: "docfx_test"
141+
displayName: "DocFX warning check"
142+
vmImage: "windows-2019"
143+
scriptFileName: build.cmd
144+
scriptArgs: docfx
145+
outputDirectory: "TestResults"
146+
artifactName: "docfx_test-$(Build.BuildId)"
147+
run_if: eq(variables['Build.Reason'], 'PullRequest')
148+
138149
- template: azure-pipeline.template.yaml
139150
parameters:
140151
name: "net_5_tests_windows"

docs/articles/actors/coordinated-shutdown.md

Lines changed: 1 addition & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -8,79 +8,7 @@ There's an `ActorSystem` extension called `CoordinatedShutdown` that will stop c
88

99
The default phases and their orderings are defined in the default HOCON configuration as `akka.coordinated-shutdown.phases`, and they are defined below:
1010

11-
```hocon
12-
phases {
13-
14-
# The first pre-defined phase that applications can add tasks to.
15-
# Note that more phases can be be added in the application's
16-
# configuration by overriding this phase with an additional
17-
# depends-on.
18-
before-service-unbind {
19-
}
20-
21-
# Stop accepting new incoming requests in for example HTTP.
22-
service-unbind {
23-
depends-on = [before-service-unbind]
24-
}
25-
26-
# Wait for requests that are in progress to be completed.
27-
service-requests-done {
28-
depends-on = [service-unbind]
29-
}
30-
31-
# Final shutdown of service endpoints.
32-
service-stop {
33-
depends-on = [service-requests-done]
34-
}
35-
36-
# Phase for custom application tasks that are to be run
37-
# after service shutdown and before cluster shutdown.
38-
before-cluster-shutdown {
39-
depends-on = [service-stop]
40-
}
41-
42-
# Graceful shutdown of the Cluster Sharding regions.
43-
cluster-sharding-shutdown-region {
44-
timeout = 10 s
45-
depends-on = [before-cluster-shutdown]
46-
}
47-
48-
# Emit the leave command for the node that is shutting down.
49-
cluster-leave {
50-
depends-on = [cluster-sharding-shutdown-region]
51-
}
52-
53-
# Shutdown cluster singletons
54-
cluster-exiting {
55-
timeout = 10 s
56-
depends-on = [cluster-leave]
57-
}
58-
59-
# Wait until exiting has been completed
60-
cluster-exiting-done {
61-
depends-on = [cluster-exiting]
62-
}
63-
64-
# Shutdown the cluster extension
65-
cluster-shutdown {
66-
depends-on = [cluster-exiting-done]
67-
}
68-
69-
# Phase for custom application tasks that are to be run
70-
# after cluster shutdown and before ActorSystem termination.
71-
before-actor-system-terminate {
72-
depends-on = [cluster-shutdown]
73-
}
74-
75-
# Last phase. See terminate-actor-system and exit-jvm above.
76-
# Don't add phases that depends on this phase because the
77-
# dispatcher and scheduler of the ActorSystem have been shutdown.
78-
actor-system-terminate {
79-
timeout = 10 s
80-
depends-on = [before-actor-system-terminate]
81-
}
82-
}
83-
```
11+
[!code-hocon[Pigeon.conf](../../../src/core/Akka/Configuration/Pigeon.conf#L1019-L1091)]
8412

8513
## Custom Phases
8614

docs/articles/actors/di-core.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ title: DI Core
66
# Akka.DI.Core
77

88
> [!WARNING]
9-
> As of [Akka.NET v1.4.15](https://github.com/akkadotnet/akka.net/releases/tag/1.4.15), Akka.DI.Core and all of the libraries that implement it are deprecated. Going forward Akka.NET users are encouraged to use the [Akka.DependencyInjection library](xref:dependency-injection) instead, which uses the Microsoft.Extensions.DependencyInjection interfaces to integration DI directly into your Akka.NET actors.
9+
> As of [Akka.NET v1.4.15](https://github.com/akkadotnet/akka.net/releases/tag/1.4.15), Akka.DI.Core and all of the libraries that implement it are deprecated. Going forward Akka.NET users are encouraged to use the [Akka.DependencyInjection library](xref:dependency-injection) instead, which uses the Microsoft.Extensions.DependencyInjection interfaces to integrate DI directly into your Akka.NET actors.
1010
1111
**Actor Producer Extension** library is used to create a Dependency Injection Container for the [Akka.NET](https://github.com/akkadotnet/akka.net) framework.
1212

docs/articles/actors/finite-state-machine.md

Lines changed: 3 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -99,31 +99,15 @@ The `stateFunction` argument is a `delegate State<TState, TData> StateFunction(E
9999

100100
Each `FSM` needs a starting point, which is declared using
101101

102-
```csharp
103-
StartWith(state, data[, timeout])
104-
```
102+
[!code-csharp[Main](../../../src/core/Akka.Docs.Tests/Actors/FiniteStateMachine/ExampleFSMActor.cs?name=StartWith)]
105103

106104
The optionally given timeout argument overrides any specification given for the desired initial state. If you want to cancel a default timeout, use `null`.
107105

108106
### Unhandled Events
109107

110108
If a state doesn't handle a received event a warning is logged. If you want to do something else in this case you can specify that with `WhenUnhandled(stateFunction)`:
111109

112-
```csharp
113-
WhenUnhandled(state =>
114-
{
115-
if (state.FsmEvent is Queue x)
116-
{
117-
_log.Info("Received unhandled event: " + x);
118-
return Stay();
119-
}
120-
else
121-
{
122-
_log.Warning("Received unknown event: " + state.FsmEvent);
123-
return Goto(new Error());
124-
}
125-
});
126-
```
110+
[!code-csharp[Main](../../../src/core/Akka.Docs.Tests/Actors/FiniteStateMachine/ExampleFSMActor.cs?name=UnhandledHandler)]
127111

128112
Within this handler the state of the `FSM` may be queried using the stateName method.
129113

@@ -163,23 +147,7 @@ OnTransition(handler)
163147

164148
which associates actions with a transition instead of with a state and event. The handler is a delegate `void TransitionHandler(TState initialState, TState nextState)` function which takes a pair of states as input; no resulting state is needed as it is not possible to modify the transition in progress.
165149

166-
```csharp
167-
OnTransition((initialState, nextState) =>
168-
{
169-
if (initialState == State.Active && nextState == State.Idle)
170-
{
171-
SetTimer("timeout", new Tick(), TimeSpan.FromSeconds(1), repeat: true);
172-
}
173-
else if (initialState == State.Active)
174-
{
175-
CancelTimer("timeout");
176-
}
177-
else if (nextState == State.Idle)
178-
{
179-
_log.Info("entering Idle from " + initialState);
180-
}
181-
});
182-
```
150+
[!code-csharp[Main](../../../src/core/Akka.Docs.Tests/Actors/FiniteStateMachine/ExampleFSMActor.cs?name=TransitionHandler)]
183151

184152
The handlers registered with this method are stacked, so you can intersperse `OnTransition` blocks with when blocks as suits your design. It should be noted, however, that all handlers will be invoked for each transition, not only the first matching one. This is designed specifically so you can put all transition handling for a certain aspect into one place without having to worry about earlier declarations shadowing later ones; the actions are still executed in declaration order, though.
185153

File renamed without changes.

docs/articles/actors/toc.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
- name: ReceiveActor API
2+
href: receive-actor-api.md
3+
- name: UntypedActor API
4+
href: untyped-actor-api.md
5+
- name: Routers
6+
href: routers.md
7+
- name: Dispatchers
8+
href: dispatchers.md
9+
- name: Mailboxes
10+
href: mailboxes.md
11+
- name: Scheduling Future and Recurring Messages
12+
href: schedulers.md
13+
- name: Akka.IO
14+
href: io.md
15+
- name: Inbox
16+
href: inbox.md
17+
- name: Finite State Machines
18+
href: finite-state-machine.md
19+
- name: Fault Tolerance
20+
href: fault-tolerance.md
21+
- name: Dependency Injection
22+
href: dependency-injection.md
23+
- name: Dependency Injection Core
24+
href: di-core.md
25+
- name: Testing Actor Systems
26+
href: testing-actor-systems.md
27+
- name: Coordinated Shutdown
28+
href: coordinated-shutdown.md
29+

docs/articles/clustering/cluster-overview.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ A cluster represents a fault-tolerant, elastic, decentralized peer-to-peer netwo
1111

1212
## What Does Akka.Cluster Do?
1313

14-
The best way to begin introducing Akka.Cluster is with brief overview of what it does. Akka.Cluster is the [package](https://www.nuget.org/packages/Akka.Cluster/1.0.3.11-beta) that brings clustering support to Akka.NET, and it accomplishes this by adding the following capabilities to Akka.NET:
14+
The best way to begin introducing Akka.Cluster is with brief overview of what it does. Akka.Cluster is the [package](https://www.nuget.org/packages/Akka.Cluster/) that brings clustering support to Akka.NET, and it accomplishes this by adding the following capabilities to Akka.NET:
1515

1616
* Makes it easy to create peer-to-peer networks of Akka.NET applications
1717
* Allows peers to automatically discover new nodes and removed dead ones automatically with no configuration changes
@@ -236,6 +236,7 @@ A node might also exit the cluster gracefully, preventing it from being marked a
236236
<iframe width="560" height="315" src="https://www.youtube.com/embed/mUTKvGyxbOA" frameborder="0" allowfullscreen></iframe>
237237
<!-- markdownlint-enable MD033 -->
238238

239+
* [Cluster Member Roles](xref:member-roles)
239240
* [How to Create Scalable Clustered Akka.NET Apps Using Akka.Cluster](https://petabridge.com/blog/intro-to-akka-cluster/)
240241
* [Video: Introduction to Akka.Cluster](https://www.youtube.com/watch?v=mUTKvGyxbOA)
241242
* [Gossip Protocol](https://en.wikipedia.org/wiki/Gossip_protocol)

0 commit comments

Comments
 (0)