[object Object]

← back to Exo

slow down catchup (#1407)

a2f1d48712bb1e3e2d4983e8baef09a3e93189c3 · 2026-02-06 20:45:27 +0000 · Evan Quiney

our event log request blasted the whole event log over libp2p, now it
just does the next 1000 messages - hopefully allowing nodes to catch up
a bit more consistently for long lived clusters

Co-authored-by: rltakashige <rl.takashige@gmail.com>

Files touched

Diff

commit a2f1d48712bb1e3e2d4983e8baef09a3e93189c3
Author: Evan Quiney <evanev7@gmail.com>
Date:   Fri Feb 6 20:45:27 2026 +0000

    slow down catchup (#1407)
    
    our event log request blasted the whole event log over libp2p, now it
    just does the next 1000 messages - hopefully allowing nodes to catch up
    a bit more consistently for long lived clusters
    
    Co-authored-by: rltakashige <rl.takashige@gmail.com>
---
 src/exo/master/main.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/exo/master/main.py b/src/exo/master/main.py
index 97f778b1..a0f564ae 100644
--- a/src/exo/master/main.py
+++ b/src/exo/master/main.py
@@ -332,7 +332,11 @@ class Master:
                                 ]
                         case RequestEventLog():
                             # We should just be able to send everything, since other buffers will ignore old messages
-                            for i in range(command.since_idx, len(self._event_log)):
+                            # rate limit to 1000 at a time
+                            for i in range(
+                                command.since_idx,
+                                min(command.since_idx + 1000, len(self._event_log)),
+                            ):
                                 await self._send_event(
                                     IndexedEvent(idx=i, event=self._event_log[i])
                                 )

← 3b2f553a Fix kimi tool calling id (#1413)  ·  back to Exo  ·  bench: make exo-bench available via nix run on all platforms d79b3a0e →