rivetkit: 'failed to sync scheduled actor alarm' (transaction_closed) about once per minute per idle actor; scheduled wakes still fire on time
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 22/100
Direzione di ricerca
Start by searching the Rust source for the log message 'failed to sync scheduled actor alarm' and the query 'SELECT MIN(trigger_at) FROM _rivet_schedule_events', then trace the actor sleep path that runs after the SQLite transaction coordinator closes. Reproducing needs an actor with nothing scheduled that goes idle for about a minute. Done means that path no longer logs transaction_closed while scheduled wakes still fire on time.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Version: rivetkit 2.3.26 (LocalNative sqlite backend), @rivet-dev/pi 0.5.2, @earendil-works/pi-durable 1.2.0. One actor per agent, about 14 actors on one runner process.
Symptom. For every actor, roughly once every 61 s, the runner logs:
level=error message="sqlite operation failed" backend=LocalNative operation=query
sql="SELECT MIN(trigger_at) FROM _rivet_schedule_events" code=transaction_closed
error_message="SQLite transaction coordinator is closed."
level=error message="failed to sync scheduled actor alarm" (error chain: transaction_closed)
The actor's generation counter climbs with it (about one generation per minute per actor), so each actor seems to wake and sleep roughly once a minute.
Expected. No error when an actor sleeps with nothing scheduled, or the alarm sync runs before the transaction coordinator is closed on the sleep path.
What we measured
- The cadence is steady (for one actor: 16:22:20, 16:23:22, 16:24:23) and independent of client traffic: it continued while our own client loops were idle.
- It is not our own scheduling. We checked our incident-retry alarm (no incident exists on any actor), our config sync (digest-deduped, runs at process start only), our message-ingress loop (quiet during the errors), and
@rivet-dev/pi's long-wait wake (we instrumented thec.schedule.at(...)call for it: zero calls while the errors kept appearing). - Impact: none found. We had an idle actor schedule a wake 90 s out through
c.schedule.after. It fired on time (about 90.0 s after scheduling, within roughly a second) while the same actor kept logging the sync failure. Scheduled alarms are therefore not being lost; the error looks like noise in the sleep path.
Questions
- Which timer wakes an idle actor about every 61 s (an engine-side keepalive?)
- Why does the alarm sync run after the transaction coordinator is closed on the sleep path, and is the error safe to ignore?
Happy to provide more logs or run a probe.
- Lingua principale
- Rust
- Stelle
- 6.3k
- Fork
- 279
- Merge medio
- 1g 9h
- PR unite (30g)
- 53
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Nessuna guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di rivet-dev/rivet
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
rivet-dev/rivet#5891 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Rust client drops connection-level errors when actionId is null (JSON/CBOR)Forse già presa @DibbayajyotiRoy l’ha presa 19 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
rivet-dev/rivet#5819 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Queue docs say completable messages are removed on receive, but they stay stored until complete()Forse già presa @Saisharathchandranandnetha l’ha presa 29 giorni fa. Aperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 91/100
rivet-dev/rivet#5762 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Serverless listener forwards /start to the application when basePath is "/"Forse già presa @Saisharathchandranandnetha l’ha presa 32 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
rivet-dev/rivet#5755 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
rivet-dev/rivet#5909 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di rivet-dev/rivet
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
peteonrails/voxtype#909 ·
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
alchemyplatform/rundler#1358 ·
I maintainer di solito rispondono entro 3 giorni
-
[BUG] VA-API HEVC: out-of-range cu_qp_delta (measured -130..+56) produces a corrupted bitstreamAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
selkies-project/pixelflux#52 · 4 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
llm translation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
BerriAI/litellm#47884 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
area:testing bug good first issue platform:windows priority:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
rtk-ai/rtk#4728 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno