@kronos-ts/messaging 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/streaming-event-processor.d.ts +2 -0
- package/dist/streaming-event-processor.d.ts.map +1 -1
- package/dist/streaming-event-processor.js +21 -2
- package/dist/streaming-event-processor.js.map +1 -1
- package/dist/tracking-event-processor.d.ts.map +1 -1
- package/dist/tracking-event-processor.js +10 -0
- package/dist/tracking-event-processor.js.map +1 -1
- package/package.json +1 -1
- package/src/streaming-event-processor.ts +28 -7
- package/src/tracking-event-processor.ts +10 -0
|
@@ -55,6 +55,8 @@ export interface StreamingEventProcessorOptions {
|
|
|
55
55
|
unitOfWorkRunner?: UoWRunner;
|
|
56
56
|
tokenStore?: TokenStore;
|
|
57
57
|
batchSize?: number;
|
|
58
|
+
/** Delay before retrying after a batch failure, in ms. Backs off to avoid hot-looping a deterministic failure. */
|
|
59
|
+
errorBackoffMs?: number;
|
|
58
60
|
errorHandler?: EventProcessingErrorHandler;
|
|
59
61
|
/** Optional handler enhancer applied to all event handlers at setup time. */
|
|
60
62
|
handlerEnhancer?: HandlerEnhancerDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming-event-processor.d.ts","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAiC,MAAM,mBAAmB,CAAA;AAC7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAEhF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AAWtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAK9C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,0BAA0B;IAC1B,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IACrD,0EAA0E;IAC1E,aAAa,IAAI,OAAO,CAAA;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,IAAI,CAAA;IACZ,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1E,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,qBAAqB,CAAA;IAClC,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAA;IACpD,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,2BAA2B,CAAA;IAC1C,6EAA6E;IAC7E,eAAe,CAAC,EAAE,yBAAyB,CAAA;IAC3C,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACrC;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,8BAA8B,GACtC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"streaming-event-processor.d.ts","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAiC,MAAM,mBAAmB,CAAA;AAC7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAA;AAEhF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AAWtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAK9C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,0BAA0B;IAC1B,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IACrD,0EAA0E;IAC1E,aAAa,IAAI,OAAO,CAAA;IACxB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,IAAI,CAAA;IACZ,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1E,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,qBAAqB,CAAA;IAClC,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAA;IACpD,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kHAAkH;IAClH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,2BAA2B,CAAA;IAC1C,6EAA6E;IAC7E,eAAe,CAAC,EAAE,yBAAyB,CAAA;IAC3C,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACrC;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,8BAA8B,GACtC,uBAAuB,CA2RzB"}
|
|
@@ -8,7 +8,7 @@ import { STATE_MANAGER_KEY } from "@kronos-ts/eventsourcing";
|
|
|
8
8
|
import { COMMAND_BUS_KEY } from "./send.js";
|
|
9
9
|
import { QUERY_BUS_KEY } from "./emit-update.js";
|
|
10
10
|
export function createStreamingEventProcessor(options) {
|
|
11
|
-
const { name, eventSource, eventHandlers, stateManager, commandBus, queryBus, onEventDelivery, unitOfWorkRunner = runInNewUoW, tokenStore, batchSize = 100, errorHandler = loggingErrorHandler(name), handlerEnhancer, onReset, } = options;
|
|
11
|
+
const { name, eventSource, eventHandlers, stateManager, commandBus, queryBus, onEventDelivery, unitOfWorkRunner = runInNewUoW, tokenStore, batchSize = 100, errorBackoffMs = 1000, errorHandler = loggingErrorHandler(name), handlerEnhancer, onReset, } = options;
|
|
12
12
|
const segment = 0;
|
|
13
13
|
const handlerMap = new Map();
|
|
14
14
|
for (const reg of eventHandlers) {
|
|
@@ -62,6 +62,23 @@ export function createStreamingEventProcessor(options) {
|
|
|
62
62
|
catch (err) {
|
|
63
63
|
lastError = err instanceof Error ? err : new Error(String(err));
|
|
64
64
|
console.error(`Event processor "${name}" error:`, err);
|
|
65
|
+
// Realign the live stream to the committed checkpoint. During batch
|
|
66
|
+
// accumulation the stream cursor (and any read-ahead buffer) advanced
|
|
67
|
+
// past this batch, but `token` was NOT advanced — the failing UnitOfWork
|
|
68
|
+
// never reached PREPARE_COMMIT. Closing discards the stream's buffer so
|
|
69
|
+
// the next cycle reopens at token.position() and re-reads — and thus
|
|
70
|
+
// redelivers — the failed batch. Without this the stream cursor outruns
|
|
71
|
+
// the checkpoint and the failed events are skipped until a restart.
|
|
72
|
+
// Mirrors Axon's close-and-reopen-from-token recovery. Back off before
|
|
73
|
+
// retrying so a deterministically failing handler can't hot-loop.
|
|
74
|
+
stream?.close();
|
|
75
|
+
stream = null;
|
|
76
|
+
if (isRunning) {
|
|
77
|
+
if (processTimer !== null)
|
|
78
|
+
clearTimeout(processTimer);
|
|
79
|
+
processTimer = setTimeout(processAvailable, errorBackoffMs);
|
|
80
|
+
}
|
|
81
|
+
return;
|
|
65
82
|
}
|
|
66
83
|
finally {
|
|
67
84
|
processing = false;
|
|
@@ -73,8 +90,10 @@ export function createStreamingEventProcessor(options) {
|
|
|
73
90
|
}
|
|
74
91
|
}
|
|
75
92
|
async function processFromStream() {
|
|
93
|
+
// Lazily (re)open the stream at the committed token. The error path nulls
|
|
94
|
+
// `stream` so processing resumes from the checkpoint, not a stale cursor.
|
|
76
95
|
if (!stream)
|
|
77
|
-
|
|
96
|
+
openStream();
|
|
78
97
|
// Check for stream errors — reopen if needed
|
|
79
98
|
const streamError = stream.error();
|
|
80
99
|
if (streamError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"streaming-event-processor.js","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AAKxE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AAGnE,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,GACb,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAGpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"streaming-event-processor.js","sourceRoot":"","sources":["../src/streaming-event-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracking-event-processor.d.ts","sourceRoot":"","sources":["../src/tracking-event-processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAiC,MAAM,mBAAmB,CAAA;AAC7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAWlD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAK9C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,IAAI,CAAA;IACZ;;;OAGG;IACH,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3E;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,qBAAqB,CAAA;IAClC,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAA;IACpD,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,2BAA2B,CAAA;IAC1C,6EAA6E;IAC7E,eAAe,CAAC,EAAE,yBAAyB,CAAA;IAC3C,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,2BAA2B,CAStF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,2BAA2B,CAMrE;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,6BAA6B,GACrC,sBAAsB,
|
|
1
|
+
{"version":3,"file":"tracking-event-processor.d.ts","sourceRoot":"","sources":["../src/tracking-event-processor.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAChE,OAAO,KAAK,EAAE,qBAAqB,EAAiC,MAAM,mBAAmB,CAAA;AAC7F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAWlD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAK9C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,sDAAsD;IACtD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,IAAI,CAAA;IACZ;;;OAGG;IACH,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3E;AAED,MAAM,WAAW,6BAA6B;IAC5C,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,qBAAqB,CAAA;IAClC,aAAa,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAA;IACpD,0EAA0E;IAC1E,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,wEAAwE;IACxE,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,oGAAoG;IACpG,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,UAAU,CAAC,EAAE,UAAU,CAAA;IACvB,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,2BAA2B,CAAA;IAC1C,6EAA6E;IAC7E,eAAe,CAAC,EAAE,yBAAyB,CAAA;IAC3C,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,2BAA2B,CAStF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,2BAA2B,CAMrE;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,6BAA6B,GACrC,sBAAsB,CA4OxB"}
|
|
@@ -122,6 +122,16 @@ export function createTrackingEventProcessor(options) {
|
|
|
122
122
|
}
|
|
123
123
|
catch (err) {
|
|
124
124
|
console.error(`Event processor "${name}" error during poll:`, err);
|
|
125
|
+
// Realign the live stream to the committed checkpoint. During batch
|
|
126
|
+
// accumulation the stream cursor (and any read-ahead buffer) advanced
|
|
127
|
+
// past this batch, but `token` was NOT advanced — the failing UnitOfWork
|
|
128
|
+
// never reached PREPARE_COMMIT. Closing discards the stream's buffer so
|
|
129
|
+
// the next poll reopens at token.position() and re-reads — and thus
|
|
130
|
+
// redelivers — the failed batch. Without this the stream cursor outruns
|
|
131
|
+
// the checkpoint and the failed events are skipped until a restart.
|
|
132
|
+
// Mirrors Axon's close-and-reopen-from-token recovery.
|
|
133
|
+
stream?.close();
|
|
134
|
+
stream = null;
|
|
125
135
|
if (isRunning)
|
|
126
136
|
pollTimer = setTimeout(poll, pollingIntervalMs * 2);
|
|
127
137
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracking-event-processor.js","sourceRoot":"","sources":["../src/tracking-event-processor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tracking-event-processor.js","sourceRoot":"","sources":["../src/tracking-event-processor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -75,6 +75,8 @@ export interface StreamingEventProcessorOptions {
|
|
|
75
75
|
unitOfWorkRunner?: UoWRunner
|
|
76
76
|
tokenStore?: TokenStore
|
|
77
77
|
batchSize?: number
|
|
78
|
+
/** Delay before retrying after a batch failure, in ms. Backs off to avoid hot-looping a deterministic failure. */
|
|
79
|
+
errorBackoffMs?: number
|
|
78
80
|
errorHandler?: EventProcessingErrorHandler
|
|
79
81
|
/** Optional handler enhancer applied to all event handlers at setup time. */
|
|
80
82
|
handlerEnhancer?: HandlerEnhancerDefinition
|
|
@@ -96,6 +98,7 @@ export function createStreamingEventProcessor(
|
|
|
96
98
|
unitOfWorkRunner = runInNewUoW,
|
|
97
99
|
tokenStore,
|
|
98
100
|
batchSize = 100,
|
|
101
|
+
errorBackoffMs = 1000,
|
|
99
102
|
errorHandler = loggingErrorHandler(name),
|
|
100
103
|
handlerEnhancer,
|
|
101
104
|
onReset,
|
|
@@ -158,6 +161,22 @@ export function createStreamingEventProcessor(
|
|
|
158
161
|
} catch (err) {
|
|
159
162
|
lastError = err instanceof Error ? err : new Error(String(err))
|
|
160
163
|
console.error(`Event processor "${name}" error:`, err)
|
|
164
|
+
// Realign the live stream to the committed checkpoint. During batch
|
|
165
|
+
// accumulation the stream cursor (and any read-ahead buffer) advanced
|
|
166
|
+
// past this batch, but `token` was NOT advanced — the failing UnitOfWork
|
|
167
|
+
// never reached PREPARE_COMMIT. Closing discards the stream's buffer so
|
|
168
|
+
// the next cycle reopens at token.position() and re-reads — and thus
|
|
169
|
+
// redelivers — the failed batch. Without this the stream cursor outruns
|
|
170
|
+
// the checkpoint and the failed events are skipped until a restart.
|
|
171
|
+
// Mirrors Axon's close-and-reopen-from-token recovery. Back off before
|
|
172
|
+
// retrying so a deterministically failing handler can't hot-loop.
|
|
173
|
+
stream?.close()
|
|
174
|
+
stream = null
|
|
175
|
+
if (isRunning) {
|
|
176
|
+
if (processTimer !== null) clearTimeout(processTimer)
|
|
177
|
+
processTimer = setTimeout(processAvailable, errorBackoffMs)
|
|
178
|
+
}
|
|
179
|
+
return
|
|
161
180
|
} finally {
|
|
162
181
|
processing = false
|
|
163
182
|
}
|
|
@@ -170,24 +189,26 @@ export function createStreamingEventProcessor(
|
|
|
170
189
|
}
|
|
171
190
|
|
|
172
191
|
async function processFromStream() {
|
|
173
|
-
|
|
192
|
+
// Lazily (re)open the stream at the committed token. The error path nulls
|
|
193
|
+
// `stream` so processing resumes from the checkpoint, not a stale cursor.
|
|
194
|
+
if (!stream) openStream()
|
|
174
195
|
|
|
175
196
|
// Check for stream errors — reopen if needed
|
|
176
|
-
const streamError = stream
|
|
197
|
+
const streamError = stream!.error()
|
|
177
198
|
if (streamError) {
|
|
178
199
|
console.error(`Event processor "${name}": stream error, reopening:`, streamError)
|
|
179
|
-
stream
|
|
200
|
+
stream!.close()
|
|
180
201
|
stream = null
|
|
181
202
|
openStream()
|
|
182
203
|
return
|
|
183
204
|
}
|
|
184
205
|
|
|
185
206
|
const batch: SequencedEvent[] = []
|
|
186
|
-
let event = stream
|
|
207
|
+
let event = stream!.next()
|
|
187
208
|
while (event && batch.length < batchSize) {
|
|
188
209
|
batch.push(event)
|
|
189
|
-
if (batch.length < batchSize && stream
|
|
190
|
-
event = stream
|
|
210
|
+
if (batch.length < batchSize && stream!.hasNextAvailable()) {
|
|
211
|
+
event = stream!.next()
|
|
191
212
|
} else {
|
|
192
213
|
break
|
|
193
214
|
}
|
|
@@ -196,7 +217,7 @@ export function createStreamingEventProcessor(
|
|
|
196
217
|
if (batch.length > 0) {
|
|
197
218
|
caughtUp = false
|
|
198
219
|
await processBatch(batch)
|
|
199
|
-
if (stream
|
|
220
|
+
if (stream!.hasNextAvailable()) {
|
|
200
221
|
scheduleImmediate()
|
|
201
222
|
}
|
|
202
223
|
} else {
|
|
@@ -224,6 +224,16 @@ export function createTrackingEventProcessor(
|
|
|
224
224
|
}
|
|
225
225
|
} catch (err) {
|
|
226
226
|
console.error(`Event processor "${name}" error during poll:`, err)
|
|
227
|
+
// Realign the live stream to the committed checkpoint. During batch
|
|
228
|
+
// accumulation the stream cursor (and any read-ahead buffer) advanced
|
|
229
|
+
// past this batch, but `token` was NOT advanced — the failing UnitOfWork
|
|
230
|
+
// never reached PREPARE_COMMIT. Closing discards the stream's buffer so
|
|
231
|
+
// the next poll reopens at token.position() and re-reads — and thus
|
|
232
|
+
// redelivers — the failed batch. Without this the stream cursor outruns
|
|
233
|
+
// the checkpoint and the failed events are skipped until a restart.
|
|
234
|
+
// Mirrors Axon's close-and-reopen-from-token recovery.
|
|
235
|
+
stream?.close()
|
|
236
|
+
stream = null
|
|
227
237
|
if (isRunning) pollTimer = setTimeout(poll, pollingIntervalMs * 2)
|
|
228
238
|
} finally {
|
|
229
239
|
processing = false
|