summaryrefslogtreecommitdiffstats
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
commit0fdfe7d6f35b1914f901c710b23f88c64773fa90 (patch)
tree235c99c64f8ee6b6f6a5308e5a661df8e065a415 /src/remake/switch.rs
parent6d09b81329d33deb7e2ee614aa0c3025555c0f14 (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.