Skip to content

Commit d332236

Browse files
Fix Shard remember-entities flag mismatch causing entity restart failures (#8054)
The Shard constructor derived _rememberEntities from whether a provider was passed, but passed settings.RememberEntities (from HOCON config) to the Entities class. When a provider was supplied without the config flag, the Entities._remembering set was never populated. This caused OnUpdateDone to see no pending work and overwrite the WaitingForRememberEntitiesStore behavior with Idle, dropping the subsequent UpdateDone from the store and preventing entity restarts.
1 parent 71f0350 commit d332236

File tree

1 file changed

+1
-1
lines changed
  • src/contrib/cluster/Akka.Cluster.Sharding

1 file changed

+1
-1
lines changed

src/contrib/cluster/Akka.Cluster.Sharding/Shard.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1007,7 +1007,7 @@ public Shard(
10071007
var failOnInvalidStateTransition =
10081008
Context.System.Settings.Config.GetBoolean(
10091009
"akka.cluster.sharding.fail-on-invalid-entity-state-transition");
1010-
_entities = new Entities(Log, settings.RememberEntities, _verboseDebug, failOnInvalidStateTransition);
1010+
_entities = new Entities(Log, _rememberEntities, _verboseDebug, failOnInvalidStateTransition);
10111011

10121012
var idleInterval = TimeSpan.FromTicks(_settings.PassivateIdleEntityAfter.Ticks / 2);
10131013
_passivateIdleTask = _settings.ShouldPassivateIdleEntities

0 commit comments

Comments
 (0)