@spine-event-engine/server 2.0.0-snapshot.23 → 2.0.0-snapshot.24
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/REFERENCE.md +89 -23
- package/dist/bus/event-bus.d.ts +65 -100
- package/dist/bus/event-bus.d.ts.map +1 -1
- package/dist/bus/event-bus.js +46 -116
- package/dist/bus/event-bus.js.map +1 -1
- package/dist/bus/saved-dispatcher-binding.d.ts +1 -44
- package/dist/bus/saved-dispatcher-binding.d.ts.map +1 -1
- package/dist/bus/saved-dispatcher-binding.js +0 -8
- package/dist/bus/saved-dispatcher-binding.js.map +1 -1
- package/dist/context/bounded-context.d.ts +9 -10
- package/dist/context/bounded-context.d.ts.map +1 -1
- package/dist/context/bounded-context.js +64 -43
- package/dist/context/bounded-context.js.map +1 -1
- package/dist/context/entity-inbox.d.ts.map +1 -1
- package/dist/context/entity-inbox.js +21 -7
- package/dist/context/entity-inbox.js.map +1 -1
- package/dist/context/local-inbox-handoff.d.ts +1 -0
- package/dist/context/local-inbox-handoff.d.ts.map +1 -1
- package/dist/context/local-inbox-handoff.js +31 -1
- package/dist/context/local-inbox-handoff.js.map +1 -1
- package/dist/context/projection-handoff.d.ts.map +1 -1
- package/dist/context/projection-handoff.js +2 -0
- package/dist/context/projection-handoff.js.map +1 -1
- package/dist/delivery/delivery-monitor.d.ts +12 -9
- package/dist/delivery/delivery-monitor.d.ts.map +1 -1
- package/dist/delivery/delivery-monitor.js +15 -9
- package/dist/delivery/delivery-monitor.js.map +1 -1
- package/dist/delivery/delivery-ports.d.ts +6 -13
- package/dist/delivery/delivery-ports.d.ts.map +1 -1
- package/dist/delivery/delivery-run-control.d.ts +15 -0
- package/dist/delivery/delivery-run-control.d.ts.map +1 -1
- package/dist/delivery/delivery-run-control.js.map +1 -1
- package/dist/delivery/delivery-supervisor.d.ts +33 -5
- package/dist/delivery/delivery-supervisor.d.ts.map +1 -1
- package/dist/delivery/delivery-supervisor.js +150 -22
- package/dist/delivery/delivery-supervisor.js.map +1 -1
- package/dist/delivery/delivery.d.ts.map +1 -1
- package/dist/delivery/delivery.js +128 -54
- package/dist/delivery/delivery.js.map +1 -1
- package/dist/delivery/inbox-storage.d.ts +8 -11
- package/dist/delivery/inbox-storage.d.ts.map +1 -1
- package/dist/delivery/inbox-storage.js +33 -76
- package/dist/delivery/inbox-storage.js.map +1 -1
- package/dist/delivery/inbox.d.ts +9 -12
- package/dist/delivery/inbox.d.ts.map +1 -1
- package/dist/delivery/inbox.js +10 -13
- package/dist/delivery/inbox.js.map +1 -1
- package/dist/delivery/reception-observation.d.ts +56 -0
- package/dist/delivery/reception-observation.d.ts.map +1 -0
- package/dist/delivery/reception-observation.js +67 -0
- package/dist/delivery/reception-observation.js.map +1 -0
- package/dist/repository/repository.d.ts +3 -4
- package/dist/repository/repository.d.ts.map +1 -1
- package/dist/repository/repository.js +155 -166
- package/dist/repository/repository.js.map +1 -1
- package/dist/runtime/runtime.d.ts +11 -0
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +13 -0
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/signal-metadata.d.ts.map +1 -1
- package/dist/runtime/signal-metadata.js +3 -10
- package/dist/runtime/signal-metadata.js.map +1 -1
- package/dist/runtime/signal-publisher.d.ts +11 -33
- package/dist/runtime/signal-publisher.d.ts.map +1 -1
- package/dist/runtime/signal-publisher.js +70 -55
- package/dist/runtime/signal-publisher.js.map +1 -1
- package/dist/runtime/standalone-handler-runtime.d.ts.map +1 -1
- package/dist/runtime/standalone-handler-runtime.js +1 -31
- package/dist/runtime/standalone-handler-runtime.js.map +1 -1
- package/dist/server/environment-delivery-worker.d.ts.map +1 -1
- package/dist/server/environment-delivery-worker.js +305 -5
- package/dist/server/environment-delivery-worker.js.map +1 -1
- package/dist/server/managed-server-application.d.ts +2 -2
- package/dist/server/managed-server-application.d.ts.map +1 -1
- package/dist/server/managed-server-application.js +467 -177
- package/dist/server/managed-server-application.js.map +1 -1
- package/dist/server/node-coordinator.d.ts +14 -0
- package/dist/server/node-coordinator.d.ts.map +1 -1
- package/dist/server/node-coordinator.js +266 -45
- package/dist/server/node-coordinator.js.map +1 -1
- package/dist/server/server-log.d.ts.map +1 -1
- package/dist/server/server-log.js +4 -0
- package/dist/server/server-log.js.map +1 -1
- package/dist/server/server.js +20 -7
- package/dist/server/server.js.map +1 -1
- package/dist/services/spine-services.d.ts.map +1 -1
- package/dist/services/spine-services.js +200 -72
- package/dist/services/spine-services.js.map +1 -1
- package/dist/stand/event-origin-filter.d.ts +16 -0
- package/dist/stand/event-origin-filter.d.ts.map +1 -0
- package/dist/stand/event-origin-filter.js +124 -0
- package/dist/stand/event-origin-filter.js.map +1 -0
- package/dist/stand/subscription-observer.d.ts.map +1 -1
- package/dist/stand/subscription-observer.js +7 -0
- package/dist/stand/subscription-observer.js.map +1 -1
- package/dist/stand/subscription-runtime.d.ts +18 -1
- package/dist/stand/subscription-runtime.d.ts.map +1 -1
- package/dist/stand/subscription-runtime.js +32 -4
- package/dist/stand/subscription-runtime.js.map +1 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +2 -2
- package/dist/testing/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +15 -15
|
@@ -18,6 +18,7 @@ import { emitServerWarning } from "../server/server-log.js";
|
|
|
18
18
|
const deliverySupervisorLoggers = new WeakMap();
|
|
19
19
|
const deliverySupervisorAdmissions = new WeakMap();
|
|
20
20
|
const deliverySupervisorFinalizers = new WeakMap();
|
|
21
|
+
const deliverySupervisorMessageSettlers = new WeakMap();
|
|
21
22
|
const deliverySupervisors = new WeakSet();
|
|
22
23
|
/**
|
|
23
24
|
* Raised when active delivery or release cleanup exceeds its bounded close phase.
|
|
@@ -36,31 +37,113 @@ export class DeliveryShutdownTimeoutError extends Error {
|
|
|
36
37
|
* Admits bounded local delivery and observes remote shards.
|
|
37
38
|
*/
|
|
38
39
|
export class DeliverySupervisor {
|
|
40
|
+
/**
|
|
41
|
+
* Remote source of sessions and shard notifications.
|
|
42
|
+
*/
|
|
39
43
|
#source;
|
|
44
|
+
/**
|
|
45
|
+
* Configured delivery runner.
|
|
46
|
+
*/
|
|
40
47
|
#runs;
|
|
48
|
+
/**
|
|
49
|
+
* Endpoint invoked for received messages.
|
|
50
|
+
*/
|
|
41
51
|
#onMessage;
|
|
52
|
+
/**
|
|
53
|
+
* Maximum concurrent shard runs.
|
|
54
|
+
*/
|
|
42
55
|
#concurrency;
|
|
56
|
+
/**
|
|
57
|
+
* Maximum retained pending shard notifications.
|
|
58
|
+
*/
|
|
43
59
|
#pendingLimit;
|
|
60
|
+
/**
|
|
61
|
+
* Delay between missed-notification rescans.
|
|
62
|
+
*/
|
|
44
63
|
#recoveryMs;
|
|
64
|
+
/**
|
|
65
|
+
* Separate stale-session age used during release.
|
|
66
|
+
*/
|
|
45
67
|
#staleMs;
|
|
68
|
+
/**
|
|
69
|
+
* Initial watch reconnect delay.
|
|
70
|
+
*/
|
|
46
71
|
#watchInitialBackoffMs;
|
|
72
|
+
/**
|
|
73
|
+
* Maximum watch reconnect delay.
|
|
74
|
+
*/
|
|
47
75
|
#watchMaxBackoffMs;
|
|
76
|
+
/**
|
|
77
|
+
* Shards waiting for a run slot.
|
|
78
|
+
*/
|
|
48
79
|
#pending = new Map();
|
|
80
|
+
/**
|
|
81
|
+
* Shards whose failed runs await the next periodic recovery before another observation.
|
|
82
|
+
*/
|
|
83
|
+
#failedObserved = new Set();
|
|
84
|
+
/**
|
|
85
|
+
* Shards with an active run.
|
|
86
|
+
*/
|
|
49
87
|
#active = new Set();
|
|
88
|
+
/**
|
|
89
|
+
* Waiters for an empty active and pending set.
|
|
90
|
+
*/
|
|
50
91
|
#idle = new Set();
|
|
92
|
+
/**
|
|
93
|
+
* Cancels worker runs during close.
|
|
94
|
+
*/
|
|
51
95
|
#controller = new AbortController();
|
|
96
|
+
/**
|
|
97
|
+
* Cancels remote watch and recovery reads during close.
|
|
98
|
+
*/
|
|
52
99
|
#sourceController = new AbortController();
|
|
100
|
+
/**
|
|
101
|
+
* Whether startup began.
|
|
102
|
+
*/
|
|
53
103
|
#started = false;
|
|
104
|
+
/**
|
|
105
|
+
* Whether close stopped new admissions.
|
|
106
|
+
*/
|
|
54
107
|
#closing = false;
|
|
108
|
+
/**
|
|
109
|
+
* Whether all close phases completed.
|
|
110
|
+
*/
|
|
55
111
|
#closed = false;
|
|
112
|
+
/**
|
|
113
|
+
* Whether overflow requested another full rescan.
|
|
114
|
+
*/
|
|
56
115
|
#rescanRequired = false;
|
|
116
|
+
/**
|
|
117
|
+
* Shared in-progress recovery.
|
|
118
|
+
*/
|
|
57
119
|
#recovering;
|
|
120
|
+
/**
|
|
121
|
+
* Timer for the next periodic recovery.
|
|
122
|
+
*/
|
|
58
123
|
#recoveryTimer;
|
|
124
|
+
/**
|
|
125
|
+
* Timer for a watch reconnect.
|
|
126
|
+
*/
|
|
59
127
|
#watchTimer;
|
|
128
|
+
/**
|
|
129
|
+
* Current watch reconnect delay.
|
|
130
|
+
*/
|
|
60
131
|
#watchBackoffMs;
|
|
132
|
+
/**
|
|
133
|
+
* Whether a remote watch is active.
|
|
134
|
+
*/
|
|
61
135
|
#watching = false;
|
|
136
|
+
/**
|
|
137
|
+
* Whether close confirmed expired-session release.
|
|
138
|
+
*/
|
|
62
139
|
#releaseConfirmed = false;
|
|
140
|
+
/**
|
|
141
|
+
* Shared in-progress release call.
|
|
142
|
+
*/
|
|
63
143
|
#releaseAttempt;
|
|
144
|
+
/**
|
|
145
|
+
* Shared in-progress close call.
|
|
146
|
+
*/
|
|
64
147
|
#closeAttempt;
|
|
65
148
|
/**
|
|
66
149
|
* Creates a bounded delivery supervisor.
|
|
@@ -74,13 +157,12 @@ export class DeliverySupervisor {
|
|
|
74
157
|
this.#onMessage = options.onMessage;
|
|
75
158
|
this.#concurrency = _a.#requireBound("Delivery supervisor concurrency", options.concurrency ?? 1);
|
|
76
159
|
this.#pendingLimit = _a.#requireBound("Delivery supervisor pending limit", options.pendingLimit ?? 100);
|
|
77
|
-
this.#recoveryMs = _a.#requireBound("Delivery supervisor recovery interval", options.recoveryMs ??
|
|
160
|
+
this.#recoveryMs = _a.#requireBound("Delivery supervisor recovery interval", options.recoveryMs ?? 10_000);
|
|
78
161
|
this.#staleMs = _a.#requireBound("Delivery supervisor stale session interval", options.staleMs ?? 60_000);
|
|
79
162
|
this.#watchInitialBackoffMs = _a.#requireBound("Delivery supervisor watch initial backoff", options.watchInitialBackoffMs ?? 100);
|
|
80
163
|
this.#watchMaxBackoffMs = _a.#requireBound("Delivery supervisor watch maximum backoff", options.watchMaxBackoffMs ?? 30_000);
|
|
81
|
-
if (this.#watchMaxBackoffMs < this.#watchInitialBackoffMs)
|
|
164
|
+
if (this.#watchMaxBackoffMs < this.#watchInitialBackoffMs)
|
|
82
165
|
throw new Error("Delivery supervisor watch maximum backoff must not be smaller than initial backoff.");
|
|
83
|
-
}
|
|
84
166
|
this.#watchBackoffMs = this.#watchInitialBackoffMs;
|
|
85
167
|
}
|
|
86
168
|
/**
|
|
@@ -107,11 +189,32 @@ export class DeliverySupervisor {
|
|
|
107
189
|
* @param shard The shard whose work may be scheduled.
|
|
108
190
|
*/
|
|
109
191
|
notify(shard) {
|
|
192
|
+
this.#admit(shard, false);
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Admits one source observation unless a failed run awaits periodic recovery.
|
|
196
|
+
*
|
|
197
|
+
* @param update Source update with status and pending count.
|
|
198
|
+
*/
|
|
199
|
+
#notifyObserved(update) {
|
|
200
|
+
if (update.status !== "NOT_PICKED" || update.messages <= 0)
|
|
201
|
+
return;
|
|
202
|
+
if (this.#failedObserved.has(_a.#shardKey(update.shard)))
|
|
203
|
+
return;
|
|
204
|
+
this.#admit(update.shard, true);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Starts or retains one explicit or observed shard request.
|
|
208
|
+
*
|
|
209
|
+
* @param shard Shard selected for delivery.
|
|
210
|
+
* @param observed Distinguishes a remote status observation from an explicit notification.
|
|
211
|
+
*/
|
|
212
|
+
#admit(shard, observed) {
|
|
110
213
|
if (!this.#started || this.#closing || this.#closed)
|
|
111
214
|
return;
|
|
112
215
|
const key = _a.#shardKey(shard);
|
|
113
216
|
if (this.#active.has(key) || this.#active.size >= this.#concurrency) {
|
|
114
|
-
this.#queue(key, shard);
|
|
217
|
+
this.#queue(key, shard, observed);
|
|
115
218
|
return;
|
|
116
219
|
}
|
|
117
220
|
this.#active.add(key);
|
|
@@ -137,9 +240,10 @@ export class DeliverySupervisor {
|
|
|
137
240
|
/**
|
|
138
241
|
* Stops admission and source activity, waits one bounded active-work grace phase, then fences runs.
|
|
139
242
|
* A separate release-cleanup phase uses the same bound. Cleanup failure takes precedence over
|
|
140
|
-
* an active-work timeout; incomplete cleanup is retained for a later close retry.
|
|
243
|
+
* an active-work timeout; incomplete cleanup is retained for a later close retry. After both
|
|
244
|
+
* bounded phases, entered work may still keep close pending indefinitely.
|
|
141
245
|
*
|
|
142
|
-
* @param options
|
|
246
|
+
* @param options Close controls; `graceMs` defaults to 30000 milliseconds per phase.
|
|
143
247
|
* @returns A promise that settles after close cleanup completes.
|
|
144
248
|
*/
|
|
145
249
|
close(options = {}) {
|
|
@@ -219,13 +323,16 @@ export class DeliverySupervisor {
|
|
|
219
323
|
return attempt;
|
|
220
324
|
}
|
|
221
325
|
async #run(shard, key) {
|
|
326
|
+
let failed = true;
|
|
222
327
|
try {
|
|
223
328
|
const admission = deliverySupervisorAdmissions.get(this);
|
|
329
|
+
const messageSettled = deliverySupervisorMessageSettlers.get(this);
|
|
224
330
|
const finalization = deliverySupervisorFinalizers.get(this);
|
|
225
|
-
await this.#runs.run({
|
|
331
|
+
const result = await this.#runs.run({
|
|
226
332
|
shard,
|
|
227
333
|
onMessage: this.#onMessage,
|
|
228
334
|
...(admission === undefined ? {} : { acceptMessage: admission }),
|
|
335
|
+
...(messageSettled === undefined ? {} : { onMessageSettled: messageSettled }),
|
|
229
336
|
...(finalization === undefined
|
|
230
337
|
? {}
|
|
231
338
|
: {
|
|
@@ -233,10 +340,16 @@ export class DeliverySupervisor {
|
|
|
233
340
|
finalization(shard);
|
|
234
341
|
},
|
|
235
342
|
}),
|
|
343
|
+
onDrainResult: (run) => {
|
|
344
|
+
failed = run.failed > 0;
|
|
345
|
+
},
|
|
236
346
|
signal: this.#controller.signal,
|
|
237
347
|
});
|
|
348
|
+
failed ||= result.status === "FAILED";
|
|
238
349
|
}
|
|
239
350
|
finally {
|
|
351
|
+
if (failed && !this.#closing)
|
|
352
|
+
this.#failedObserved.add(key);
|
|
240
353
|
this.#active.delete(key);
|
|
241
354
|
this.#startNext(key);
|
|
242
355
|
this.#settleIdle();
|
|
@@ -265,10 +378,8 @@ export class DeliverySupervisor {
|
|
|
265
378
|
// Release is a mutation: a rejection is not treated as a successful release.
|
|
266
379
|
await this.#releaseExpired({ signal: this.#sourceController.signal });
|
|
267
380
|
const shards = await this.#source.shardSnapshot({ signal: this.#sourceController.signal });
|
|
268
|
-
for (const shard of shards)
|
|
269
|
-
|
|
270
|
-
this.notify(shard.shard);
|
|
271
|
-
}
|
|
381
|
+
for (const shard of shards)
|
|
382
|
+
this.#notifyObserved(shard);
|
|
272
383
|
return true;
|
|
273
384
|
// spine-log-boundary: server.delivery_recovery_failure
|
|
274
385
|
}
|
|
@@ -296,6 +407,7 @@ export class DeliverySupervisor {
|
|
|
296
407
|
return;
|
|
297
408
|
this.#recoveryTimer = setTimeout(() => {
|
|
298
409
|
this.#recoveryTimer = undefined;
|
|
410
|
+
this.#failedObserved.clear();
|
|
299
411
|
void this.#recover().then((recovered) => {
|
|
300
412
|
if (recovered)
|
|
301
413
|
this.#startWatch();
|
|
@@ -319,8 +431,7 @@ export class DeliverySupervisor {
|
|
|
319
431
|
if (this.#closing || this.#closed)
|
|
320
432
|
return;
|
|
321
433
|
this.#watchBackoffMs = this.#watchInitialBackoffMs;
|
|
322
|
-
|
|
323
|
-
this.notify(shard.shard);
|
|
434
|
+
this.#notifyObserved(shard);
|
|
324
435
|
}
|
|
325
436
|
failed = !this.#closing && !this.#closed;
|
|
326
437
|
// spine-log-boundary: server.delivery_watch_failure
|
|
@@ -369,29 +480,40 @@ export class DeliverySupervisor {
|
|
|
369
480
|
this.#recoveryTimer = undefined;
|
|
370
481
|
this.#watchTimer = undefined;
|
|
371
482
|
}
|
|
372
|
-
#queue(key, shard) {
|
|
373
|
-
|
|
483
|
+
#queue(key, shard, observed) {
|
|
484
|
+
const pending = this.#pending.get(key);
|
|
485
|
+
if (pending !== undefined) {
|
|
486
|
+
if (!observed)
|
|
487
|
+
this.#pending.set(key, { shard, observed: false });
|
|
374
488
|
return;
|
|
489
|
+
}
|
|
375
490
|
if (this.#pending.size >= this.#pendingLimit) {
|
|
376
491
|
this.#rescanRequired = true;
|
|
377
492
|
return;
|
|
378
493
|
}
|
|
379
|
-
this.#pending.set(key, shard);
|
|
494
|
+
this.#pending.set(key, { shard, observed });
|
|
380
495
|
}
|
|
496
|
+
/**
|
|
497
|
+
* Starts available pending shards after a run settles, retaining repeats for active shards.
|
|
498
|
+
*
|
|
499
|
+
* @param completed Key of the shard whose run settled.
|
|
500
|
+
*/
|
|
381
501
|
#startNext(completed) {
|
|
382
502
|
if (this.#closing || this.#closed)
|
|
383
503
|
return;
|
|
384
504
|
const repeat = this.#pending.get(completed);
|
|
385
505
|
if (repeat !== undefined) {
|
|
386
506
|
this.#pending.delete(completed);
|
|
387
|
-
this.
|
|
507
|
+
if (!repeat.observed || !this.#failedObserved.has(completed))
|
|
508
|
+
this.#admit(repeat.shard, repeat.observed);
|
|
388
509
|
}
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
if (next === undefined)
|
|
510
|
+
for (const [key, request] of [...this.#pending]) {
|
|
511
|
+
if (this.#active.size >= this.#concurrency)
|
|
392
512
|
break;
|
|
393
|
-
this.#
|
|
394
|
-
|
|
513
|
+
if (this.#active.has(key))
|
|
514
|
+
continue;
|
|
515
|
+
this.#pending.delete(key);
|
|
516
|
+
this.#admit(request.shard, request.observed);
|
|
395
517
|
}
|
|
396
518
|
if (this.#rescanRequired) {
|
|
397
519
|
this.#rescanRequired = false;
|
|
@@ -459,6 +581,12 @@ export const deliverySupervisorAccess = Object.freeze({
|
|
|
459
581
|
}
|
|
460
582
|
deliverySupervisorAdmissions.set(supervisor, admission);
|
|
461
583
|
},
|
|
584
|
+
installMessageSettled(supervisor, onMessageSettled) {
|
|
585
|
+
if (!deliverySupervisors.has(supervisor)) {
|
|
586
|
+
throw new TypeError("Delivery supervisor settlement requires a DeliverySupervisor instance.");
|
|
587
|
+
}
|
|
588
|
+
deliverySupervisorMessageSettlers.set(supervisor, onMessageSettled);
|
|
589
|
+
},
|
|
462
590
|
installFinalization(supervisor, onRunSettled) {
|
|
463
591
|
if (!deliverySupervisors.has(supervisor)) {
|
|
464
592
|
throw new TypeError("Delivery supervisor finalization requires a DeliverySupervisor instance.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-supervisor.js","sourceRoot":"","sources":["../../src/delivery/delivery-supervisor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delivery-supervisor.js","sourceRoot":"","sources":["../../src/delivery/delivery-supervisor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAEL,eAAe,EAIhB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAuB,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAEpE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,9 @@ import { InboxStorage, InboxStorageClock } from "./inbox-storage.js";
|
|
|
23
23
|
import { ShardIndex } from "./shard-index.js";
|
|
24
24
|
import { ShardedWorkRegistry } from "./sharded-work-registry.js";
|
|
25
25
|
import { withDeliveryCommitFence } from "../repository/commit-fence.js";
|
|
26
|
+
import { receptionObservation } from "./reception-observation.js";
|
|
26
27
|
const deliveryFailureLimit = 100;
|
|
28
|
+
const controlledMessageSettlers = new WeakMap();
|
|
27
29
|
/**
|
|
28
30
|
* Executes direct Inbox delivery for one complete worker identity.
|
|
29
31
|
*/
|
|
@@ -118,19 +120,29 @@ export class Delivery {
|
|
|
118
120
|
*/
|
|
119
121
|
runControlled(options) {
|
|
120
122
|
const shard = options.shard;
|
|
121
|
-
|
|
123
|
+
const drainOptions = {
|
|
122
124
|
onMessage: options.onMessage,
|
|
123
125
|
...(options.acceptMessage === undefined ? {} : { acceptMessage: options.acceptMessage }),
|
|
124
126
|
operation: { signal: options.signal },
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
127
|
+
};
|
|
128
|
+
if (options.onMessageSettled !== undefined)
|
|
129
|
+
controlledMessageSettlers.set(drainOptions, options.onMessageSettled);
|
|
130
|
+
return this.drain(shard, drainOptions)
|
|
131
|
+
.then((run) => {
|
|
132
|
+
options.onDrainResult?.(run);
|
|
133
|
+
return Object.freeze({
|
|
134
|
+
status: run.status === "SKIPPED"
|
|
135
|
+
? "SKIPPED"
|
|
136
|
+
: run.status === "FAILED"
|
|
137
|
+
? "FAILED"
|
|
138
|
+
: run.status === "STOPPED"
|
|
139
|
+
? "STOPPED"
|
|
140
|
+
: "COMPLETED",
|
|
141
|
+
});
|
|
142
|
+
})
|
|
143
|
+
.finally(() => {
|
|
144
|
+
controlledMessageSettlers.delete(drainOptions);
|
|
145
|
+
});
|
|
134
146
|
}
|
|
135
147
|
/**
|
|
136
148
|
* Delivers the selected message's shard for local handoff integration.
|
|
@@ -243,8 +255,7 @@ class DeliveryDrain {
|
|
|
243
255
|
run = (await this.#canStart()) ? await this.#readPages() : this.#complete("STOPPED");
|
|
244
256
|
}
|
|
245
257
|
catch (error) {
|
|
246
|
-
|
|
247
|
-
return this.#complete("FAILED");
|
|
258
|
+
await this.#release();
|
|
248
259
|
throw error;
|
|
249
260
|
}
|
|
250
261
|
return (await this.#release()) ? run : this.#complete("FAILED");
|
|
@@ -347,15 +358,20 @@ class DeliveryDrain {
|
|
|
347
358
|
return false;
|
|
348
359
|
if (this.#shouldSkip(message))
|
|
349
360
|
return true;
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
361
|
+
try {
|
|
362
|
+
const target = this.#targetKey(message);
|
|
363
|
+
if (this.#blockedTargets.has(target))
|
|
364
|
+
return true;
|
|
365
|
+
this.#statistics.processed += 1;
|
|
366
|
+
if (!(await this.#mayProcess()))
|
|
367
|
+
return false;
|
|
368
|
+
if (page.isDuplicate(message))
|
|
369
|
+
return await this.#removeDuplicate(message, target);
|
|
370
|
+
return await this.#deliver(message, target);
|
|
371
|
+
}
|
|
372
|
+
finally {
|
|
373
|
+
controlledMessageSettlers.get(this.input.options)?.(message);
|
|
374
|
+
}
|
|
359
375
|
}
|
|
360
376
|
/**
|
|
361
377
|
* Determines whether an inbox message is ineligible for endpoint delivery.
|
|
@@ -395,7 +411,7 @@ class DeliveryDrain {
|
|
|
395
411
|
*/
|
|
396
412
|
async #removeDuplicate(message, target) {
|
|
397
413
|
try {
|
|
398
|
-
if (!(await this.input.inbox.removeDuplicate(message, this
|
|
414
|
+
if (!(await this.input.inbox.removeDuplicate(message, this.input.options.operation)))
|
|
399
415
|
throw new Error("Inbox duplicate was not removed.");
|
|
400
416
|
this.#removedInPage.add(message);
|
|
401
417
|
this.input.options.onDuplicateRemoved?.(message);
|
|
@@ -414,35 +430,83 @@ class DeliveryDrain {
|
|
|
414
430
|
* @returns Whether processing may continue.
|
|
415
431
|
*/
|
|
416
432
|
async #deliver(message, target) {
|
|
433
|
+
const acknowledgement = { completed: false, exhausted: false };
|
|
434
|
+
await this.#processAttempt(message, target, acknowledgement);
|
|
435
|
+
return !this.#ownershipLost && !this.input.options.operation?.signal?.aborted;
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* Executes one dispatch attempt and the monitor-selected response to a receptor failure.
|
|
439
|
+
*
|
|
440
|
+
* @param message The persisted Inbox message.
|
|
441
|
+
* @param target The target key used to isolate acknowledgement failure.
|
|
442
|
+
* @param acknowledgement Shared status across immediate repeats.
|
|
443
|
+
* @returns Completion of the attempt and its selected action.
|
|
444
|
+
*/
|
|
445
|
+
async #processAttempt(message, target, acknowledgement) {
|
|
446
|
+
const observation = receptionObservation.create();
|
|
417
447
|
try {
|
|
418
448
|
this.#statistics.accepted += 1;
|
|
419
|
-
await this.#dispatch(message);
|
|
420
|
-
if (this.input.options.operation?.signal?.aborted || !(await this.#validate()))
|
|
421
|
-
return false;
|
|
422
|
-
await this.#markDelivered(message);
|
|
449
|
+
await this.#dispatch(message, observation);
|
|
423
450
|
}
|
|
424
451
|
catch (error) {
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
return
|
|
452
|
+
if (this.#ownershipLost || this.input.options.operation?.signal?.aborted) {
|
|
453
|
+
this.#recordFailure(message, error);
|
|
454
|
+
return;
|
|
455
|
+
}
|
|
456
|
+
if (!receptionObservation.isReceptorFailure(observation, error))
|
|
457
|
+
throw error;
|
|
458
|
+
this.#recordFailure(message, error);
|
|
459
|
+
const reception = new FailedReception(message, error, () => this.#acknowledgeOnce(message, acknowledgement), () => this.#processAttempt(message, target, acknowledgement));
|
|
460
|
+
const action = await this.input.monitor.onReceptionFailure(reception);
|
|
461
|
+
await action.execute();
|
|
428
462
|
}
|
|
429
|
-
|
|
463
|
+
await this.#completeAttempt(message, target, acknowledgement);
|
|
430
464
|
}
|
|
431
465
|
/**
|
|
432
|
-
*
|
|
466
|
+
* Marks completed processing once, including nested repeat recovery.
|
|
433
467
|
*
|
|
434
|
-
* @param message
|
|
435
|
-
* @param target
|
|
436
|
-
* @param
|
|
437
|
-
* @returns Completion after
|
|
438
|
-
*/
|
|
439
|
-
async #
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
468
|
+
* @param message The processed Inbox message.
|
|
469
|
+
* @param target The target key used to isolate acknowledgement failure.
|
|
470
|
+
* @param acknowledgement Shared status across immediate repeats.
|
|
471
|
+
* @returns Completion after acknowledgement or exhausted retry containment.
|
|
472
|
+
*/
|
|
473
|
+
async #completeAttempt(message, target, acknowledgement) {
|
|
474
|
+
if (acknowledgement.completed ||
|
|
475
|
+
acknowledgement.exhausted ||
|
|
476
|
+
this.input.options.operation?.signal?.aborted)
|
|
477
|
+
return;
|
|
478
|
+
if (!(await this.#validate()))
|
|
479
|
+
return;
|
|
480
|
+
try {
|
|
481
|
+
await this.#acknowledgeWithRetry(message, acknowledgement);
|
|
482
|
+
}
|
|
483
|
+
catch (error) {
|
|
484
|
+
acknowledgement.exhausted = true;
|
|
485
|
+
this.#recordFailure(message, error);
|
|
445
486
|
this.#blockedTargets.add(target);
|
|
487
|
+
}
|
|
488
|
+
}
|
|
489
|
+
/**
|
|
490
|
+
* Retries only durable acknowledgement after processing has completed.
|
|
491
|
+
*
|
|
492
|
+
* @param message Supplies the successfully processed message.
|
|
493
|
+
* @param acknowledgement Shared status across immediate repeats.
|
|
494
|
+
* @returns Completion after acknowledgement.
|
|
495
|
+
*/
|
|
496
|
+
async #acknowledgeWithRetry(message, acknowledgement) {
|
|
497
|
+
let firstError;
|
|
498
|
+
for (let attempt = 0; attempt < 3; attempt += 1) {
|
|
499
|
+
try {
|
|
500
|
+
await this.#acknowledgeOnce(message, acknowledgement);
|
|
501
|
+
return;
|
|
502
|
+
}
|
|
503
|
+
catch (error) {
|
|
504
|
+
firstError ??= error;
|
|
505
|
+
if (this.#ownershipLost || this.input.options.operation?.signal?.aborted)
|
|
506
|
+
break;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
throw firstError;
|
|
446
510
|
}
|
|
447
511
|
/**
|
|
448
512
|
* Marks a message delivered after checking the shard session.
|
|
@@ -456,26 +520,33 @@ class DeliveryDrain {
|
|
|
456
520
|
await this.#markDelivered(message);
|
|
457
521
|
}
|
|
458
522
|
/**
|
|
459
|
-
*
|
|
523
|
+
* Marks a message delivered once across nested monitor-selected repeats.
|
|
460
524
|
*
|
|
461
|
-
* @param message
|
|
462
|
-
* @
|
|
525
|
+
* @param message The message to mark delivered.
|
|
526
|
+
* @param acknowledgement Shared status across immediate repeats.
|
|
527
|
+
* @returns Completion after acknowledgement.
|
|
463
528
|
*/
|
|
464
|
-
async #
|
|
465
|
-
|
|
529
|
+
async #acknowledgeOnce(message, acknowledgement) {
|
|
530
|
+
if (acknowledgement.completed)
|
|
531
|
+
return;
|
|
466
532
|
await this.#acknowledge(message);
|
|
533
|
+
acknowledgement.completed = true;
|
|
467
534
|
}
|
|
468
535
|
/**
|
|
469
536
|
* Dispatches a message while validating the shard session before the call.
|
|
470
537
|
*
|
|
471
538
|
* @param message Supplies the inbox message for the endpoint.
|
|
539
|
+
* @param observation Records failure origin for this attempt.
|
|
472
540
|
* @returns Completion after endpoint dispatch.
|
|
473
541
|
*/
|
|
474
|
-
async #dispatch(message) {
|
|
475
|
-
await withDeliveryCommitFence(async () => {
|
|
542
|
+
async #dispatch(message, observation) {
|
|
543
|
+
await receptionObservation.run(observation, () => withDeliveryCommitFence(async () => {
|
|
476
544
|
if (!(await this.#validate()))
|
|
477
545
|
throw new Error("Shard ownership was lost.");
|
|
478
|
-
}, () =>
|
|
546
|
+
}, () => {
|
|
547
|
+
observation.entered = true;
|
|
548
|
+
return Promise.resolve(this.input.options.onMessage(message));
|
|
549
|
+
}));
|
|
479
550
|
}
|
|
480
551
|
/**
|
|
481
552
|
* Marks a message delivered and updates local counts and callbacks.
|
|
@@ -488,7 +559,12 @@ class DeliveryDrain {
|
|
|
488
559
|
throw new Error("Inbox message was not marked delivered.");
|
|
489
560
|
this.#deduplication.recordDelivered(message);
|
|
490
561
|
this.#statistics.delivered += 1;
|
|
491
|
-
|
|
562
|
+
try {
|
|
563
|
+
this.input.options.onDelivered?.(message);
|
|
564
|
+
}
|
|
565
|
+
catch {
|
|
566
|
+
// A post-ack observer cannot undo durable delivery or repeat processing.
|
|
567
|
+
}
|
|
492
568
|
}
|
|
493
569
|
/**
|
|
494
570
|
* Removes expired delivered messages from one page when supported.
|
|
@@ -525,9 +601,7 @@ class DeliveryDrain {
|
|
|
525
601
|
return false;
|
|
526
602
|
if (this.input.options.operation?.signal?.aborted || !(await this.#validate()))
|
|
527
603
|
return undefined;
|
|
528
|
-
const removed = await this.input.inbox.removeDelivered(message, this
|
|
529
|
-
if (this.input.options.operation?.signal?.aborted || (!removed && !(await this.#validate())))
|
|
530
|
-
return undefined;
|
|
604
|
+
const removed = await this.input.inbox.removeDelivered(message, this.input.options.operation);
|
|
531
605
|
return removed;
|
|
532
606
|
}
|
|
533
607
|
/**
|