Details
-
Bug
-
Status: Accepted
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
Currently, when a libprocess actor calls delay, the target PID is passed to ProcessManager::deliver, which looks up the target with use(). This means that the process is looked up using its process ID, rather than using a unique process reference.
This means that when running a test in repetition, it's possible that delays executed by a particular actor can be unexpectedly dispatched to an actor with the same process ID in subsequent iterations of the test. This can be an issue when actors are initialized explicitly with a particular PID.
We could instead capture a ProcessReference when the delay is initially called, and dispatch to the unique reference.
Attachments
Issue Links
- is related to
-
MESOS-8687 Check failure in `ProcessBase::_consume()`.
- Resolved