@s2-dev/streamstore 0.22.5 → 0.22.7
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/cjs/batch-transform.d.ts.map +1 -1
- package/dist/cjs/batch-transform.js +14 -8
- package/dist/cjs/batch-transform.js.map +1 -1
- package/dist/cjs/common.d.ts +5 -2
- package/dist/cjs/common.d.ts.map +1 -1
- package/dist/cjs/common.js.map +1 -1
- package/dist/cjs/error.d.ts +11 -7
- package/dist/cjs/error.d.ts.map +1 -1
- package/dist/cjs/error.js +31 -14
- package/dist/cjs/error.js.map +1 -1
- package/dist/cjs/lib/event-stream.d.ts.map +1 -1
- package/dist/cjs/lib/event-stream.js +12 -3
- package/dist/cjs/lib/event-stream.js.map +1 -1
- package/dist/cjs/lib/redacted.d.ts +0 -8
- package/dist/cjs/lib/redacted.d.ts.map +1 -1
- package/dist/cjs/lib/redacted.js +9 -9
- package/dist/cjs/lib/redacted.js.map +1 -1
- package/dist/cjs/lib/retry.d.ts +0 -5
- package/dist/cjs/lib/retry.d.ts.map +1 -1
- package/dist/cjs/lib/retry.js +40 -11
- package/dist/cjs/lib/retry.js.map +1 -1
- package/dist/cjs/lib/stream/runtime.d.ts +1 -1
- package/dist/cjs/lib/stream/transport/fetch/index.d.ts +7 -0
- package/dist/cjs/lib/stream/transport/fetch/index.d.ts.map +1 -1
- package/dist/cjs/lib/stream/transport/fetch/index.js +20 -1
- package/dist/cjs/lib/stream/transport/fetch/index.js.map +1 -1
- package/dist/cjs/lib/stream/transport/s2s/index.js +43 -4
- package/dist/cjs/lib/stream/transport/s2s/index.js.map +1 -1
- package/dist/cjs/lib/stream/types.d.ts +9 -0
- package/dist/cjs/lib/stream/types.d.ts.map +1 -1
- package/dist/cjs/lib/stream/types.js.map +1 -1
- package/dist/cjs/producer.d.ts +2 -0
- package/dist/cjs/producer.d.ts.map +1 -1
- package/dist/cjs/producer.js +63 -11
- package/dist/cjs/producer.js.map +1 -1
- package/dist/cjs/stream.d.ts +1 -1
- package/dist/cjs/stream.d.ts.map +1 -1
- package/dist/cjs/stream.js +15 -13
- package/dist/cjs/stream.js.map +1 -1
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +14 -3
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/version.d.ts +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/esm/batch-transform.d.ts.map +1 -1
- package/dist/esm/batch-transform.js +14 -8
- package/dist/esm/batch-transform.js.map +1 -1
- package/dist/esm/common.d.ts +5 -2
- package/dist/esm/common.d.ts.map +1 -1
- package/dist/esm/common.js.map +1 -1
- package/dist/esm/error.d.ts +11 -7
- package/dist/esm/error.d.ts.map +1 -1
- package/dist/esm/error.js +31 -14
- package/dist/esm/error.js.map +1 -1
- package/dist/esm/lib/event-stream.d.ts.map +1 -1
- package/dist/esm/lib/event-stream.js +12 -3
- package/dist/esm/lib/event-stream.js.map +1 -1
- package/dist/esm/lib/redacted.d.ts +0 -8
- package/dist/esm/lib/redacted.d.ts.map +1 -1
- package/dist/esm/lib/redacted.js +3 -3
- package/dist/esm/lib/redacted.js.map +1 -1
- package/dist/esm/lib/retry.d.ts +0 -5
- package/dist/esm/lib/retry.d.ts.map +1 -1
- package/dist/esm/lib/retry.js +40 -11
- package/dist/esm/lib/retry.js.map +1 -1
- package/dist/esm/lib/stream/runtime.d.ts +1 -1
- package/dist/esm/lib/stream/transport/fetch/index.d.ts +7 -0
- package/dist/esm/lib/stream/transport/fetch/index.d.ts.map +1 -1
- package/dist/esm/lib/stream/transport/fetch/index.js +20 -1
- package/dist/esm/lib/stream/transport/fetch/index.js.map +1 -1
- package/dist/esm/lib/stream/transport/s2s/index.js +43 -4
- package/dist/esm/lib/stream/transport/s2s/index.js.map +1 -1
- package/dist/esm/lib/stream/types.d.ts +9 -0
- package/dist/esm/lib/stream/types.d.ts.map +1 -1
- package/dist/esm/lib/stream/types.js.map +1 -1
- package/dist/esm/producer.d.ts +2 -0
- package/dist/esm/producer.d.ts.map +1 -1
- package/dist/esm/producer.js +63 -11
- package/dist/esm/producer.js.map +1 -1
- package/dist/esm/stream.d.ts +1 -1
- package/dist/esm/stream.d.ts.map +1 -1
- package/dist/esm/stream.js +15 -13
- package/dist/esm/stream.js.map +1 -1
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +14 -3
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/version.d.ts +1 -1
- package/dist/esm/version.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-transform.d.ts","sourceRoot":"","sources":["../../src/batch-transform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG5D,MAAM,WAAW,qBAAqB;IACrC,8EAA8E;IAC9E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,oEAAoE;AACpE,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,cAAe,SAAQ,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC;IAC7E,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,UAAU,CACZ;IACN,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;IACvC,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,IAAI,CAAC,EAAE,qBAAqB;
|
|
1
|
+
{"version":3,"file":"batch-transform.d.ts","sourceRoot":"","sources":["../../src/batch-transform.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG5D,MAAM,WAAW,qBAAqB;IACrC,8EAA8E;IAC9E,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sEAAsE;IACtE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uEAAuE;IACvE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,oEAAoE;AACpE,MAAM,MAAM,WAAW,GAAG,WAAW,CAAC;AAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,cAAe,SAAQ,eAAe,CAAC,YAAY,EAAE,WAAW,CAAC;IAC7E,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,UAAU,CACZ;IACN,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAS;IACvC,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,IAAI,CAAC,EAAE,qBAAqB;IA0DxC,OAAO,CAAC,YAAY;IA4CpB,OAAO,CAAC,KAAK;IA2Bb,OAAO,CAAC,gBAAgB;IAexB,OAAO,CAAC,iBAAiB;CAMzB"}
|
|
@@ -48,17 +48,18 @@ class BatchTransform extends TransformStream {
|
|
|
48
48
|
start: (c) => {
|
|
49
49
|
controller = c;
|
|
50
50
|
},
|
|
51
|
-
transform: (chunk
|
|
52
|
-
// Store controller reference on first transform
|
|
53
|
-
if (!this.controller) {
|
|
54
|
-
this.controller = c;
|
|
55
|
-
}
|
|
51
|
+
transform: (chunk) => {
|
|
56
52
|
this.handleRecord(chunk);
|
|
57
53
|
},
|
|
58
54
|
flush: () => {
|
|
59
55
|
this.flush();
|
|
60
56
|
},
|
|
57
|
+
cancel: () => {
|
|
58
|
+
this.cancelLingerTimer();
|
|
59
|
+
},
|
|
61
60
|
});
|
|
61
|
+
// Set controller reference captured during start
|
|
62
|
+
this.controller = controller;
|
|
62
63
|
// Validate configuration
|
|
63
64
|
if (args?.maxBatchRecords !== undefined) {
|
|
64
65
|
if (args.maxBatchRecords < 1 || args.maxBatchRecords > 1000) {
|
|
@@ -106,7 +107,7 @@ class BatchTransform extends TransformStream {
|
|
|
106
107
|
});
|
|
107
108
|
}
|
|
108
109
|
// Start linger timer on first record added to an empty batch
|
|
109
|
-
if (this.currentBatch.length === 0 && this.lingerDuration
|
|
110
|
+
if (this.currentBatch.length === 0 && this.lingerDuration >= 0) {
|
|
110
111
|
this.startLingerTimer();
|
|
111
112
|
}
|
|
112
113
|
// Check if adding this record would exceed limits
|
|
@@ -115,7 +116,7 @@ class BatchTransform extends TransformStream {
|
|
|
115
116
|
if (wouldExceedRecords || wouldExceedBytes) {
|
|
116
117
|
this.flush();
|
|
117
118
|
// Restart linger timer for new batch
|
|
118
|
-
if (this.lingerDuration
|
|
119
|
+
if (this.lingerDuration >= 0) {
|
|
119
120
|
this.startLingerTimer();
|
|
120
121
|
}
|
|
121
122
|
}
|
|
@@ -156,7 +157,12 @@ class BatchTransform extends TransformStream {
|
|
|
156
157
|
this.lingerTimer = setTimeout(() => {
|
|
157
158
|
this.lingerTimer = null;
|
|
158
159
|
if (this.currentBatch.length > 0) {
|
|
159
|
-
|
|
160
|
+
try {
|
|
161
|
+
this.flush();
|
|
162
|
+
}
|
|
163
|
+
catch {
|
|
164
|
+
// Stream may be closed/errored; discard silently
|
|
165
|
+
}
|
|
160
166
|
}
|
|
161
167
|
}, this.lingerDuration);
|
|
162
168
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-transform.js","sourceRoot":"","sources":["../../src/batch-transform.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AACrC,yCAA4D;AAC5D,yCAA0C;AAkB1C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,cAAe,SAAQ,eAA0C;IACrE,YAAY,GAAmB,EAAE,CAAC;IAClC,gBAAgB,GAAW,CAAC,CAAC;IAC7B,WAAW,GAAyC,IAAI,CAAC;IACzD,UAAU,GACjB,IAAI,CAAC;IACW,eAAe,CAAS;IACxB,aAAa,CAAS;IACtB,cAAc,CAAS;IACvB,YAAY,CAAU;IAC/B,eAAe,CAAU;IAEjC,YAAY,IAA4B;QACvC,IAAI,
|
|
1
|
+
{"version":3,"file":"batch-transform.js","sourceRoot":"","sources":["../../src/batch-transform.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/common.d.ts
CHANGED
|
@@ -2,8 +2,11 @@ import { S2Endpoints, type S2EndpointsInit } from "./endpoints.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Policy for retrying append operations.
|
|
4
4
|
*
|
|
5
|
-
* - `all`: Retry all append operations, including those that may have side effects
|
|
6
|
-
*
|
|
5
|
+
* - `all`: Retry all append operations, including those that may have side effects.
|
|
6
|
+
* Use when duplicate records on the stream are acceptable.
|
|
7
|
+
* - `noSideEffects`: Retry when it can be determined that the request had no side effects.
|
|
8
|
+
* Certain server errors (`rate_limited`, `hot_server`) and client errors (`ECONNREFUSED`)
|
|
9
|
+
* are safe to retry since they guarantee no mutation occurred.
|
|
7
10
|
*/
|
|
8
11
|
export type AppendRetryPolicy = "all" | "noSideEffects";
|
|
9
12
|
/**
|
package/dist/cjs/common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEnE
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEnE;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,eAAe,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACzB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAEtC;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;;;;;OAUG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;AAE3D,qBAAa,aAAa;WACX,KAAK,IAAI,mBAAmB;CAoB1C;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC7B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,WAAW,GAAG,eAAe,CAAC;IAC1C;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;OASG;IACH,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;;OAIG;IACH,KAAK,CAAC,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC"}
|
package/dist/cjs/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":";;;AAAA,iDAAmE;
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":";;;AAAA,iDAAmE;AAuEnE,MAAa,aAAa;IAClB,MAAM,CAAC,KAAK;QAClB,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;QAC1C,IAAI,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;QAC5B,CAAC;QAED,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACxD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACpD,IAAI,eAAe,IAAI,aAAa,EAAE,CAAC;YACtC,MAAM,aAAa,GAAoB;gBACtC,OAAO,EAAE,eAAe,IAAI,SAAS;gBACrC,KAAK,EAAE,aAAa,IAAI,SAAS;aACjC,CAAC;YACF,MAAM,CAAC,SAAS,GAAG,IAAI,0BAAW,CAAC,aAAa,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;CACD;AArBD,sCAqBC"}
|
package/dist/cjs/error.d.ts
CHANGED
|
@@ -35,6 +35,13 @@ export declare class S2Error extends Error {
|
|
|
35
35
|
data?: unknown;
|
|
36
36
|
origin?: "server" | "sdk";
|
|
37
37
|
});
|
|
38
|
+
/**
|
|
39
|
+
* Returns true if the error guarantees that no mutation occurred.
|
|
40
|
+
*
|
|
41
|
+
* Certain server errors (`rate_limited`, `hot_server`) and client errors
|
|
42
|
+
* (`ECONNREFUSED`) are safe to retry since they guarantee no side effects.
|
|
43
|
+
*/
|
|
44
|
+
hasNoSideEffects(): boolean;
|
|
38
45
|
}
|
|
39
46
|
/** Helper: construct a non-retryable invariant violation error (status 0). */
|
|
40
47
|
export declare function invariantViolation(message: string, details?: unknown): S2Error;
|
|
@@ -81,15 +88,12 @@ export declare class FencingTokenMismatchError extends S2Error {
|
|
|
81
88
|
});
|
|
82
89
|
}
|
|
83
90
|
/**
|
|
84
|
-
* Thrown when a read operation fails because the requested
|
|
91
|
+
* Thrown when a read operation fails because the requested starting point is out of range
|
|
92
|
+
* (HTTP 416 Range Not Satisfiable).
|
|
85
93
|
*
|
|
86
|
-
*
|
|
87
|
-
* of the stream (HTTP 416 Range Not Satisfiable).
|
|
94
|
+
* The `tail` property contains the current tail position of the stream when available.
|
|
88
95
|
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
* To handle this gracefully, you can set `clamp: true` in your read options to
|
|
92
|
-
* automatically start from the tail instead of throwing an error.
|
|
96
|
+
* @see https://s2.dev/docs/api/records/read#starting-point-out-of-range
|
|
93
97
|
*/
|
|
94
98
|
export declare class RangeNotSatisfiableError extends S2Error {
|
|
95
99
|
/** The current tail position of the stream. */
|
package/dist/cjs/error.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/error.js
CHANGED
|
@@ -31,11 +31,15 @@ function isConnectionError(error) {
|
|
|
31
31
|
// Chrome: "Failed to fetch"
|
|
32
32
|
// Firefox: "NetworkError when attempting to fetch resource"
|
|
33
33
|
// Safari: "Load failed"
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
// Normalize: lowercase, strip trailing punctuation/whitespace
|
|
35
|
+
const msg = error.message.toLowerCase().replace(/[\s.!]+$/, "");
|
|
36
|
+
const knownConnectionMessages = [
|
|
37
|
+
"fetch failed",
|
|
38
|
+
"failed to fetch",
|
|
39
|
+
"networkerror when attempting to fetch resource",
|
|
40
|
+
"load failed",
|
|
41
|
+
];
|
|
42
|
+
if (knownConnectionMessages.includes(msg)) {
|
|
39
43
|
return true;
|
|
40
44
|
}
|
|
41
45
|
const code = getErrorCode(error);
|
|
@@ -206,6 +210,22 @@ class S2Error extends Error {
|
|
|
206
210
|
this.origin = origin ?? "sdk";
|
|
207
211
|
this.name = "S2Error";
|
|
208
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* Returns true if the error guarantees that no mutation occurred.
|
|
215
|
+
*
|
|
216
|
+
* Certain server errors (`rate_limited`, `hot_server`) and client errors
|
|
217
|
+
* (`ECONNREFUSED`) are safe to retry since they guarantee no side effects.
|
|
218
|
+
*/
|
|
219
|
+
hasNoSideEffects() {
|
|
220
|
+
if (this.origin === "server") {
|
|
221
|
+
return ((this.status === 429 && this.code === "rate_limited") ||
|
|
222
|
+
(this.status === 502 && this.code === "hot_server"));
|
|
223
|
+
}
|
|
224
|
+
if (this.origin === "sdk") {
|
|
225
|
+
return this.code === "ECONNREFUSED";
|
|
226
|
+
}
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
209
229
|
}
|
|
210
230
|
exports.S2Error = S2Error;
|
|
211
231
|
/** Helper: construct a non-retryable invariant violation error (status 0). */
|
|
@@ -286,23 +306,20 @@ class FencingTokenMismatchError extends S2Error {
|
|
|
286
306
|
}
|
|
287
307
|
exports.FencingTokenMismatchError = FencingTokenMismatchError;
|
|
288
308
|
/**
|
|
289
|
-
* Thrown when a read operation fails because the requested
|
|
290
|
-
*
|
|
291
|
-
* This occurs when you specify a `startSeqNum` that is greater than the current tail
|
|
292
|
-
* of the stream (HTTP 416 Range Not Satisfiable).
|
|
309
|
+
* Thrown when a read operation fails because the requested starting point is out of range
|
|
310
|
+
* (HTTP 416 Range Not Satisfiable).
|
|
293
311
|
*
|
|
294
|
-
* The `tail` property contains the current tail position of the stream.
|
|
312
|
+
* The `tail` property contains the current tail position of the stream when available.
|
|
295
313
|
*
|
|
296
|
-
*
|
|
297
|
-
* automatically start from the tail instead of throwing an error.
|
|
314
|
+
* @see https://s2.dev/docs/api/records/read#starting-point-out-of-range
|
|
298
315
|
*/
|
|
299
316
|
class RangeNotSatisfiableError extends S2Error {
|
|
300
317
|
/** The current tail position of the stream. */
|
|
301
318
|
tail;
|
|
302
319
|
constructor({ code, status = 416, tail, } = {}) {
|
|
303
320
|
const message = tail
|
|
304
|
-
? `Range not satisfiable:
|
|
305
|
-
: "Range not satisfiable:
|
|
321
|
+
? `Range not satisfiable: starting point is out of range (tail seq_num=${tail.seq_num}).`
|
|
322
|
+
: "Range not satisfiable: starting point is out of range.";
|
|
306
323
|
super({
|
|
307
324
|
message,
|
|
308
325
|
code,
|
package/dist/cjs/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-stream.d.ts","sourceRoot":"","sources":["../../../src/lib/event-stream.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC3B,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,KAAK,WAAW,CAAC,CAAC,IACf;IACA,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;CACjB,GACD;IACA,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,CAAC,CAAC;CACT,GACD;IACA,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,CAAC,EAAE,CAAC;CACV,CAAC;AAEL,qBAAa,WAAW,CAAC,CAAC,CACzB,SAAQ,cAAc,CAAC,CAAC,CACxB,YAAW,eAAe;gBAGzB,YAAY,EAAE,cAAc,CAAC,UAAU,CAAC,EACxC,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"event-stream.d.ts","sourceRoot":"","sources":["../../../src/lib/event-stream.ts"],"names":[],"mappings":"AAaA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC3B,IAAI,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3B,CAAC;AAEF,KAAK,WAAW,CAAC,CAAC,IACf;IACA,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;CACjB,GACD;IACA,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,CAAC,CAAC;CACT,GACD;IACA,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,IAAI,CAAC;IACZ,KAAK,EAAE,CAAC,EAAE,CAAC;CACV,CAAC;AAEL,qBAAa,WAAW,CAAC,CAAC,CACzB,SAAQ,cAAc,CAAC,CAAC,CACxB,YAAW,eAAe;gBAGzB,YAAY,EAAE,cAAc,CAAC,UAAU,CAAC,EACxC,KAAK,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;IA2C3C,CAAC,MAAM,CAAC,YAAY,CAAC;IAK3B,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC;CAqClD"}
|
|
@@ -33,12 +33,13 @@ class EventStream extends ReadableStream {
|
|
|
33
33
|
downstream.enqueue(chunk);
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
else if (item.value) {
|
|
36
|
+
else if (item.value !== undefined) {
|
|
37
37
|
downstream.enqueue(item.value);
|
|
38
38
|
}
|
|
39
39
|
else if (item.done) {
|
|
40
40
|
await upstream.cancel("done");
|
|
41
41
|
downstream.close();
|
|
42
|
+
return;
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
}
|
|
@@ -157,8 +158,16 @@ function parseMessage(chunk, parse) {
|
|
|
157
158
|
continue;
|
|
158
159
|
ignore = false;
|
|
159
160
|
const i = line.indexOf(":");
|
|
160
|
-
|
|
161
|
-
|
|
161
|
+
let field;
|
|
162
|
+
let value;
|
|
163
|
+
if (i === -1) {
|
|
164
|
+
field = line;
|
|
165
|
+
value = "";
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
field = line.slice(0, i);
|
|
169
|
+
value = line[i + 1] === " " ? line.slice(i + 2) : line.slice(i + 1);
|
|
170
|
+
}
|
|
162
171
|
if (field === "data")
|
|
163
172
|
dataLines.push(value);
|
|
164
173
|
else if (field === "event")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-stream.js","sourceRoot":"","sources":["../../../src/lib/event-stream.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iCAAgC;AAEhC,MAAM,KAAK,GAAG,IAAA,eAAW,EAAC,iBAAiB,CAAC,CAAC;AA+B7C,MAAa,WACZ,SAAQ,cAAiB;IAGzB,YACC,YAAwC,EACxC,KAAgD;QAEhD,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;QAC1C,IAAI,MAAM,GAAe,IAAI,UAAU,EAAE,CAAC;QAC1C,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1D,KAAK,CAAC;YACL,KAAK,CAAC,IAAI,CAAC,UAAU;gBACpB,IAAI,CAAC;oBACJ,OAAO,IAAI,EAAE,CAAC;wBACb,KAAK,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC;wBAClD,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;wBACnC,IAAI,CAAC,KAAK,EAAE,CAAC;4BACZ,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;4BACpC,IAAI,KAAK,CAAC,IAAI;gCAAE,OAAO,UAAU,CAAC,KAAK,EAAE,CAAC;4BAC1C,MAAM,GAAG,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;4BAC3C,SAAS;wBACV,CAAC;wBACD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;wBAC7C,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;wBAClD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;wBAC1C,IAAI,IAAI,EAAE,CAAC;4BACV,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gCAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oCAChC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gCAC3B,CAAC;4BACF,CAAC;iCAAM,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"event-stream.js","sourceRoot":"","sources":["../../../src/lib/event-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,15 +3,7 @@ export interface Redacted<out A = string> {
|
|
|
3
3
|
export declare namespace Redacted {
|
|
4
4
|
type Value<T extends Redacted<any>> = [T] extends [Redacted<infer _A>] ? _A : never;
|
|
5
5
|
}
|
|
6
|
-
export declare const redactedRegistry: WeakMap<Redacted<any>, any>;
|
|
7
|
-
declare const NodeInspectSymbol: unique symbol;
|
|
8
|
-
export declare const proto: {
|
|
9
|
-
toString(): string;
|
|
10
|
-
toJSON(): string;
|
|
11
|
-
[NodeInspectSymbol](): string;
|
|
12
|
-
};
|
|
13
6
|
export declare const make: <T>(value: T) => Redacted<T>;
|
|
14
7
|
export declare const value: <T>(self: Redacted<T>) => T;
|
|
15
8
|
export declare const unsafeWipe: <T>(self: Redacted<T>) => boolean;
|
|
16
|
-
export {};
|
|
17
9
|
//# sourceMappingURL=redacted.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redacted.d.ts","sourceRoot":"","sources":["../../../src/lib/redacted.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM;CAAI;AAE5C,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IACjC,KAAY,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAC1E,EAAE,GACF,KAAK,CAAC;CACT;
|
|
1
|
+
{"version":3,"file":"redacted.d.ts","sourceRoot":"","sources":["../../../src/lib/redacted.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM;CAAI;AAE5C,MAAM,CAAC,OAAO,WAAW,QAAQ,CAAC;IACjC,KAAY,KAAK,CAAC,CAAC,SAAS,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAC1E,EAAE,GACF,KAAK,CAAC;CACT;AAkBD,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,CAAC,KAAG,QAAQ,CAAC,CAAC,CAI5C,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,CAAC,QAAQ,QAAQ,CAAC,CAAC,CAAC,KAAG,CAM5C,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,CAAC,QAAQ,QAAQ,CAAC,CAAC,CAAC,KAAG,OACpB,CAAC"}
|
package/dist/cjs/lib/redacted.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.unsafeWipe = exports.value = exports.make =
|
|
4
|
-
|
|
3
|
+
exports.unsafeWipe = exports.value = exports.make = void 0;
|
|
4
|
+
const redactedRegistry = new WeakMap();
|
|
5
5
|
const NodeInspectSymbol = Symbol.for("nodejs.util.inspect.custom");
|
|
6
|
-
|
|
6
|
+
const proto = Object.freeze({
|
|
7
7
|
toString() {
|
|
8
8
|
return "<redacted>";
|
|
9
9
|
},
|
|
@@ -13,22 +13,22 @@ exports.proto = {
|
|
|
13
13
|
[NodeInspectSymbol]() {
|
|
14
14
|
return "<redacted>";
|
|
15
15
|
},
|
|
16
|
-
};
|
|
16
|
+
});
|
|
17
17
|
const make = (value) => {
|
|
18
|
-
const redacted = Object.create(
|
|
19
|
-
|
|
18
|
+
const redacted = Object.create(proto);
|
|
19
|
+
redactedRegistry.set(redacted, value);
|
|
20
20
|
return redacted;
|
|
21
21
|
};
|
|
22
22
|
exports.make = make;
|
|
23
23
|
const value = (self) => {
|
|
24
|
-
if (
|
|
25
|
-
return
|
|
24
|
+
if (redactedRegistry.has(self)) {
|
|
25
|
+
return redactedRegistry.get(self);
|
|
26
26
|
}
|
|
27
27
|
else {
|
|
28
28
|
throw new Error("Unable to get redacted value");
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
exports.value = value;
|
|
32
|
-
const unsafeWipe = (self) =>
|
|
32
|
+
const unsafeWipe = (self) => redactedRegistry.delete(self);
|
|
33
33
|
exports.unsafeWipe = unsafeWipe;
|
|
34
34
|
//# sourceMappingURL=redacted.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redacted.js","sourceRoot":"","sources":["../../../src/lib/redacted.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"redacted.js","sourceRoot":"","sources":["../../../src/lib/redacted.ts"],"names":[],"mappings":";;;AAQA,MAAM,gBAAgB,GAAG,IAAI,OAAO,EAAsB,CAAC;AAE3D,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAEnE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3B,QAAQ;QACP,OAAO,YAAY,CAAC;IACrB,CAAC;IACD,MAAM;QACL,OAAO,YAAY,CAAC;IACrB,CAAC;IACD,CAAC,iBAAiB,CAAC;QAClB,OAAO,YAAY,CAAC;IACrB,CAAC;CACD,CAAC,CAAC;AAEI,MAAM,IAAI,GAAG,CAAI,KAAQ,EAAe,EAAE;IAChD,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC;AAJW,QAAA,IAAI,QAIf;AAEK,MAAM,KAAK,GAAG,CAAI,IAAiB,EAAK,EAAE;IAChD,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACjD,CAAC;AACF,CAAC,CAAC;AANW,QAAA,KAAK,SAMhB;AAEK,MAAM,UAAU,GAAG,CAAI,IAAiB,EAAW,EAAE,CAC3D,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AADlB,QAAA,UAAU,cACQ"}
|
package/dist/cjs/lib/retry.d.ts
CHANGED
|
@@ -136,11 +136,6 @@ export declare class RetryAppendSession implements AsyncDisposable, AppendSessio
|
|
|
136
136
|
* Recover from transient error: recreate session and resubmit all inflight entries.
|
|
137
137
|
*/
|
|
138
138
|
private recover;
|
|
139
|
-
/**
|
|
140
|
-
* Check if append can be retried under noSideEffects policy.
|
|
141
|
-
* For appends, idempotency requires match_seq_num.
|
|
142
|
-
*/
|
|
143
|
-
private isIdempotent;
|
|
144
139
|
/**
|
|
145
140
|
* Ensure session exists, creating it if necessary.
|
|
146
141
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/lib/retry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAGN,OAAO,EAGP,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AAIrC,OAAO,KAAK,EACX,UAAU,EAEV,oBAAoB,EACpB,aAAa,IAAI,iBAAiB,EAClC,QAAQ,EAER,WAAW,IAAI,eAAe,EAC9B,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAkDtD;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,WAAW,CAOtD,CAAC;AAWF;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/lib/retry.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/lib/retry.js
CHANGED
|
@@ -74,6 +74,10 @@ function isRetryable(error) {
|
|
|
74
74
|
if (RETRYABLE_STATUS_CODES.has(error.status)) {
|
|
75
75
|
return true;
|
|
76
76
|
}
|
|
77
|
+
// Transaction conflicts are transiently retryable
|
|
78
|
+
if (error.status === 409 && error.code === "transaction_conflict") {
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
77
81
|
// 400-level errors are generally non-retryable (validation, bad request)
|
|
78
82
|
if (error.status >= 400 && error.status < 500) {
|
|
79
83
|
return false;
|
|
@@ -674,10 +678,23 @@ class RetryAppendSession {
|
|
|
674
678
|
debugSession("[%s] [PUMP] ensuring session exists", this.streamName);
|
|
675
679
|
await this.ensureSession();
|
|
676
680
|
if (!this.session) {
|
|
677
|
-
// Session creation failed -
|
|
681
|
+
// Session creation failed - check max attempts before retrying
|
|
682
|
+
const effectiveMax = Math.max(1, this.retryConfig.maxAttempts);
|
|
683
|
+
const allowedRetries = effectiveMax - 1;
|
|
684
|
+
if (this.currentAttempt >= allowedRetries) {
|
|
685
|
+
debugSession("[%s] [PUMP] session creation failed, max attempts reached (%d), aborting", this.streamName, effectiveMax);
|
|
686
|
+
const wrappedError = new error_js_1.S2Error({
|
|
687
|
+
message: `Max attempts (${effectiveMax}) exhausted: connection failed`,
|
|
688
|
+
status: 502,
|
|
689
|
+
code: "connection_failed",
|
|
690
|
+
});
|
|
691
|
+
await this.abort(wrappedError);
|
|
692
|
+
return;
|
|
693
|
+
}
|
|
678
694
|
this.consecutiveFailures++;
|
|
695
|
+
this.currentAttempt++;
|
|
679
696
|
const delay = calculateDelay(this.consecutiveFailures - 1, this.retryConfig.minBaseDelayMillis, this.retryConfig.maxBaseDelayMillis);
|
|
680
|
-
debugSession("[%s] [PUMP] session creation failed, backing off for %dms", this.streamName, delay);
|
|
697
|
+
debugSession("[%s] [PUMP] session creation failed, backing off for %dms (retry %d/%d)", this.streamName, delay, this.currentAttempt, allowedRetries);
|
|
681
698
|
await sleep(delay);
|
|
682
699
|
continue;
|
|
683
700
|
}
|
|
@@ -769,13 +786,31 @@ class RetryAppendSession {
|
|
|
769
786
|
await this.abort(error);
|
|
770
787
|
return;
|
|
771
788
|
}
|
|
772
|
-
// Check policy compliance
|
|
789
|
+
// Check policy compliance: under noSideEffects, only retry when
|
|
790
|
+
// we can determine no mutation occurred. This is true if either:
|
|
791
|
+
// 1. The error itself guarantees no side effects (e.g. rate_limited, hot_server)
|
|
792
|
+
// 2. The transport reports no data was sent since the last dormant state
|
|
773
793
|
if (this.retryConfig.appendRetryPolicy === "noSideEffects" &&
|
|
774
|
-
!
|
|
794
|
+
!error.hasNoSideEffects() &&
|
|
795
|
+
(this.session?.effectSignalled() ?? true)) {
|
|
775
796
|
debugSession("[%s] error not policy-compliant (noSideEffects), aborting", this.streamName);
|
|
776
797
|
await this.abort(error);
|
|
777
798
|
return;
|
|
778
799
|
}
|
|
800
|
+
// Under noSideEffects, also check that all inflight entries
|
|
801
|
+
// are idempotent. Non-idempotent entries that were already
|
|
802
|
+
// sent may have been processed, and resubmitting would cause
|
|
803
|
+
// duplicates.
|
|
804
|
+
if (this.retryConfig.appendRetryPolicy === "noSideEffects") {
|
|
805
|
+
const hasNonIdempotentSent = this.inflight.some((entry, index) => index > 0 &&
|
|
806
|
+
!entry.needsSubmit &&
|
|
807
|
+
entry.input.matchSeqNum === undefined);
|
|
808
|
+
if (hasNonIdempotentSent) {
|
|
809
|
+
debugSession("[%s] non-idempotent pipelined entries already sent, aborting under noSideEffects", this.streamName);
|
|
810
|
+
await this.abort(error);
|
|
811
|
+
return;
|
|
812
|
+
}
|
|
813
|
+
}
|
|
779
814
|
// Check max attempts (total attempts include initial; retries = max - 1)
|
|
780
815
|
const effectiveMax = Math.max(1, this.retryConfig.maxAttempts);
|
|
781
816
|
const allowedRetries = effectiveMax - 1;
|
|
@@ -869,17 +904,11 @@ class RetryAppendSession {
|
|
|
869
904
|
const attemptStarted = performance.now();
|
|
870
905
|
entry.attemptStartedMonotonicMs = attemptStarted;
|
|
871
906
|
entry.innerPromise = session.submit(entry.input);
|
|
907
|
+
delete entry.needsSubmit;
|
|
872
908
|
debugSession("[%s] resubmitted entry (%d records, %d bytes, match_seq_num=%s)", this.streamName, entry.expectedCount, entry.input.meteredBytes, entry.input.matchSeqNum ?? "none");
|
|
873
909
|
}
|
|
874
910
|
debugSession("[%s] recovery complete", this.streamName);
|
|
875
911
|
}
|
|
876
|
-
/**
|
|
877
|
-
* Check if append can be retried under noSideEffects policy.
|
|
878
|
-
* For appends, idempotency requires match_seq_num.
|
|
879
|
-
*/
|
|
880
|
-
isIdempotent(entry) {
|
|
881
|
-
return entry.input.matchSeqNum !== undefined;
|
|
882
|
-
}
|
|
883
912
|
/**
|
|
884
913
|
* Ensure session exists, creating it if necessary.
|
|
885
914
|
*/
|