@spine-event-engine/server 2.0.0-snapshot.26 → 2.0.0-snapshot.29
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/README.md +61 -8
- package/REFERENCE.md +267 -45
- package/dist/agent/agent-live-ai-runtime.d.ts +1 -1
- package/dist/agent/agent-live-ai-runtime.js +1 -1
- package/dist/agent/agent-live-budget.d.ts +1 -1
- package/dist/agent/agent-live-budget.js +1 -1
- package/dist/agent/agent-live-read-runtime.d.ts +1 -1
- package/dist/agent/agent-live-read-runtime.js +1 -1
- package/dist/browser/browser-admission.d.ts +47 -0
- package/dist/browser/browser-admission.d.ts.map +1 -0
- package/dist/browser/browser-admission.js +200 -0
- package/dist/browser/browser-admission.js.map +1 -0
- package/dist/browser/browser-server.d.ts +14 -7
- package/dist/browser/browser-server.d.ts.map +1 -1
- package/dist/browser/browser-server.js +462 -129
- package/dist/browser/browser-server.js.map +1 -1
- package/dist/browser/index.d.ts +1 -1
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/options.d.ts +48 -2
- package/dist/browser/options.d.ts.map +1 -1
- package/dist/bus/command-bus.d.ts +6 -1
- package/dist/bus/command-bus.d.ts.map +1 -1
- package/dist/bus/command-bus.js +6 -1
- package/dist/bus/command-bus.js.map +1 -1
- package/dist/bus/event-bus.d.ts +6 -1
- package/dist/bus/event-bus.d.ts.map +1 -1
- package/dist/bus/event-bus.js +6 -1
- package/dist/bus/event-bus.js.map +1 -1
- package/dist/context/bounded-context.d.ts +30 -28
- package/dist/context/bounded-context.d.ts.map +1 -1
- package/dist/context/bounded-context.js +137 -83
- package/dist/context/bounded-context.js.map +1 -1
- package/dist/context/entity-inbox.d.ts +12 -17
- package/dist/context/entity-inbox.d.ts.map +1 -1
- package/dist/context/entity-inbox.js +106 -120
- package/dist/context/entity-inbox.js.map +1 -1
- package/dist/context/local-inbox-handoff.d.ts +13 -13
- package/dist/context/local-inbox-handoff.d.ts.map +1 -1
- package/dist/context/local-inbox-handoff.js +60 -32
- package/dist/context/local-inbox-handoff.js.map +1 -1
- package/dist/context/persistent-tenant-index.d.ts +81 -0
- package/dist/context/persistent-tenant-index.d.ts.map +1 -0
- package/dist/context/persistent-tenant-index.js +270 -0
- package/dist/context/persistent-tenant-index.js.map +1 -0
- package/dist/context/projection-handoff.d.ts +13 -11
- package/dist/context/projection-handoff.d.ts.map +1 -1
- package/dist/context/projection-handoff.js +77 -34
- package/dist/context/projection-handoff.js.map +1 -1
- package/dist/context/tenant-index.d.ts +7 -6
- package/dist/context/tenant-index.d.ts.map +1 -1
- package/dist/context/tenant-index.js +2 -188
- package/dist/context/tenant-index.js.map +1 -1
- package/dist/context/tenant-unknown-error.d.ts +2 -2
- package/dist/context/tenant-unknown-error.d.ts.map +1 -1
- package/dist/context/tenant-unknown-error.js +4 -1
- package/dist/context/tenant-unknown-error.js.map +1 -1
- package/dist/delivery/delivery-builder.d.ts +8 -7
- package/dist/delivery/delivery-builder.d.ts.map +1 -1
- package/dist/delivery/delivery-builder.js +2 -2
- package/dist/delivery/delivery-builder.js.map +1 -1
- package/dist/delivery/delivery-ports.d.ts +2 -2
- package/dist/delivery/delivery-supervisor.d.ts.map +1 -1
- package/dist/delivery/delivery-supervisor.js +12 -3
- package/dist/delivery/delivery-supervisor.js.map +1 -1
- package/dist/delivery/delivery.d.ts +4 -3
- package/dist/delivery/delivery.d.ts.map +1 -1
- package/dist/delivery/delivery.js +87 -38
- package/dist/delivery/delivery.js.map +1 -1
- package/dist/delivery/inbox-retention.d.ts +7 -0
- package/dist/delivery/inbox-retention.d.ts.map +1 -0
- package/dist/delivery/inbox-retention.js +29 -0
- package/dist/delivery/inbox-retention.js.map +1 -0
- package/dist/delivery/inbox-storage.d.ts +2 -2
- package/dist/delivery/inbox-storage.d.ts.map +1 -1
- package/dist/delivery/inbox-storage.js +32 -8
- package/dist/delivery/inbox-storage.js.map +1 -1
- package/dist/delivery/inbox.d.ts +5 -9
- package/dist/delivery/inbox.d.ts.map +1 -1
- package/dist/delivery/inbox.js +4 -6
- package/dist/delivery/inbox.js.map +1 -1
- package/dist/delivery/reception-observation.d.ts +3 -3
- package/dist/delivery/reception-observation.js +2 -2
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/repository/command-routing.d.ts +1 -1
- package/dist/repository/command-routing.js +1 -1
- package/dist/repository/event-routing.d.ts +1 -1
- package/dist/repository/event-routing.js +1 -1
- package/dist/repository/repository.d.ts +25 -33
- package/dist/repository/repository.d.ts.map +1 -1
- package/dist/repository/repository.js +245 -230
- package/dist/repository/repository.js.map +1 -1
- package/dist/repository/state-update-routing.d.ts +1 -1
- package/dist/repository/state-update-routing.js +1 -1
- package/dist/runtime/signal-publisher.d.ts +23 -8
- package/dist/runtime/signal-publisher.d.ts.map +1 -1
- package/dist/runtime/signal-publisher.js +11 -8
- package/dist/runtime/signal-publisher.js.map +1 -1
- package/dist/server/node-coordinator.d.ts.map +1 -1
- package/dist/server/node-coordinator.js +220 -54
- package/dist/server/node-coordinator.js.map +1 -1
- package/dist/server/server-environment.d.ts +6 -5
- package/dist/server/server-environment.d.ts.map +1 -1
- package/dist/server/server-environment.js +13 -9
- package/dist/server/server-environment.js.map +1 -1
- package/dist/server/server.js +1 -0
- package/dist/server/server.js.map +1 -1
- package/dist/services/app-query-execution.js +2 -2
- package/dist/services/app-query-execution.js.map +1 -1
- package/dist/services/native-operation.d.ts +34 -0
- package/dist/services/native-operation.d.ts.map +1 -0
- package/dist/services/native-operation.js +77 -0
- package/dist/services/native-operation.js.map +1 -0
- package/dist/services/spine-services.d.ts +6 -0
- package/dist/services/spine-services.d.ts.map +1 -1
- package/dist/services/spine-services.js +128 -30
- package/dist/services/spine-services.js.map +1 -1
- package/dist/services/trusted-reader-ingress.d.ts +23 -5
- package/dist/services/trusted-reader-ingress.d.ts.map +1 -1
- package/dist/services/trusted-reader-ingress.js +18 -5
- package/dist/services/trusted-reader-ingress.js.map +1 -1
- package/dist/spi/delivery.d.ts +1 -0
- package/dist/spi/delivery.d.ts.map +1 -1
- package/dist/spi/delivery.js +1 -0
- package/dist/spi/delivery.js.map +1 -1
- package/dist/stand/stand.d.ts +1 -1
- package/dist/stand/stand.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -14
|
@@ -26,6 +26,7 @@ import { AckSchema, ResponseSchema, StatusSchema, } from "@spine-event-engine/pr
|
|
|
26
26
|
import { AppQueryResponseSchema, AppQuerySchema, QueryResponseSchema, QuerySchema, CommandService, QueryService, SubscriptionIdSchema, SubscriptionSchema, SubscriptionService, SubscriptionUpdateSchema, TopicSchema, } from "@spine-event-engine/proto/client";
|
|
27
27
|
import { ReadRequestStatus } from "../services/read-request-status.js";
|
|
28
28
|
import { TrustedReaderIngress, } from "../services/trusted-reader-ingress.js";
|
|
29
|
+
import { NativeOperation } from "../services/native-operation.js";
|
|
29
30
|
import { ServerEnvironment } from "./server-environment.js";
|
|
30
31
|
const defaultHost = "127.0.0.1";
|
|
31
32
|
const defaultPort = 0;
|
|
@@ -71,6 +72,7 @@ export class NodeCoordinator {
|
|
|
71
72
|
#close;
|
|
72
73
|
#networkClose;
|
|
73
74
|
#draining = false;
|
|
75
|
+
#admissionShutdown = new AbortController();
|
|
74
76
|
#membershipReconciliation = Promise.resolve();
|
|
75
77
|
/**
|
|
76
78
|
* Creates the native node coordinator around its HTTP/2 listener and member source.
|
|
@@ -198,6 +200,7 @@ export class NodeCoordinator {
|
|
|
198
200
|
* @returns Completion after bounded Coordinator cleanup.
|
|
199
201
|
*/
|
|
200
202
|
close() {
|
|
203
|
+
this.#admissionShutdown.abort();
|
|
201
204
|
this.#close ??= this.#closeOnce().catch((error) => {
|
|
202
205
|
this.#close = undefined;
|
|
203
206
|
throw error;
|
|
@@ -230,16 +233,18 @@ export class NodeCoordinator {
|
|
|
230
233
|
* @returns Child acknowledgment after forwarding.
|
|
231
234
|
*/
|
|
232
235
|
async #post(command, context) {
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
236
|
+
return this.#runAdmitted("spine.client.CommandService", "Post", toBinary(CommandService.method.post.input, command), context, async (reader, signal) => {
|
|
237
|
+
const request = {
|
|
238
|
+
kind: "command",
|
|
239
|
+
command,
|
|
240
|
+
context,
|
|
241
|
+
reader,
|
|
242
|
+
signal,
|
|
243
|
+
response: create(AckSchema),
|
|
244
|
+
};
|
|
245
|
+
await this.#forward(request);
|
|
246
|
+
return request.response;
|
|
247
|
+
});
|
|
243
248
|
}
|
|
244
249
|
/**
|
|
245
250
|
* Admits a read reader and forwards the query to a managed child.
|
|
@@ -249,17 +254,19 @@ export class NodeCoordinator {
|
|
|
249
254
|
* @returns Child read response after forwarding.
|
|
250
255
|
*/
|
|
251
256
|
async #read(query, context) {
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
257
|
+
return this.#runAdmitted("spine.client.QueryService", "Read", toBinary(QuerySchema, query), context, async (reader, signal) => {
|
|
258
|
+
ReadRequestStatus.check("query", () => Validate.check(QuerySchema, query));
|
|
259
|
+
const request = {
|
|
260
|
+
kind: "query",
|
|
261
|
+
query,
|
|
262
|
+
context,
|
|
263
|
+
reader,
|
|
264
|
+
signal,
|
|
265
|
+
response: create(QueryResponseSchema),
|
|
266
|
+
};
|
|
267
|
+
await this.#forward(request);
|
|
268
|
+
return request.response;
|
|
269
|
+
});
|
|
263
270
|
}
|
|
264
271
|
/**
|
|
265
272
|
* Admits an App Query and forwards it to a ready application replica.
|
|
@@ -269,17 +276,19 @@ export class NodeCoordinator {
|
|
|
269
276
|
* @returns The application replica's response.
|
|
270
277
|
*/
|
|
271
278
|
async #execute(query, context) {
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
279
|
+
return this.#runAdmitted("spine.client.QueryService", "Execute", toBinary(QueryService.method.execute.input, query), context, async (reader, signal) => {
|
|
280
|
+
ReadRequestStatus.check("query", () => Validate.check(AppQuerySchema, query));
|
|
281
|
+
const request = {
|
|
282
|
+
kind: "app-query",
|
|
283
|
+
query,
|
|
284
|
+
context,
|
|
285
|
+
reader,
|
|
286
|
+
signal,
|
|
287
|
+
response: create(AppQueryResponseSchema),
|
|
288
|
+
};
|
|
289
|
+
await this.#forward(request);
|
|
290
|
+
return request.response;
|
|
291
|
+
});
|
|
283
292
|
}
|
|
284
293
|
/**
|
|
285
294
|
* Verifies forwarded or direct reader facts at the managed ingress.
|
|
@@ -288,19 +297,46 @@ export class NodeCoordinator {
|
|
|
288
297
|
* @param method Canonical RPC method.
|
|
289
298
|
* @param request Canonical request bytes.
|
|
290
299
|
* @param context Native transport context.
|
|
291
|
-
* @
|
|
300
|
+
* @param signal Host-managed operation lifetime.
|
|
301
|
+
* @returns Captured reader admission and invalidation.
|
|
292
302
|
*/
|
|
293
|
-
#admit(service, method, request, context) {
|
|
303
|
+
#admit(service, method, request, context, signal) {
|
|
294
304
|
return TrustedReaderIngress.admit({
|
|
295
305
|
service,
|
|
296
306
|
method,
|
|
297
307
|
request,
|
|
298
308
|
headers: context.requestHeader,
|
|
299
309
|
peer: context,
|
|
310
|
+
signal,
|
|
300
311
|
maxBytes: this.#readMaxBytes,
|
|
301
312
|
...this.#readerAdmission,
|
|
302
313
|
});
|
|
303
314
|
}
|
|
315
|
+
/**
|
|
316
|
+
* Holds one unary operation through admission and child work.
|
|
317
|
+
*
|
|
318
|
+
* @typeParam T Native response type.
|
|
319
|
+
* @param service Canonical RPC service.
|
|
320
|
+
* @param method Canonical RPC method.
|
|
321
|
+
* @param bytes Canonical request bytes.
|
|
322
|
+
* @param context Original peer metadata.
|
|
323
|
+
* @param work Verified action using the effective signal.
|
|
324
|
+
* @returns Result while admission remains valid.
|
|
325
|
+
*/
|
|
326
|
+
async #runAdmitted(service, method, bytes, context, work) {
|
|
327
|
+
const operation = new NativeOperation(context.signal, this.#admissionShutdown.signal);
|
|
328
|
+
try {
|
|
329
|
+
const admission = await this.#admit(service, method, bytes, context, operation.signal);
|
|
330
|
+
operation.link(admission.invalidated);
|
|
331
|
+
operation.check();
|
|
332
|
+
const result = await work(admission.reader, operation.signal);
|
|
333
|
+
operation.check();
|
|
334
|
+
return result;
|
|
335
|
+
}
|
|
336
|
+
finally {
|
|
337
|
+
operation.close();
|
|
338
|
+
}
|
|
339
|
+
}
|
|
304
340
|
/**
|
|
305
341
|
* Validates and retains a reader-bound subscription definition.
|
|
306
342
|
*
|
|
@@ -309,7 +345,50 @@ export class NodeCoordinator {
|
|
|
309
345
|
* @returns The new subscription definition.
|
|
310
346
|
*/
|
|
311
347
|
async #subscribe(topic, context) {
|
|
312
|
-
const
|
|
348
|
+
const operation = new NativeOperation(context.signal, this.#admissionShutdown.signal);
|
|
349
|
+
try {
|
|
350
|
+
const admission = await this.#admit("spine.client.SubscriptionService", "Subscribe", toBinary(TopicSchema, topic), context, operation.signal);
|
|
351
|
+
operation.link(admission.invalidated);
|
|
352
|
+
operation.check();
|
|
353
|
+
const subscription = await this.#subscribeReader(topic, admission.reader, operation.signal);
|
|
354
|
+
try {
|
|
355
|
+
operation.check();
|
|
356
|
+
}
|
|
357
|
+
catch (error) {
|
|
358
|
+
return await this.#compensateSubscribe(subscription, error);
|
|
359
|
+
}
|
|
360
|
+
return subscription;
|
|
361
|
+
}
|
|
362
|
+
finally {
|
|
363
|
+
operation.close();
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Removes a committed definition after a failed final admission check.
|
|
368
|
+
*
|
|
369
|
+
* @param subscription Created logical definition.
|
|
370
|
+
* @param error Final admission failure.
|
|
371
|
+
* @returns Rejected completion after conditional cleanup.
|
|
372
|
+
*/
|
|
373
|
+
async #compensateSubscribe(subscription, error) {
|
|
374
|
+
this.#clearPendingActivation(subscription);
|
|
375
|
+
try {
|
|
376
|
+
await this.#cancelDefinition(toBinary(SubscriptionSchema, subscription), new AbortController().signal);
|
|
377
|
+
}
|
|
378
|
+
catch (cleanup) {
|
|
379
|
+
throw new AggregateError([error, cleanup], "Coordinator Subscribe cleanup failed.");
|
|
380
|
+
}
|
|
381
|
+
throw error;
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Creates a reader-bound definition under its native operation lifetime.
|
|
385
|
+
*
|
|
386
|
+
* @param topic Framework subscription Topic.
|
|
387
|
+
* @param reader Detached authenticated facts.
|
|
388
|
+
* @param signal Effective cancellation.
|
|
389
|
+
* @returns Created logical definition.
|
|
390
|
+
*/
|
|
391
|
+
async #subscribeReader(topic, reader, signal) {
|
|
313
392
|
ReadRequestStatus.check("topic", () => Validate.check(TopicSchema, topic));
|
|
314
393
|
if (this.#draining)
|
|
315
394
|
throw new ConnectError("Managed application is closing.", Code.Unavailable);
|
|
@@ -320,21 +399,64 @@ export class NodeCoordinator {
|
|
|
320
399
|
const id = subscription.id?.value;
|
|
321
400
|
if (id === undefined)
|
|
322
401
|
throw new Error("Created subscription has no ID.");
|
|
402
|
+
const definition = toBinary(SubscriptionSchema, subscription);
|
|
323
403
|
this.#readers.set(id, reader);
|
|
324
404
|
try {
|
|
325
|
-
await this.#
|
|
405
|
+
await this.#createDefinition(definition, signal);
|
|
326
406
|
}
|
|
327
407
|
catch (error) {
|
|
328
|
-
|
|
408
|
+
if (!(error instanceof AggregateError))
|
|
409
|
+
this.#forgetReader(id);
|
|
410
|
+
if (signal.aborted && !(error instanceof AggregateError))
|
|
411
|
+
throw new ConnectError("Reader operation cancelled.", Code.Canceled);
|
|
329
412
|
throw this.#availabilityError(error);
|
|
330
413
|
}
|
|
331
|
-
if (this.#isDraining()) {
|
|
332
|
-
await this.#cancelDefinition(
|
|
414
|
+
if (this.#isDraining() || signal.aborted) {
|
|
415
|
+
await this.#cancelDefinition(definition, new AbortController().signal);
|
|
333
416
|
throw new ConnectError("Managed application is closing.", Code.Unavailable);
|
|
334
417
|
}
|
|
335
418
|
this.#schedulePendingActivation(subscription);
|
|
336
419
|
return subscription;
|
|
337
420
|
}
|
|
421
|
+
/**
|
|
422
|
+
* Cancels a pending child creation when the requesting reader loses authority.
|
|
423
|
+
*
|
|
424
|
+
* @param definition Logical subscription definition.
|
|
425
|
+
* @param signal Reader operation lifetime.
|
|
426
|
+
* @returns Completion after creation or conditional cancellation settles.
|
|
427
|
+
*/
|
|
428
|
+
async #createDefinition(definition, signal) {
|
|
429
|
+
let cancellation;
|
|
430
|
+
const abort = () => {
|
|
431
|
+
cancellation = this.#cancelDefinition(definition, new AbortController().signal);
|
|
432
|
+
void cancellation.catch(() => undefined);
|
|
433
|
+
};
|
|
434
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
435
|
+
let failed = false;
|
|
436
|
+
let primary;
|
|
437
|
+
try {
|
|
438
|
+
await this.#subscriptionKernel.subscribe(definition, signal);
|
|
439
|
+
}
|
|
440
|
+
catch (error) {
|
|
441
|
+
failed = true;
|
|
442
|
+
primary = error;
|
|
443
|
+
}
|
|
444
|
+
finally {
|
|
445
|
+
signal.removeEventListener("abort", abort);
|
|
446
|
+
}
|
|
447
|
+
if (signal.aborted && cancellation === undefined)
|
|
448
|
+
abort();
|
|
449
|
+
try {
|
|
450
|
+
await cancellation;
|
|
451
|
+
}
|
|
452
|
+
catch (cleanup) {
|
|
453
|
+
throw new AggregateError(failed ? [primary, cleanup] : [cleanup], "Subscription cancellation failed.");
|
|
454
|
+
}
|
|
455
|
+
if (failed)
|
|
456
|
+
throw primary;
|
|
457
|
+
if (signal.aborted)
|
|
458
|
+
throw new ConnectError("Reader operation cancelled.", Code.Canceled);
|
|
459
|
+
}
|
|
338
460
|
/**
|
|
339
461
|
* Reads current admission state after an asynchronous backend Subscribe.
|
|
340
462
|
*
|
|
@@ -351,7 +473,24 @@ export class NodeCoordinator {
|
|
|
351
473
|
* @returns The update stream after admission.
|
|
352
474
|
*/
|
|
353
475
|
async *#activate(subscription, context) {
|
|
354
|
-
|
|
476
|
+
const operation = new NativeOperation(context.signal, this.#admissionShutdown.signal);
|
|
477
|
+
try {
|
|
478
|
+
await this.#admitActivation(subscription, context, operation);
|
|
479
|
+
operation.check();
|
|
480
|
+
yield* this.#relayActivation(subscription, operation);
|
|
481
|
+
}
|
|
482
|
+
finally {
|
|
483
|
+
operation.close();
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
/**
|
|
487
|
+
* Relays one admitted definition through ACK and complete child iteration.
|
|
488
|
+
*
|
|
489
|
+
* @param subscription Retained logical definition.
|
|
490
|
+
* @param operation Host-managed activation lifetime.
|
|
491
|
+
* @returns ACK and surviving updates.
|
|
492
|
+
*/
|
|
493
|
+
async *#relayActivation(subscription, operation) {
|
|
355
494
|
if (this.#draining)
|
|
356
495
|
throw new ConnectError("Managed application is closing.", Code.Unavailable);
|
|
357
496
|
const definition = toBinary(SubscriptionSchema, subscription);
|
|
@@ -360,8 +499,8 @@ export class NodeCoordinator {
|
|
|
360
499
|
const abort = () => {
|
|
361
500
|
overflow.abort();
|
|
362
501
|
};
|
|
363
|
-
|
|
364
|
-
if (
|
|
502
|
+
operation.signal.addEventListener("abort", abort, { once: true });
|
|
503
|
+
if (operation.signal.aborted)
|
|
365
504
|
abort();
|
|
366
505
|
const updates = new SubscriptionUpdateQueue(this.#subscriptionQueueCapacity, abort);
|
|
367
506
|
const ack = Promise.withResolvers();
|
|
@@ -369,16 +508,19 @@ export class NodeCoordinator {
|
|
|
369
508
|
let failure;
|
|
370
509
|
try {
|
|
371
510
|
const ready = await ack.promise;
|
|
511
|
+
operation.check();
|
|
372
512
|
if (ready !== undefined)
|
|
373
513
|
yield ready;
|
|
374
|
-
for await (const update of updates)
|
|
514
|
+
for await (const update of updates) {
|
|
515
|
+
operation.check();
|
|
375
516
|
yield update;
|
|
517
|
+
}
|
|
376
518
|
}
|
|
377
519
|
catch (error) {
|
|
378
520
|
failure = NodeCoordinatorValues.error(error);
|
|
379
521
|
}
|
|
380
522
|
finally {
|
|
381
|
-
|
|
523
|
+
operation.signal.removeEventListener("abort", abort);
|
|
382
524
|
overflow.abort();
|
|
383
525
|
updates.close();
|
|
384
526
|
await this.#finishActivation(definition, activation, failure);
|
|
@@ -391,11 +533,13 @@ export class NodeCoordinator {
|
|
|
391
533
|
* @param context The trusted context for this operation.
|
|
392
534
|
* @returns Completion after the operation settles.
|
|
393
535
|
*/
|
|
394
|
-
async #admitActivation(subscription, context) {
|
|
395
|
-
const
|
|
536
|
+
async #admitActivation(subscription, context, operation) {
|
|
537
|
+
const admission = await this.#admit("spine.client.SubscriptionService", "Activate", toBinary(SubscriptionSchema, subscription), context, operation.signal);
|
|
538
|
+
operation.link(admission.invalidated);
|
|
539
|
+
operation.check();
|
|
396
540
|
ReadRequestStatus.check("subscription", () => Validate.check(SubscriptionSchema, subscription));
|
|
397
541
|
ReadRequestStatus.checkLifecycleCriterion(subscription);
|
|
398
|
-
this.#requireReader(subscription, reader);
|
|
542
|
+
this.#requireReader(subscription, admission.reader);
|
|
399
543
|
}
|
|
400
544
|
/**
|
|
401
545
|
* Relays accepted child updates through the bounded logical stream.
|
|
@@ -410,6 +554,8 @@ export class NodeCoordinator {
|
|
|
410
554
|
#activateChild(definition, subscription, updates, ack, signal) {
|
|
411
555
|
return this.#subscriptionKernel
|
|
412
556
|
.activate(definition, async (childUpdate) => {
|
|
557
|
+
if (signal.aborted)
|
|
558
|
+
return;
|
|
413
559
|
const update = fromBinary(SubscriptionUpdateSchema, childUpdate);
|
|
414
560
|
update.subscription = clone(SubscriptionSchema, subscription);
|
|
415
561
|
if (update.response?.status?.status.case === "ok" && update.update.case === undefined) {
|
|
@@ -459,7 +605,17 @@ export class NodeCoordinator {
|
|
|
459
605
|
* @returns The cancellation acknowledgment.
|
|
460
606
|
*/
|
|
461
607
|
async #cancel(subscription, context) {
|
|
462
|
-
|
|
608
|
+
return this.#runAdmitted("spine.client.SubscriptionService", "Cancel", toBinary(SubscriptionSchema, subscription), context, (reader, signal) => this.#cancelReader(subscription, reader, signal));
|
|
609
|
+
}
|
|
610
|
+
/**
|
|
611
|
+
* Checks reader binding before removing an existing definition.
|
|
612
|
+
*
|
|
613
|
+
* @param subscription Logical definition.
|
|
614
|
+
* @param reader Detached authenticated facts.
|
|
615
|
+
* @param signal Effective cancellation.
|
|
616
|
+
* @returns Cancellation acknowledgment.
|
|
617
|
+
*/
|
|
618
|
+
async #cancelReader(subscription, reader, signal) {
|
|
463
619
|
ReadRequestStatus.check("subscription", () => Validate.check(SubscriptionSchema, subscription));
|
|
464
620
|
ReadRequestStatus.checkLifecycleCriterion(subscription);
|
|
465
621
|
const id = subscription.id?.value;
|
|
@@ -470,7 +626,7 @@ export class NodeCoordinator {
|
|
|
470
626
|
status: create(StatusSchema, { status: { case: "ok", value: create(EmptySchema) } }),
|
|
471
627
|
});
|
|
472
628
|
this.#clearPendingActivation(subscription);
|
|
473
|
-
await this.#cancelDefinition(toBinary(SubscriptionSchema, subscription),
|
|
629
|
+
await this.#cancelDefinition(toBinary(SubscriptionSchema, subscription), signal);
|
|
474
630
|
return create(ResponseSchema, {
|
|
475
631
|
status: create(StatusSchema, { status: { case: "ok", value: create(EmptySchema) } }),
|
|
476
632
|
});
|
|
@@ -484,6 +640,8 @@ export class NodeCoordinator {
|
|
|
484
640
|
async #forward(request) {
|
|
485
641
|
if (this.#draining)
|
|
486
642
|
throw new ConnectError("No ready application replica is available.", Code.Unavailable);
|
|
643
|
+
if (request.signal.aborted)
|
|
644
|
+
throw new ConnectError("Reader operation cancelled.", Code.Canceled);
|
|
487
645
|
try {
|
|
488
646
|
await this.#unaryKernel.forward(request);
|
|
489
647
|
}
|
|
@@ -909,6 +1067,8 @@ const NodeCoordinatorValues = Object.freeze({
|
|
|
909
1067
|
const subscription = fromBinary(SubscriptionSchema, definition);
|
|
910
1068
|
const topic = NodeCoordinatorValues.requiredValue(subscription.topic, "Coordinator subscription definition is missing a Topic.");
|
|
911
1069
|
const headers = await NodeCoordinatorValues.readerHeaders("Subscribe", toBinary(TopicSchema, topic), reader, issuer, maxBytes);
|
|
1070
|
+
if (signal.aborted)
|
|
1071
|
+
throw new ConnectError("Reader operation cancelled.", Code.Canceled);
|
|
912
1072
|
const created = await createClient(SubscriptionService, transport).subscribe(topic, {
|
|
913
1073
|
signal,
|
|
914
1074
|
...(headers === undefined ? {} : { headers }),
|
|
@@ -932,8 +1092,10 @@ const NodeCoordinatorValues = Object.freeze({
|
|
|
932
1092
|
*/
|
|
933
1093
|
async cancelChild(transport, member, members, child, signal, reader, issuer, maxBytes) {
|
|
934
1094
|
const subscription = fromBinary(SubscriptionSchema, child);
|
|
935
|
-
members?.onChildSubscriptionCancelled?.(member, subscription);
|
|
936
1095
|
const headers = await NodeCoordinatorValues.readerHeaders("Cancel", child, reader, issuer, maxBytes);
|
|
1096
|
+
if (signal.aborted)
|
|
1097
|
+
throw new ConnectError("Reader operation cancelled.", Code.Canceled);
|
|
1098
|
+
members?.onChildSubscriptionCancelled?.(member, subscription);
|
|
937
1099
|
await createClient(SubscriptionService, transport).cancel(subscription, {
|
|
938
1100
|
signal,
|
|
939
1101
|
...(headers === undefined ? {} : { headers }),
|
|
@@ -950,16 +1112,18 @@ const NodeCoordinatorValues = Object.freeze({
|
|
|
950
1112
|
*/
|
|
951
1113
|
async forward(transport, request, issuer, maxBytes = defaultMessageMaxBytes) {
|
|
952
1114
|
const headers = await NodeCoordinatorValues.forwardHeaders(request, issuer, maxBytes);
|
|
1115
|
+
if (request.signal.aborted)
|
|
1116
|
+
throw new ConnectError("Reader operation cancelled.", Code.Canceled);
|
|
953
1117
|
if (request.kind === "command") {
|
|
954
1118
|
await NodeCoordinatorValues.forwardCommand(transport, request, headers);
|
|
955
1119
|
}
|
|
956
1120
|
else if (request.kind === "query") {
|
|
957
|
-
const response = await transport.unary(QueryService.method.read, request.
|
|
1121
|
+
const response = await transport.unary(QueryService.method.read, request.signal, request.context.timeoutMs(), headers, request.query);
|
|
958
1122
|
NodeCoordinatorValues.responseMetadata(response.header, response.trailer, request.context);
|
|
959
1123
|
request.response = response.message;
|
|
960
1124
|
}
|
|
961
1125
|
else {
|
|
962
|
-
const response = await transport.unary(QueryService.method.execute, request.
|
|
1126
|
+
const response = await transport.unary(QueryService.method.execute, request.signal, request.context.timeoutMs(), headers, request.query);
|
|
963
1127
|
NodeCoordinatorValues.responseMetadata(response.header, response.trailer, request.context);
|
|
964
1128
|
request.response = response.message;
|
|
965
1129
|
}
|
|
@@ -974,7 +1138,7 @@ const NodeCoordinatorValues = Object.freeze({
|
|
|
974
1138
|
* @returns Completion after assigning the native response.
|
|
975
1139
|
*/
|
|
976
1140
|
async forwardCommand(transport, request, headers) {
|
|
977
|
-
const response = await transport.unary(CommandService.method.post, request.
|
|
1141
|
+
const response = await transport.unary(CommandService.method.post, request.signal, request.context.timeoutMs(), headers, request.command);
|
|
978
1142
|
NodeCoordinatorValues.responseMetadata(response.header, response.trailer, request.context);
|
|
979
1143
|
request.response = response.message;
|
|
980
1144
|
},
|
|
@@ -1019,8 +1183,10 @@ const NodeCoordinatorValues = Object.freeze({
|
|
|
1019
1183
|
*/
|
|
1020
1184
|
async activateChild(transport, member, members, child, updates, signal, reader, issuer, maxBytes = defaultMessageMaxBytes) {
|
|
1021
1185
|
const subscription = fromBinary(SubscriptionSchema, child);
|
|
1022
|
-
members?.onChildSubscriptionActivated?.(member, subscription);
|
|
1023
1186
|
const headers = await NodeCoordinatorValues.readerHeaders("Activate", child, reader, issuer, maxBytes);
|
|
1187
|
+
if (signal.aborted)
|
|
1188
|
+
throw new ConnectError("Reader operation cancelled.", Code.Canceled);
|
|
1189
|
+
members?.onChildSubscriptionActivated?.(member, subscription);
|
|
1024
1190
|
for await (const update of createClient(SubscriptionService, transport).activate(subscription, {
|
|
1025
1191
|
signal,
|
|
1026
1192
|
...(headers === undefined ? {} : { headers }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-coordinator.js","sourceRoot":"","sources":["../../src/server/node-coordinator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"node-coordinator.js","sourceRoot":"","sources":["../../src/server/node-coordinator.ts"],"names":[],"mappings":"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"}
|