Two issues: 1) ShardRegion actor must stop itself when the node is shutting down, ie. when receiving MemberRemoved(selfAddress) 2) ShardCoordinator must not persist anything when the node is shutting down. MemberRemoved of other shard regions will trigger Terminated, which must not be persisted, because then the next coordinator will replay those events and end up in wrong state. This is a problem announced itself when using leaving as illustrated in the new test. To solve the second issue I have added a new ClusterShuttingDown event that is published before the MemberRemoved events. Note that Terminated is triggered by MemberRemoved. (cherry picked from commit 1b272c72597beece9d93f0054f4b58e3d25f9ae2) |
||
|---|---|---|
| akka-actor | ||
| akka-actor-tests | ||
| akka-agent | ||
| akka-bench-jmh | ||
| akka-camel | ||
| akka-cluster | ||
| akka-cluster-metrics | ||
| akka-contrib | ||
| akka-docs | ||
| akka-kernel | ||
| akka-multi-node-testkit | ||
| akka-osgi | ||
| akka-persistence | ||
| akka-persistence-tck | ||
| akka-remote | ||
| akka-remote-tests | ||
| akka-samples | ||
| akka-slf4j | ||
| akka-stream/src | ||
| akka-testkit | ||
| akka-typed | ||
| atmos/src/main/resources | ||
| project | ||
| scripts | ||
| src/main/ls | ||
| .gitignore | ||
| build.sbt | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
Akka
We believe that writing correct concurrent & distributed, resilient and elastic applications is too hard. Most of the time it's because we are using the wrong tools and the wrong level of abstraction.
Akka is here to change that.
Using the Actor Model we raise the abstraction level and provide a better platform to build correct concurrent and scalable applications.
For resilience we adopt the "Let it crash" model which the telecom industry has used with great success to build applications that self-heal and systems that never stop.
Actors also provide the abstraction for transparent distribution and the basis for truly scalable and fault-tolerant applications.
Akka is Open Source and available under the Apache 2 License.
Learn more at akka.io. Join the akka-user mailing list. Follow @akkateam on twitter.