@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
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import * as http2 from "node:http2";
|
|
15
15
|
import { randomUUID } from "node:crypto";
|
|
16
|
-
import { clone, create, fromBinary, toBinary } from "@bufbuild/protobuf";
|
|
16
|
+
import { clone, create, equals, fromBinary, toBinary } from "@bufbuild/protobuf";
|
|
17
17
|
import { EmptySchema } from "@bufbuild/protobuf/wkt";
|
|
18
18
|
import { Code, ConnectError, createClient } from "@connectrpc/connect";
|
|
19
19
|
import { connectNodeAdapter, createGrpcTransport, Http2SessionManager, } from "@connectrpc/connect-node";
|
|
20
20
|
import { BackendMembershipKernel, } from "@spine-event-engine/deployment/spi/backend-membership";
|
|
21
21
|
import { SUBSCRIPTION_ACTIVATION_HANDSHAKE_MS } from "@spine-event-engine/core/spi/subscription-lifecycle";
|
|
22
22
|
import { AckSchema, ResponseSchema, StatusSchema, } from "@spine-event-engine/proto";
|
|
23
|
-
import { QueryResponseSchema, CommandService, QueryService, SubscriptionIdSchema, SubscriptionSchema, SubscriptionService, SubscriptionUpdateSchema, } from "@spine-event-engine/proto/client";
|
|
23
|
+
import { QueryResponseSchema, CommandService, QueryService, SubscriptionIdSchema, SubscriptionSchema, SubscriptionService, SubscriptionUpdateSchema, TopicSchema, } from "@spine-event-engine/proto/client";
|
|
24
24
|
const defaultHost = "127.0.0.1";
|
|
25
25
|
const defaultPort = 0;
|
|
26
26
|
const defaultMessageMaxBytes = 4_194_304;
|
|
@@ -57,7 +57,17 @@ export class NodeCoordinator {
|
|
|
57
57
|
*/
|
|
58
58
|
baseUrl;
|
|
59
59
|
#close;
|
|
60
|
+
#networkClose;
|
|
61
|
+
#draining = false;
|
|
60
62
|
#membershipReconciliation = Promise.resolve();
|
|
63
|
+
/**
|
|
64
|
+
* Creates the native node coordinator around its HTTP/2 listener and member source.
|
|
65
|
+
*
|
|
66
|
+
* @param options The coordinator configuration.
|
|
67
|
+
* @param server The HTTP/2 server.
|
|
68
|
+
* @param address The listening address.
|
|
69
|
+
* @param sessions Tracked HTTP/2 sessions.
|
|
70
|
+
*/
|
|
61
71
|
constructor(options, server, address, sessions) {
|
|
62
72
|
this.#members = options.members;
|
|
63
73
|
this.#unaryKernel = new BackendMembershipKernel(NodeCoordinatorValues.unaryKernelOptions());
|
|
@@ -84,10 +94,7 @@ export class NodeCoordinator {
|
|
|
84
94
|
* @returns The running private Coordinator.
|
|
85
95
|
*/
|
|
86
96
|
static async open(options) {
|
|
87
|
-
const host =
|
|
88
|
-
const port = NodeCoordinatorValues.port(options.port ?? defaultPort);
|
|
89
|
-
const readMaxBytes = NodeCoordinatorValues.messageLimit(options.readMaxBytes ?? defaultMessageMaxBytes);
|
|
90
|
-
const writeMaxBytes = NodeCoordinatorValues.messageLimit(options.writeMaxBytes ?? defaultMessageMaxBytes);
|
|
97
|
+
const { host, port, readMaxBytes, writeMaxBytes } = this.#listenerOptions(options);
|
|
91
98
|
// eslint-disable-next-line prefer-const -- routes capture the Coordinator before the listener exists.
|
|
92
99
|
let coordinator;
|
|
93
100
|
const sessions = new Set();
|
|
@@ -112,15 +119,38 @@ export class NodeCoordinator {
|
|
|
112
119
|
readMaxBytes,
|
|
113
120
|
writeMaxBytes,
|
|
114
121
|
}));
|
|
115
|
-
server
|
|
116
|
-
sessions.add(session);
|
|
117
|
-
session.once("close", () => sessions.delete(session));
|
|
118
|
-
});
|
|
122
|
+
this.#trackSessions(server, sessions);
|
|
119
123
|
const address = await NodeCoordinatorValues.listen(server, host, port);
|
|
120
124
|
coordinator = new NodeCoordinator(options, server, address, sessions);
|
|
121
125
|
await coordinator.#reconcile();
|
|
122
126
|
return coordinator;
|
|
123
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Validates private listener and message limits before opening the server.
|
|
130
|
+
*
|
|
131
|
+
* @param options The private Coordinator configuration.
|
|
132
|
+
* @returns Validated listener and message limits.
|
|
133
|
+
*/
|
|
134
|
+
static #listenerOptions(options) {
|
|
135
|
+
return {
|
|
136
|
+
host: NodeCoordinatorValues.host(options.host ?? defaultHost),
|
|
137
|
+
port: NodeCoordinatorValues.port(options.port ?? defaultPort),
|
|
138
|
+
readMaxBytes: NodeCoordinatorValues.messageLimit(options.readMaxBytes ?? defaultMessageMaxBytes),
|
|
139
|
+
writeMaxBytes: NodeCoordinatorValues.messageLimit(options.writeMaxBytes ?? defaultMessageMaxBytes),
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Tracks HTTP/2 sessions for normal listener cleanup.
|
|
144
|
+
*
|
|
145
|
+
* @param server The private Coordinator listener.
|
|
146
|
+
* @param sessions Receives active HTTP/2 sessions.
|
|
147
|
+
*/
|
|
148
|
+
static #trackSessions(server, sessions) {
|
|
149
|
+
server.on("session", (session) => {
|
|
150
|
+
sessions.add(session);
|
|
151
|
+
session.once("close", () => sessions.delete(session));
|
|
152
|
+
});
|
|
153
|
+
}
|
|
124
154
|
/**
|
|
125
155
|
* Stops public intake, active sessions, and private child clients.
|
|
126
156
|
*
|
|
@@ -139,8 +169,18 @@ export class NodeCoordinator {
|
|
|
139
169
|
* @returns Completion after the unary member snapshot becomes empty.
|
|
140
170
|
*/
|
|
141
171
|
beginDrain() {
|
|
172
|
+
this.#draining = true;
|
|
142
173
|
return this.#unaryKernel.reconcile([]);
|
|
143
174
|
}
|
|
175
|
+
/**
|
|
176
|
+
* Cancels backend relays while managed child listeners can still accept Cancel.
|
|
177
|
+
*
|
|
178
|
+
* @returns Completion after private child subscriptions are removed.
|
|
179
|
+
*/
|
|
180
|
+
async closeSubscriptions() {
|
|
181
|
+
await this.#membershipReconciliation;
|
|
182
|
+
await this.#subscriptionKernel.close();
|
|
183
|
+
}
|
|
144
184
|
async #post(command, context) {
|
|
145
185
|
const request = {
|
|
146
186
|
kind: "command",
|
|
@@ -162,6 +202,8 @@ export class NodeCoordinator {
|
|
|
162
202
|
return request.response;
|
|
163
203
|
}
|
|
164
204
|
async #subscribe(topic, context) {
|
|
205
|
+
if (this.#draining)
|
|
206
|
+
throw new ConnectError("Managed application is closing.", Code.Unavailable);
|
|
165
207
|
const subscription = create(SubscriptionSchema, {
|
|
166
208
|
id: create(SubscriptionIdSchema, { value: `s-${randomUUID()}` }),
|
|
167
209
|
topic,
|
|
@@ -172,10 +214,24 @@ export class NodeCoordinator {
|
|
|
172
214
|
catch (error) {
|
|
173
215
|
throw this.#availabilityError(error);
|
|
174
216
|
}
|
|
217
|
+
if (this.#isDraining()) {
|
|
218
|
+
await this.#cancelDefinition(toBinary(SubscriptionSchema, subscription), context.signal);
|
|
219
|
+
throw new ConnectError("Managed application is closing.", Code.Unavailable);
|
|
220
|
+
}
|
|
175
221
|
this.#schedulePendingActivation(subscription);
|
|
176
222
|
return subscription;
|
|
177
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Reads current admission state after an asynchronous backend Subscribe.
|
|
226
|
+
*
|
|
227
|
+
* @returns Whether the Coordinator is draining.
|
|
228
|
+
*/
|
|
229
|
+
#isDraining() {
|
|
230
|
+
return this.#draining;
|
|
231
|
+
}
|
|
178
232
|
async *#activate(subscription, context) {
|
|
233
|
+
if (this.#draining)
|
|
234
|
+
throw new ConnectError("Managed application is closing.", Code.Unavailable);
|
|
179
235
|
const definition = toBinary(SubscriptionSchema, subscription);
|
|
180
236
|
this.#clearPendingActivation(subscription);
|
|
181
237
|
const overflow = new AbortController();
|
|
@@ -186,15 +242,7 @@ export class NodeCoordinator {
|
|
|
186
242
|
if (context.signal.aborted)
|
|
187
243
|
abort();
|
|
188
244
|
const updates = new SubscriptionUpdateQueue(subscriptionQueueLimit, abort);
|
|
189
|
-
const activation = this.#
|
|
190
|
-
.activate(definition, async (childUpdate) => {
|
|
191
|
-
const update = fromBinary(SubscriptionUpdateSchema, childUpdate);
|
|
192
|
-
update.subscription = clone(SubscriptionSchema, subscription);
|
|
193
|
-
await updates.push(update);
|
|
194
|
-
}, overflow.signal)
|
|
195
|
-
.finally(() => {
|
|
196
|
-
updates.close();
|
|
197
|
-
});
|
|
245
|
+
const activation = this.#activateChild(definition, subscription, updates, overflow.signal);
|
|
198
246
|
let failure;
|
|
199
247
|
try {
|
|
200
248
|
for await (const update of updates)
|
|
@@ -210,6 +258,26 @@ export class NodeCoordinator {
|
|
|
210
258
|
await this.#finishActivation(definition, activation, failure);
|
|
211
259
|
}
|
|
212
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* Relays accepted child updates through the bounded logical stream.
|
|
263
|
+
*
|
|
264
|
+
* @param definition The validated child subscription bytes.
|
|
265
|
+
* @param subscription The logical subscription exposed to callers.
|
|
266
|
+
* @param updates The bounded caller stream queue.
|
|
267
|
+
* @param signal Cancels the active child relay.
|
|
268
|
+
* @returns Completion after the backend activation ends.
|
|
269
|
+
*/
|
|
270
|
+
#activateChild(definition, subscription, updates, signal) {
|
|
271
|
+
return this.#subscriptionKernel
|
|
272
|
+
.activate(definition, async (childUpdate) => {
|
|
273
|
+
const update = fromBinary(SubscriptionUpdateSchema, childUpdate);
|
|
274
|
+
update.subscription = clone(SubscriptionSchema, subscription);
|
|
275
|
+
await updates.push(update);
|
|
276
|
+
}, signal)
|
|
277
|
+
.finally(() => {
|
|
278
|
+
updates.close();
|
|
279
|
+
});
|
|
280
|
+
}
|
|
213
281
|
async #finishActivation(definition, activation, previousFailure) {
|
|
214
282
|
const failures = previousFailure === undefined ? [] : [previousFailure];
|
|
215
283
|
try {
|
|
@@ -238,6 +306,8 @@ export class NodeCoordinator {
|
|
|
238
306
|
});
|
|
239
307
|
}
|
|
240
308
|
async #forward(request) {
|
|
309
|
+
if (this.#draining)
|
|
310
|
+
throw new ConnectError("No ready application replica is available.", Code.Unavailable);
|
|
241
311
|
try {
|
|
242
312
|
await this.#unaryKernel.forward(request);
|
|
243
313
|
}
|
|
@@ -315,7 +385,7 @@ export class NodeCoordinator {
|
|
|
315
385
|
clearTimeout(pending.timer);
|
|
316
386
|
this.#pendingActivations.clear();
|
|
317
387
|
await this.#membershipReconciliation;
|
|
318
|
-
const network = NodeCoordinatorValues.closeNetwork(this.#server, this.#sessions);
|
|
388
|
+
const network = (this.#networkClose ??= NodeCoordinatorValues.closeNetwork(this.#server, this.#sessions));
|
|
319
389
|
await Promise.all([network, this.#unaryKernel.close(), this.#subscriptionKernel.close()]);
|
|
320
390
|
}
|
|
321
391
|
}
|
|
@@ -397,6 +467,12 @@ export class SubscriptionUpdateQueue {
|
|
|
397
467
|
}
|
|
398
468
|
}
|
|
399
469
|
const NodeCoordinatorValues = Object.freeze({
|
|
470
|
+
/**
|
|
471
|
+
* Builds membership options for native unary forwarding.
|
|
472
|
+
*
|
|
473
|
+
* @param members The ready member source when available.
|
|
474
|
+
* @returns The configured membership kernel options.
|
|
475
|
+
*/
|
|
400
476
|
unaryKernelOptions(members) {
|
|
401
477
|
// The Coordinator deliberately uses only the kernel's member lifecycle and
|
|
402
478
|
// one-shot forwarding operations. Subscription fan-out is owned by T-0208.
|
|
@@ -405,32 +481,57 @@ const NodeCoordinatorValues = Object.freeze({
|
|
|
405
481
|
memberKey: (member) => `${member.slot.toString()}/${member.incarnation}`,
|
|
406
482
|
sameMember: (left, right) => left.endpoint === right.endpoint,
|
|
407
483
|
definitionKey: (definition) => fromBinary(SubscriptionSchema, definition).id?.value,
|
|
408
|
-
childDefinition:
|
|
409
|
-
const subscription = clone(SubscriptionSchema, fromBinary(SubscriptionSchema, definition));
|
|
410
|
-
const id = NodeCoordinatorValues.requiredValue(subscription.id, "Coordinator subscription definition is missing an ID.");
|
|
411
|
-
id.value = `${id.value}/${member.slot.toString()}-${member.incarnation}`;
|
|
412
|
-
return toBinary(SubscriptionSchema, subscription);
|
|
413
|
-
},
|
|
484
|
+
childDefinition: NodeCoordinatorValues.childDefinition,
|
|
414
485
|
childSize: (child) => child.byteLength,
|
|
486
|
+
...NodeCoordinatorValues.activationAckOptions(members),
|
|
487
|
+
};
|
|
488
|
+
},
|
|
489
|
+
/**
|
|
490
|
+
* Builds strict child ACK validation for the subscription membership kernel.
|
|
491
|
+
*
|
|
492
|
+
* @param members The subscription-ready member source when configured.
|
|
493
|
+
* @returns Child acknowledgement recognition and logical rewriting callbacks.
|
|
494
|
+
*/
|
|
495
|
+
activationAckOptions(members) {
|
|
496
|
+
if (members === undefined)
|
|
497
|
+
return {};
|
|
498
|
+
return {
|
|
499
|
+
isActivationAck: (bytes) => {
|
|
500
|
+
const update = fromBinary(SubscriptionUpdateSchema, bytes);
|
|
501
|
+
return update.response?.status?.status.case === "ok" && update.update.case === undefined;
|
|
502
|
+
},
|
|
503
|
+
logicalActivationAck: (definition, childAck) => {
|
|
504
|
+
const update = fromBinary(SubscriptionUpdateSchema, childAck);
|
|
505
|
+
update.subscription = fromBinary(SubscriptionSchema, definition);
|
|
506
|
+
return toBinary(SubscriptionUpdateSchema, update);
|
|
507
|
+
},
|
|
415
508
|
};
|
|
416
509
|
},
|
|
510
|
+
/**
|
|
511
|
+
* Builds the member-specific native subscription definition.
|
|
512
|
+
*
|
|
513
|
+
* @param definition The logical subscription bytes.
|
|
514
|
+
* @param member The selected backend member.
|
|
515
|
+
* @returns The child definition bytes.
|
|
516
|
+
*/
|
|
517
|
+
childDefinition(definition, member) {
|
|
518
|
+
const subscription = clone(SubscriptionSchema, fromBinary(SubscriptionSchema, definition));
|
|
519
|
+
const id = NodeCoordinatorValues.requiredValue(subscription.id, "Coordinator subscription definition is missing an ID.");
|
|
520
|
+
id.value = `${id.value}/${member.slot.toString()}-${member.incarnation}`;
|
|
521
|
+
return toBinary(SubscriptionSchema, subscription);
|
|
522
|
+
},
|
|
523
|
+
/**
|
|
524
|
+
* Creates a native transport client for one member.
|
|
525
|
+
*
|
|
526
|
+
* @param member The discovered backend member.
|
|
527
|
+
* @param members The ready member source when available.
|
|
528
|
+
* @returns The member transport client.
|
|
529
|
+
*/
|
|
417
530
|
client(member, members) {
|
|
418
531
|
const manager = new Http2SessionManager(member.endpoint);
|
|
419
532
|
const transport = createGrpcTransport({ baseUrl: member.endpoint, sessionManager: manager });
|
|
420
533
|
return {
|
|
421
|
-
forward:
|
|
422
|
-
if (request.kind === "command") {
|
|
423
|
-
const response = await transport.unary(CommandService.method.post, request.context.signal, request.context.timeoutMs(), NodeCoordinatorValues.applicationHeaders(request.context.requestHeader), request.command);
|
|
424
|
-
NodeCoordinatorValues.responseMetadata(response.header, response.trailer, request.context);
|
|
425
|
-
request.response = response.message;
|
|
426
|
-
}
|
|
427
|
-
else {
|
|
428
|
-
const response = await transport.unary(QueryService.method.read, request.context.signal, request.context.timeoutMs(), NodeCoordinatorValues.applicationHeaders(request.context.requestHeader), request.query);
|
|
429
|
-
NodeCoordinatorValues.responseMetadata(response.header, response.trailer, request.context);
|
|
430
|
-
request.response = response.message;
|
|
431
|
-
}
|
|
432
|
-
return new Uint8Array();
|
|
433
|
-
},
|
|
534
|
+
forward: (request) => NodeCoordinatorValues.forward(transport, request),
|
|
434
535
|
close: () => {
|
|
435
536
|
manager.abort();
|
|
436
537
|
return Promise.resolve();
|
|
@@ -440,12 +541,7 @@ const NodeCoordinatorValues = Object.freeze({
|
|
|
440
541
|
const created = await createClient(SubscriptionService, transport).subscribe(NodeCoordinatorValues.requiredValue(subscription.topic, "Coordinator subscription definition is missing a Topic."), { signal });
|
|
441
542
|
return toBinary(SubscriptionSchema, created);
|
|
442
543
|
},
|
|
443
|
-
activate:
|
|
444
|
-
const subscription = fromBinary(SubscriptionSchema, child);
|
|
445
|
-
members?.onChildSubscriptionActivated?.(member, subscription);
|
|
446
|
-
for await (const update of createClient(SubscriptionService, transport).activate(subscription, { signal }))
|
|
447
|
-
await updates(toBinary(SubscriptionUpdateSchema, update));
|
|
448
|
-
},
|
|
544
|
+
activate: (child, updates, signal) => NodeCoordinatorValues.activateChild(transport, member, members, child, updates, signal),
|
|
449
545
|
dispose: async (child, signal) => {
|
|
450
546
|
const subscription = fromBinary(SubscriptionSchema, child);
|
|
451
547
|
members?.onChildSubscriptionCancelled?.(member, subscription);
|
|
@@ -453,12 +549,72 @@ const NodeCoordinatorValues = Object.freeze({
|
|
|
453
549
|
},
|
|
454
550
|
};
|
|
455
551
|
},
|
|
552
|
+
/**
|
|
553
|
+
* Sends one native Command or Query to a ready member.
|
|
554
|
+
*
|
|
555
|
+
* @param transport The connected native transport.
|
|
556
|
+
* @param request The request to forward.
|
|
557
|
+
* @returns Empty routing bytes after the response is assigned.
|
|
558
|
+
*/
|
|
559
|
+
async forward(transport, request) {
|
|
560
|
+
if (request.kind === "command") {
|
|
561
|
+
const response = await transport.unary(CommandService.method.post, request.context.signal, request.context.timeoutMs(), NodeCoordinatorValues.applicationHeaders(request.context.requestHeader), request.command);
|
|
562
|
+
NodeCoordinatorValues.responseMetadata(response.header, response.trailer, request.context);
|
|
563
|
+
request.response = response.message;
|
|
564
|
+
}
|
|
565
|
+
else {
|
|
566
|
+
const response = await transport.unary(QueryService.method.read, request.context.signal, request.context.timeoutMs(), NodeCoordinatorValues.applicationHeaders(request.context.requestHeader), request.query);
|
|
567
|
+
NodeCoordinatorValues.responseMetadata(response.header, response.trailer, request.context);
|
|
568
|
+
request.response = response.message;
|
|
569
|
+
}
|
|
570
|
+
return new Uint8Array();
|
|
571
|
+
},
|
|
572
|
+
/**
|
|
573
|
+
* Streams validated updates from one native child subscription.
|
|
574
|
+
*
|
|
575
|
+
* @param transport The connected native transport.
|
|
576
|
+
* @param member The backend member.
|
|
577
|
+
* @param members The ready member source when available.
|
|
578
|
+
* @param child The serialized child subscription.
|
|
579
|
+
* @param updates The logical update sink.
|
|
580
|
+
* @param signal Cancels child activation.
|
|
581
|
+
* @returns Completion after the child stream closes.
|
|
582
|
+
*/
|
|
583
|
+
async activateChild(transport, member, members, child, updates, signal) {
|
|
584
|
+
const subscription = fromBinary(SubscriptionSchema, child);
|
|
585
|
+
members?.onChildSubscriptionActivated?.(member, subscription);
|
|
586
|
+
for await (const update of createClient(SubscriptionService, transport).activate(subscription, {
|
|
587
|
+
signal,
|
|
588
|
+
})) {
|
|
589
|
+
const topic = subscription.topic;
|
|
590
|
+
const updateTopic = update.subscription?.topic;
|
|
591
|
+
if (update.subscription?.id?.value !== subscription.id?.value ||
|
|
592
|
+
topic === undefined ||
|
|
593
|
+
updateTopic === undefined ||
|
|
594
|
+
!equals(TopicSchema, updateTopic, topic))
|
|
595
|
+
throw new Error("Backend child update does not match its subscription.");
|
|
596
|
+
await updates(toBinary(SubscriptionUpdateSchema, update));
|
|
597
|
+
}
|
|
598
|
+
},
|
|
599
|
+
/**
|
|
600
|
+
* Copies backend response metadata into the public context.
|
|
601
|
+
*
|
|
602
|
+
* @param headers Headers received from the backend.
|
|
603
|
+
* @param trailers Trailers received from the backend.
|
|
604
|
+
* @param context The authenticated or RPC context.
|
|
605
|
+
*/
|
|
456
606
|
responseMetadata(headers, trailers, context) {
|
|
457
607
|
for (const [name, value] of NodeCoordinatorValues.applicationHeaders(headers))
|
|
458
608
|
context.responseHeader.append(name, value);
|
|
459
609
|
for (const [name, value] of NodeCoordinatorValues.applicationHeaders(trailers))
|
|
460
610
|
context.responseTrailer.append(name, value);
|
|
461
611
|
},
|
|
612
|
+
/**
|
|
613
|
+
* Copies application headers for forwarding.
|
|
614
|
+
*
|
|
615
|
+
* @param headers Headers received from the backend.
|
|
616
|
+
* @returns Forwardable application headers.
|
|
617
|
+
*/
|
|
462
618
|
applicationHeaders(headers) {
|
|
463
619
|
const forwarded = new Headers(headers);
|
|
464
620
|
for (const name of [...forwarded.keys()]) {
|
|
@@ -471,35 +627,81 @@ const NodeCoordinatorValues = Object.freeze({
|
|
|
471
627
|
}
|
|
472
628
|
return forwarded;
|
|
473
629
|
},
|
|
630
|
+
/**
|
|
631
|
+
* Returns a required non-null value or throws.
|
|
632
|
+
*
|
|
633
|
+
* @typeParam Value The required input type.
|
|
634
|
+
* @param value The caller-supplied value.
|
|
635
|
+
* @param message Error text for a missing value.
|
|
636
|
+
* @returns The non-null value.
|
|
637
|
+
*/
|
|
474
638
|
requiredValue(value, message) {
|
|
475
639
|
if (value === undefined)
|
|
476
640
|
throw new Error(message);
|
|
477
641
|
return value;
|
|
478
642
|
},
|
|
643
|
+
/**
|
|
644
|
+
* Converts an unknown error to a Connect error.
|
|
645
|
+
*
|
|
646
|
+
* @param error The original error.
|
|
647
|
+
* @returns The normalized Connect error.
|
|
648
|
+
*/
|
|
479
649
|
error(error) {
|
|
480
650
|
return error instanceof Error
|
|
481
651
|
? error
|
|
482
652
|
: new Error("Coordinator subscription operation failed.", { cause: error });
|
|
483
653
|
},
|
|
654
|
+
/**
|
|
655
|
+
* Validates a configured host.
|
|
656
|
+
*
|
|
657
|
+
* @param value The caller-supplied value.
|
|
658
|
+
* @returns The validated host.
|
|
659
|
+
*/
|
|
484
660
|
host(value) {
|
|
485
661
|
const normalized = value.trim();
|
|
486
662
|
if (normalized.length === 0)
|
|
487
663
|
throw new Error("Server host must not be blank.");
|
|
488
664
|
return normalized;
|
|
489
665
|
},
|
|
666
|
+
/**
|
|
667
|
+
* Formats a host for a transport URL.
|
|
668
|
+
*
|
|
669
|
+
* @param host The configured host.
|
|
670
|
+
* @returns The URL-safe host.
|
|
671
|
+
*/
|
|
490
672
|
formatHostForUrl(host) {
|
|
491
673
|
return host.includes(":") && !host.startsWith("[") ? `[${host}]` : host;
|
|
492
674
|
},
|
|
675
|
+
/**
|
|
676
|
+
* Validates a configured network port.
|
|
677
|
+
*
|
|
678
|
+
* @param value The caller-supplied value.
|
|
679
|
+
* @returns The validated port.
|
|
680
|
+
*/
|
|
493
681
|
port(value) {
|
|
494
682
|
if (!Number.isSafeInteger(value) || value < 0 || value > 65_535)
|
|
495
683
|
throw new Error("Managed server port must be a safe integer between 0 and 65535.");
|
|
496
684
|
return value;
|
|
497
685
|
},
|
|
686
|
+
/**
|
|
687
|
+
* Validates a message size limit.
|
|
688
|
+
*
|
|
689
|
+
* @param value The caller-supplied value.
|
|
690
|
+
* @returns The validated message limit.
|
|
691
|
+
*/
|
|
498
692
|
messageLimit(value) {
|
|
499
693
|
if (!Number.isSafeInteger(value) || value < 1 || value > 0xffff_ffff)
|
|
500
694
|
throw new Error("Managed server message limit must be a safe integer between 1 and 4294967295.");
|
|
501
695
|
return value;
|
|
502
696
|
},
|
|
697
|
+
/**
|
|
698
|
+
* Starts the coordinator HTTP/2 listener.
|
|
699
|
+
*
|
|
700
|
+
* @param server The HTTP/2 server.
|
|
701
|
+
* @param host The configured host.
|
|
702
|
+
* @param port The configured port.
|
|
703
|
+
* @returns Completion when the listener starts.
|
|
704
|
+
*/
|
|
503
705
|
listen(server, host, port) {
|
|
504
706
|
return new Promise((resolve, reject) => {
|
|
505
707
|
const onError = (error) => {
|
|
@@ -515,6 +717,12 @@ const NodeCoordinatorValues = Object.freeze({
|
|
|
515
717
|
server.listen(port, host);
|
|
516
718
|
});
|
|
517
719
|
},
|
|
720
|
+
/**
|
|
721
|
+
* Closes the HTTP/2 server.
|
|
722
|
+
*
|
|
723
|
+
* @param server The HTTP/2 server.
|
|
724
|
+
* @returns Completion after server shutdown.
|
|
725
|
+
*/
|
|
518
726
|
closeServer(server) {
|
|
519
727
|
return new Promise((resolve, reject) => {
|
|
520
728
|
if (!server.listening) {
|
|
@@ -529,11 +737,24 @@ const NodeCoordinatorValues = Object.freeze({
|
|
|
529
737
|
});
|
|
530
738
|
});
|
|
531
739
|
},
|
|
740
|
+
/**
|
|
741
|
+
* Closes the HTTP/2 server and active sessions.
|
|
742
|
+
*
|
|
743
|
+
* @param server The HTTP/2 server.
|
|
744
|
+
* @param sessions Tracked HTTP/2 sessions.
|
|
745
|
+
* @returns Completion after network shutdown.
|
|
746
|
+
*/
|
|
532
747
|
async closeNetwork(server, sessions) {
|
|
533
748
|
const closed = NodeCoordinatorValues.closeServer(server);
|
|
534
749
|
await Promise.all([...sessions].map((session) => NodeCoordinatorValues.closeSession(session)));
|
|
535
750
|
await closed;
|
|
536
751
|
},
|
|
752
|
+
/**
|
|
753
|
+
* Closes an HTTP/2 session.
|
|
754
|
+
*
|
|
755
|
+
* @param session The HTTP/2 session.
|
|
756
|
+
* @returns Completion after session shutdown.
|
|
757
|
+
*/
|
|
537
758
|
closeSession(session) {
|
|
538
759
|
return new Promise((resolve) => {
|
|
539
760
|
const timer = setTimeout(() => {
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-log.d.ts","sourceRoot":"","sources":["../../src/server/server-log.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"server-log.d.ts","sourceRoot":"","sources":["../../src/server/server-log.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAgC1C;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACvC,IAAI,CAEN;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACvC,IAAI,CAEN"}
|
|
@@ -31,6 +31,8 @@ const allowedFields = new Set([
|
|
|
31
31
|
"contextName",
|
|
32
32
|
"operation",
|
|
33
33
|
"reasonCode",
|
|
34
|
+
"errorName",
|
|
35
|
+
"errorCode",
|
|
34
36
|
"slot",
|
|
35
37
|
"incarnation",
|
|
36
38
|
"attempt",
|
|
@@ -87,6 +89,8 @@ function cleanFacts(facts) {
|
|
|
87
89
|
continue;
|
|
88
90
|
if ((key === "operation" || key === "reasonCode") && !code.test(value))
|
|
89
91
|
continue;
|
|
92
|
+
if ((key === "errorName" || key === "errorCode") && !/^[A-Za-z0-9_.-]{1,64}$/.test(value))
|
|
93
|
+
continue;
|
|
90
94
|
cleaned[key] = value;
|
|
91
95
|
}
|
|
92
96
|
return cleaned;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-log.js","sourceRoot":"","sources":["../../src/server/server-log.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server-log.js","sourceRoot":"","sources":["../../src/server/server-log.ts"],"names":[],"mappings":"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"}
|