-
Notifications
You must be signed in to change notification settings - Fork 3.6k
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Productionize: GetShardRegionStats returns empty shard set on ask timeout #27100
Comments
Both not producing an answer on failure and making the timeout configurable sounds good to me. I think the reason it is hardcoded is that it initially wasn't meant as a message protocol for production but tests and then grew to be used in production scenarios. Would you be up to do a PR with the two changes? |
I'll take this. My understanding of what we want to do is
|
Regarding the return of all stats or an empty Map - from the scaladoc
So we are doing this as a flag to determine if the sharded cluster is "ready" yet it is a problem when used against an already running sharded cluster, where some shards are busy and can't respond within the overarching timeout. I'll update this as well. |
Once this is merged I will push a PR against Akka Management for making |
…akka#27299 - precursor to work coming in: Productionize: GetShardRegionStats returns empty shard set on ask timeout akka#27100
…akka#27299 - precursor to work coming in: Productionize: GetShardRegionStats returns empty shard set on ask timeout akka#27100
…akka#27100. Includes all PR review suggestions.
…akka#27100. Includes all PR review suggestions.
…akka#27100. Includes all PR review suggestions.
Akka version: 2.5.22
When some of the shards are too busy
GetShardRegionStats
starts to return an empty shard set even though I see that some shards are handling requests. Consequently the same behaviour is incluster/shards
Akka Management HTTP API as it usesGetShardRegionStats
.Also it can be seen in the implementation code:
And the ask timeout is hardcoded and there is no way to override it:
Judging by the code the same applies to other sharding state inspection methods like
GetShardRegionState
.I haven't found this behaviour documented anywhere, it took me some time to figure out that if the management API says I have 0 shards allocated it doesn't always mean it.
Would be great to at least to document it, but best to change it somehow so inability to collect the data for some shards is presented to the sharding inspection API user.
Also it would be great if the ask timeout was configurable.
The text was updated successfully, but these errors were encountered: