You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Actor runtime: preemption (slices + isolates) and nodes (actors.t27 sections 8 and 9) #1703
Owner, 2026-10-09: there is no distribution across machines and no BEAM-style preemption; improve both. The spec is gHashTag/t27 specs/queen/actors.t27 sections 8 and 9 (gHashTag/t27#7900, PR gHashTag/t27#7901).
Acceptance criteria
The runtime yields to timers and I/O after each slice (slice_spent). A 0 ms timer runs during a 200 000-turn message chain, not after it.
An isolated turn runs in an OS thread or an OS process, as turn_isolation decides. A process kill really stops the work (SIGKILL). A thread kill is reported as abandoning only, because a terminated worker thread was measured still running.
A pid names its node. Send, monitor, exit and spawn cross nodes over a NodeLink. A node whose lease lapses gives X_NOCONNECTION to every monitor across it, and remoteChild restarts on the roomiest node that is up (place_before).
The tests and the printed numbers are in tests/api/queen-actors-dist.test.ts.
tests/api/queen-actors-dist.test.ts covers sections 8 and 9: a 0 ms timer during 200 000 turns, thread vs process kill (SIGKILL), a pid that names its node, cross-node send and monitor, noconnection after the node lease lapses, and placement on the roomiest node.
Activity
feat(queen): nodes on different machines - a PostgreSQL link, the sto…
chore(queen): PIN names t27#7907, the PR that lands sections 8 and 9 …
feat(queen): preemption in two halves and nodes - the actor runtime p…
feat(queen): nodes on different machines - a PostgreSQL link, the sto…
chore(queen): PIN names t27#7907, the PR that lands sections 8 and 9 …
feat(queen): preemption (slices + isolates) and nodes - actor runtime…
feat(queen): preemption in two halves and nodes - the actor runtime p…
feat(queen): nodes on different machines - a PostgreSQL link, the sto…
chore(queen): PIN names t27#7907, the PR that lands sections 8 and 9 …
dmitrii-f-t27 commentedon Oct 11, 2026
Done on
queen: 4811a2a (squash of PR #1704). Checked at queen 9cfb52b:tests/api/queen-actors-dist.test.tscovers sections 8 and 9: a 0 ms timer during 200 000 turns, thread vs process kill (SIGKILL), a pid that names its node, cross-node send and monitor, noconnection after the node lease lapses, and placement on the roomiest node.queenbase).Closed by hand: a PR into
queendoes not auto-close issues.Dmitrii Fedorov (@dmitrii-f-t27)