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 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 ?? 5_000,
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
- const delegateTimeoutMs = config.delegatedPushRetry?.timeoutMs ?? 5_000;
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
- /** Per-attempt service-binding timeout. Defaults to 5,000ms. */
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",
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.3"
61
+ "orez-sync-executor": "0.12.4"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@cloudflare/workers-types": "4.20260617.1",