The GitHub Actions job "Pull Requests" on 
pekko.git/fix-3691-watch-cached-replicator has failed.
Run started by GitHub user He-Pin (triggered by He-Pin).

Head commit for run:
e3fe674b8e4ff4d4e2da41ffffc2ace52298d6cd / 虎鸣 <[email protected]>
fix: watch the cached per-role Replicator in ClusterShardingGuardian

Motivation:
ClusterShardingGuardian caches the per-role Replicator ref without watching
it. If the replicator stops itself (e.g. self removed from the cluster or
cluster shutdown), the stale ref stays in the cache and is served to every
later caller, so remember-entities and coordinator state silently go to
dead letters for the lifetime of the ActorSystem.

Modification:
Watch the Replicator when caching it and evict the cache entry on
Terminated, so a later start creates a fresh Replicator. Add
ClusterShardingGuardianSpec covering the stopped-replicator case.

Result:
A stopped Replicator is no longer served from the cache; the next sharding
start recreates it.

Tests:
- sbt "cluster-sharding / Test / testOnly 
org.apache.pekko.cluster.sharding.ClusterShardingGuardianSpec": passed
- Reverted the fix and re-ran: failed as expected (directional)

References:
Fixes #3691

Report URL: https://github.com/apache/pekko/actions/runs/40108297717

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to