-
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
Sharding update #3524
Sharding update #3524
Conversation
akka/akka#23472 Fix lookup of coordinator for sharding proxies akka/akka#23995
AFAICT there was nothing ensuring the order of messages when sent to the shard and the region so first checkthat the passivation has happened before sending another add in the test akka/akka#24013
@zbynek001 sure you don't want that tshirt? |
Seriously though, I was about to go through Cluster.Sharding this weekend to look at some of the open issues we have on that front :p - guess I'll start by reviewing this monster 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two minor details - beside that it looks good to go (also I'll have hell of a time trying to rebase it on multi-dc branch).
{ | ||
} | ||
} | ||
|
||
internal class CounterSupervisor : ActorBase | ||
{ | ||
public readonly IActorRef Counter; | ||
public static string ShardingTypeName => "CounterSupervisor"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can be nameof(CounterSupervisor)
.
|
||
public static Config GetConfig() | ||
{ | ||
return ConfigurationFactory.ParseString("akka.actor.provider = \"Akka.Cluster.ClusterActorRefProvider, Akka.Cluster\"") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Use akka.actor.provider = cluster
.
also wanted to include:
@Aaronontheweb I thought you were only joking ;) @Horusiath Sorry about that, hope there will be not so many conflicts |
@zbynek001 I have a PR open for some of those: Think if I get this one passing that will fix it: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Couple of minor changes
@@ -0,0 +1,69 @@ | |||
//----------------------------------------------------------------------- | |||
// <copyright file="ClusterShardingConfigSpec.cs" company="Akka.NET Project"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copyright headers have the wrong file names
/// <returns>The actor ref of the <see cref="Sharding.ShardRegion"/> that is to be responsible for the shard.</returns> | ||
public IActorRef Start( | ||
string typeName, | ||
Func<string, Props> entityPropsFactory, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So I think this API change is fine, but we should have some documentation about it on the cluster-sharding Akka.NET documentation similar to what they did on the JVM in that PR: https://github.com/akka/akka/pull/24058/files#diff-d0e085b72595aa4dfa9e30261feecd93
@zbynek001 I'm in the process of ordering some more tshirts, might take a bit to ship them but it's in the works. Send me an email with your shipping info :p |
@zbynek001 ActorSystem contains logger instance as well. |
also included this one: And that will be all in this PR |
Great work as usual @zbynek001 |
Contains following changes:
Provide access to known shard types
Provide access to known shard types akka/akka#23912
Separate sharding regions and proxies
Bug: Shard coordinator is never created if a shard proxy starts before the shard region itself akka/akka#23472
Fix lookup of coordinator for sharding proxies
Fix lookup of coordinator for sharding proxies akka/akka#23995
Fix race in ClusterShardingFailureSpec
AFAICT there was nothing ensuring the order of messages when sent to the
shard and the region so first checkthat the passivation has happened
before sending another add in the test
failed: ClusterShardingFailureSpec akka/akka#24013
Better warning message on cluster sharding registration
Better warning message on cluster sharding registration akka/akka#24906
entityId => Behavior in ClusterSharding API
mixture of
Cluster sharding: Expose entity ID to the sharded actor akka/akka#24053
FAILED PersistentClusterShardingWithEntityRecovery akka/akka#21809
Sharding entityId => Behavior factory akka/akka#24470
ClusterSharding: automatically choose start or startProxy by a node role
ClusterSharding: lack of ability to automatically choose start or startProxy by a node role akka/akka#23934