You cannot connect to DO IDs of a different namespace. The ID you connect to has to be from the name
You cannot connect to DO IDs of a different namespace. The ID you connect to has to be from the namespace used to access it.
If an exception is thrown by a Durable Object stub all in-flight calls and future calls will fail with exceptions. To continue invoking methods on a remote Durable Object a Worker must recreate the stub.

For compute requests billing-only, a 20:1 ratio is applied to incoming WebSocket messages to factor in smaller messages for real-time communication. For example, 100 WebSocket incoming messages would be charged as 5 requests for billing purposes.From https://developers.cloudflare.com/durable-objects/platform/pricing/
Error: internal errorInternal error in Durable Object storage caused object to be reset.?wrangler do --namespace <ns> read <id> <db.sqlite>Also, it'd be nice to have locally replicated DO sqlite files for debugging. Maybe with something like wrangler do --namespace <ns> read <id> <db.sqlite>You mean, doing an export/dump/copy right once? You don't expect things to be replicated locally in real time when changes happen remotely.
After the DO gets evicted, next time it's accessed, if there was already a read replica in the new data center, that replica gets promoted to write leader.This is something that we are thinking about but not as part of read replication. Moving the primary should take into account more than just a single request, so it wouldn't work like that, but yeah the team at some points wants to be able to move primary DOs.
You mean, doing an export/dump/copy right once? You don't expect things to be replicated locally in real time when changes happen remotely.Right, I don't really care about real-time. I was thinking about explicitly doing a one way sync with a command, maybe
pull is a better word. A command to export just once would be great, the one way sync would be just an optimization.constructor get called everytime when theres a new deployment and the DO gets accessed?await this._migrations.runAll(); in all sql queries, instead of a one off await this._migrations.runAll(); in the constructor?that doesn't need stored data
ResultErrorconsole.logResultError
at IdentifierResolver.reserve (file:///path-1/index.ts:54:16) {
code: 'IDENTIFIER_NOT_AVAILABLE'
}
[
ResultError
at IdentifierResolver.reserve (file:///path-2/index.ts:54:16)
]codeinstanceofinstanceofdeleteAlldeleteAlldatabaseSizeawait storage.deleteAll()durable-objects-sql-example.wilmake.comasync reserve(): Promise<Result> {
if (this.status !== "available") {
const err = new ResultError("IDENTIFIER_NOT_AVAILABLE");
console.log(err);
return {
success: false,
// errors: [new ResultError("IDENTIFIER_NOT_AVAILABLE")],
errors: [err],
};
}
}const resolverStubId = this.env.IDENTIFIER_RESOLVER.idFromName(
user.identifier,
);
const resolverStub = this.env.IDENTIFIER_RESOLVER.get(resolverStubId);
const reservationResult = await resolverStub.reserve();
if (reservationResult.success === false) {
console.log(reservationResult.errors);
return {
success: false,
errors: [
...reservationResult.errors,
new ResultError("IDENTIFIER_COULD_NOT_BE_RESERVED"),
],
};
}