A poisoned mailbox is an actor mailbox where one repeatedly failing message prevents later messages from being processed. A corrupted file or unparseable line can create this condition when reprocessing repeats the same failure. section 5.1.2
Avoid the failure pattern with these operational choices:
- Do not normally reprocess a failed message, because it may have caused the exception. section 5.1.2
- Let the supervisor choose whether to resume, stop, or restart the actor after an exception. section 5.1.2
- Remove the failed message from the mailbox unless you are certain it did not cause the error. section 5.1.2
LogProcessor
A LogProcessor encounters a corrupted file or unparseable line. Retrying that message indefinitely can block every subsequent message, whereas discarding it allows processing to continue under the supervisor’s recovery policy. section 5.1.2
Figure 5.6 Supervisor wrapping an actor’s behavior and deciding on a recovery action after an exception
Trace how a supervisor wraps actor behavior and selects a recovery action after an exception. section 5.1.2
