aboutsummaryrefslogtreecommitdiffstats
path: root/src/remake/switch.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-10-25 20:09:39 +0100
committertv <tv@krebsco.de>2026-10-25 20:09:39 +0100
commitc20d9217dbb98a18a5329f40dfabdbf9b3fae949 (patch)
tree73290334d160eda7b19b4bedcb9f6a24b69f7e28 /src/remake/switch.rs
parent58255e611b374d592bd6cb1f6ec16f35b1f93bbe (diff)
only keep list of actor IDs within one epoch (fixup)
Diffstat (limited to 'src/remake/switch.rs')
-rw-r--r--src/remake/switch.rs2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/remake/switch.rs b/src/remake/switch.rs
index e78643a..1a4dbf9 100644
--- a/src/remake/switch.rs
+++ b/src/remake/switch.rs
@@ -207,6 +207,7 @@ async fn switch<H: Host>(
let actor = ActorId::random();
host.remake().add_own_actor(actor.clone());
+ let new_actor = actor.clone();
// 2. Build (or reuse), verify and replay without holding any lock.
let (new_doc, copy_heads, mut stats) = tokio::task::spawn_blocking(
@@ -245,6 +246,7 @@ async fn switch<H: Host>(
// 3. Swap, replaying what arrived since the copy.
let (old, late) = swap_in(host, expected, new_doc, copy_heads, late_translator).await?;
stats.absorb(late);
+ host.remake().reset_own_actors(new_actor);
// 4. Writes the remake had no place for wait for an operator (the old document
// holds them); the old document is kept as configured either way.