|
40 | 40 | import org.apache.pekko.actor.ActorRef; |
41 | 41 | import org.apache.pekko.actor.ActorSystem; |
42 | 42 | import org.apache.pekko.actor.Props; |
| 43 | +import org.apache.pekko.actor.ReceiveTimeout; |
43 | 44 | import org.apache.pekko.actor.Status; |
44 | 45 | import org.apache.pekko.actor.SupervisorStrategy; |
45 | 46 | import org.apache.pekko.cluster.Cluster; |
|
135 | 136 | import org.eclipse.ditto.internal.utils.persistence.mongo.config.SnapshotConfig; |
136 | 137 | import org.eclipse.ditto.internal.utils.persistence.mongo.streaming.MongoReadJournal; |
137 | 138 | import org.eclipse.ditto.internal.utils.persistentactors.AbstractPersistenceActor; |
| 139 | +import org.eclipse.ditto.policies.enforcement.AbstractEnforcerActor; |
138 | 140 | import org.eclipse.ditto.internal.utils.persistentactors.EmptyEvent; |
139 | 141 | import org.eclipse.ditto.internal.utils.persistentactors.commands.CommandStrategy; |
140 | 142 | import org.eclipse.ditto.internal.utils.persistentactors.commands.DefaultContext; |
@@ -706,6 +708,13 @@ protected Receive matchAnyAfterInitialization() { |
706 | 708 | .matchEquals(Control.TRIGGER_UPDATE_PRIORITY, this::triggerUpdatePriority) |
707 | 709 | .match(UpdatePriority.class, this::updatePriority) |
708 | 710 | .match(ConnectionSupervisorActor.RestartByConnectionType.class, this::initiateRestartByConnectionType) |
| 711 | + // ReceiveTimeout may arrive here during startup due to the supervisor's |
| 712 | + // stash-unstash-forward mechanism — ignore gracefully: |
| 713 | + .match(ReceiveTimeout.class, receiveTimeout -> |
| 714 | + log.debug("Ignoring ReceiveTimeout forwarded from supervisor during startup.")) |
| 715 | + // PA_RECOVERED may be echoed back by NoOpEnforcerActor — ignore gracefully: |
| 716 | + .matchEquals(AbstractEnforcerActor.Control.PA_RECOVERED, paRecovered -> |
| 717 | + log.debug("Ignoring PA_RECOVERED echoed back by enforcer.")) |
709 | 718 | .build() |
710 | 719 | .orElse(super.matchAnyAfterInitialization()); |
711 | 720 | } |
|
0 commit comments