Actor not found

We're using Rivet deployed on Cloudflare Workers and at around 15:40 UTC today (2025-11-20) we started getting "Actor not found" for 25% of our calls when calling our actors via getForId. The issue seems to have resolve itself after a new workers deploy 5 hours later; wondering if y'all have encountered this before? I'm assuming it's some transient Durable Objects issue.
No description
15 Replies
Nathan
Nathan3w ago
hey! can you send what rivetkit version you're using
s̸̘̩̓̍ẻ̸͕ͅå̶̡͖ṅ̴̹̊͜
2.0.21 (I work with @maxbittker 🙂 )
Nathan
Nathan3w ago
was there a trace on that error by chance? older versions didn't always log the trace unfortunately
s̸̘̩̓̍ẻ̸͕ͅå̶̡͖ṅ̴̹̊͜
Here's an example
Error: Actor not found: 2761127a3be1f50ba2047f3fb4ded07e92b50aba59f324850a48198132a8eea9 (https://www.rivet.dev/docs/actors/clients/#actor-client)
at ActorHandleRaw.action (source.js:270657:17)
at async source.js:272005:11
at async handler (source.js:336204:20)
at async Timing.run (source.js:336218:18)
Error: Actor not found: 2761127a3be1f50ba2047f3fb4ded07e92b50aba59f324850a48198132a8eea9 (https://www.rivet.dev/docs/actors/clients/#actor-client)
at ActorHandleRaw.action (source.js:270657:17)
at async source.js:272005:11
at async handler (source.js:336204:20)
at async Timing.run (source.js:336218:18)
Nathan
Nathan3w ago
give me one moment, i'm digging is this the same id or is this where the id is frequently getitng fetched after creation?
Nathan
Nathan3w ago
tbh it's hard to reason about 2.0.21 since it used to rely on workers kv, which is not strongly consistent. the bleeding edge version is purely DO and should be strongly consistent, it no longer relies on KV. the above code is the only place that could throw ActorNotFound. something is clearly wrong with the eventual consistency.
No description
Nathan
Nathan3w ago
however, i'm not sure why a fresh deploy would affect this unless that somehow purges the cache workers kv has been a nightmare every time i try to use it
s̸̘̩̓̍ẻ̸͕ͅå̶̡͖ṅ̴̹̊͜
this is basically what we're doing:
const actor = client.site.getOrCreate(args.id); // application level id;
const actorId = await actor.resolve();
...
const actorAgain = client.site.getForId(actorId);
const actor = client.site.getOrCreate(args.id); // application level id;
const actorId = await actor.resolve();
...
const actorAgain = client.site.getForId(actorId);
hmm okay so maybe upgrading to the bleeding edge version should resolve this problem
Nathan
Nathan3w ago
that smells like a worker kv consistency issue i don't see any other way
s̸̘̩̓̍ẻ̸͕ͅå̶̡͖ṅ̴̹̊͜
i like it (moving off worker kv)
Nathan
Nathan3w ago
i would recommend going back to bleeding edge which uses pure DO. i can do a quick sanity check and send over the package name if you'd like haha yeah
s̸̘̩̓̍ẻ̸͕ͅå̶̡͖ṅ̴̹̊͜
do you have a version to recommend?
Nathan
Nathan3w ago
yeah give me one moment it's building gonna take a sec fixing a bug related to https://discord.com/channels/822914074136018994/1437924726327738398 hold on give this a go:
pnpm add https://pkg.pr.new/rivet-dev/rivet/rivetkit@c4298c4
pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/cloudflare-workers@c4298c4
pnpm add https://pkg.pr.new/rivet-dev/rivet/rivetkit@c4298c4
pnpm add https://pkg.pr.new/rivet-dev/rivet/@rivetkit/cloudflare-workers@c4298c4
this has the inline client + does not use workers kv @s̸̘̩̓̍ẻ̸͕ͅå̶̡͖ṅ̴̹̊͜ if you didn't see https://discord.com/channels/822914074136018994/1437924726327738398/1441195119859470561 this was released in 2.0.24 lmk if that works for yall
s̸̘̩̓̍ẻ̸͕ͅå̶̡͖ṅ̴̹̊͜
works great, thanks @Nathan ! FYI we ran into some hiccups with DO migrations since ActorDO was previously deployed without sqlite and the new version needed sqlite instead of dealing with playing out the right sequence of migrations to turn down the old namespace and turn up the new one we just opted to have some downtime aka delete our worker entirely, and redeploy it
Nathan
Nathan2w ago
thx for the heads up, we moved over from do kv to sqlite and i suspect there was a glitch in the migration there. will take a look.

Did you find this page helpful?