orez-sync-cf-host 0.12.3 → 0.12.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.js +1 -1
- package/dist/host.js +6 -1
- package/dist/types.d.ts +6 -1
- package/package.json +2 -2
package/dist/config.js
CHANGED
|
@@ -76,7 +76,7 @@ export function validateSyncHostConfig(config) {
|
|
|
76
76
|
maxAttempts: config.delegatedPushRetry.maxAttempts ?? 3,
|
|
77
77
|
initialBackoffMs: config.delegatedPushRetry.initialBackoffMs ?? 100,
|
|
78
78
|
maxBackoffMs: config.delegatedPushRetry.maxBackoffMs ?? 1_000,
|
|
79
|
-
timeoutMs: config.delegatedPushRetry.timeoutMs ??
|
|
79
|
+
timeoutMs: config.delegatedPushRetry.timeoutMs ?? 30_000,
|
|
80
80
|
})) {
|
|
81
81
|
if (!Number.isSafeInteger(value) || value < 1)
|
|
82
82
|
throw new TypeError(`delegatedPushRetry.${name} must be a positive safe integer`);
|
package/dist/host.js
CHANGED
|
@@ -277,7 +277,12 @@ export function createSyncDurableObject(config) {
|
|
|
277
277
|
const delegateMaxAttempts = config.delegatedPushRetry?.maxAttempts ?? 3;
|
|
278
278
|
const delegateInitialBackoffMs = config.delegatedPushRetry?.initialBackoffMs ?? 100;
|
|
279
279
|
const delegateMaxBackoffMs = config.delegatedPushRetry?.maxBackoffMs ?? 1_000;
|
|
280
|
-
|
|
280
|
+
// 30s, not a snappier number: delegate wall time under write-lane contention
|
|
281
|
+
// is queueing, not compute (measured ~5s wall at ~90ms cpu), and an abort
|
|
282
|
+
// cancels the app invocation mid-transaction. 5s canceled real pushes on any
|
|
283
|
+
// seed heavier than trivial and each retry re-queued more contention
|
|
284
|
+
// (production example apps, 2026-08-03).
|
|
285
|
+
const delegateTimeoutMs = config.delegatedPushRetry?.timeoutMs ?? 30_000;
|
|
281
286
|
return class SyncDurableObject extends DurableObject {
|
|
282
287
|
#engineDb;
|
|
283
288
|
#directSql;
|
package/dist/types.d.ts
CHANGED
|
@@ -38,7 +38,12 @@ export type DelegatedPushRetryConfig = {
|
|
|
38
38
|
initialBackoffMs?: number;
|
|
39
39
|
/** Delay cap. Defaults to 1,000ms. */
|
|
40
40
|
maxBackoffMs?: number;
|
|
41
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* Per-attempt service-binding timeout. Defaults to 30,000ms. Delegate wall
|
|
43
|
+
* time under write-lane contention is queueing rather than compute, and the
|
|
44
|
+
* abort cancels the app invocation mid-transaction, so a short timeout
|
|
45
|
+
* cancels real pushes on any nontrivial seed.
|
|
46
|
+
*/
|
|
42
47
|
timeoutMs?: number;
|
|
43
48
|
};
|
|
44
49
|
export type SyncHostConfig<Env extends SyncHostEnv = SyncHostEnv, S extends Schema = Schema> = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orez-sync-cf-host",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.4",
|
|
4
4
|
"description": "Internal orez Cloudflare sync host. Do not import directly: consumers use orez-lite/cloudflare/sync.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"test:large-data": "bun run build:dist && bun large-data-test.mjs"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"orez-sync-executor": "0.12.
|
|
61
|
+
"orez-sync-executor": "0.12.4"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@cloudflare/workers-types": "4.20260617.1",
|