@fluidframework/container-runtime 2.80.0 → 2.81.0
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/CHANGELOG.md +4 -0
- package/container-runtime.test-files.tar +0 -0
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +1 -0
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/deltaScheduler.d.ts.map +1 -1
- package/dist/deltaScheduler.js +1 -0
- package/dist/deltaScheduler.js.map +1 -1
- package/dist/gc/gcHelpers.d.ts.map +1 -1
- package/dist/gc/gcHelpers.js +1 -0
- package/dist/gc/gcHelpers.js.map +1 -1
- package/dist/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/runtimeLayerCompatState.d.ts +2 -2
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js +1 -0
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/dist/summary/summaryDelayLoadedModule/summaryGenerator.js +8 -8
- package/dist/summary/summaryDelayLoadedModule/summaryGenerator.js.map +1 -1
- package/eslint.config.mts +4 -4
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +1 -0
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/deltaScheduler.d.ts.map +1 -1
- package/lib/deltaScheduler.js +1 -0
- package/lib/deltaScheduler.js.map +1 -1
- package/lib/gc/gcHelpers.d.ts.map +1 -1
- package/lib/gc/gcHelpers.js +1 -0
- package/lib/gc/gcHelpers.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/runtimeLayerCompatState.d.ts +2 -2
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js +1 -0
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/lib/summary/summaryDelayLoadedModule/summaryGenerator.js +8 -8
- package/lib/summary/summaryDelayLoadedModule/summaryGenerator.js.map +1 -1
- package/package.json +22 -22
- package/src/dataStoreContext.ts +1 -0
- package/src/deltaScheduler.ts +1 -0
- package/src/gc/gcHelpers.ts +1 -0
- package/src/packageVersion.ts +1 -1
- package/src/summary/summarizerNode/summarizerNodeWithGc.ts +1 -0
- package/src/summary/summaryDelayLoadedModule/summaryGenerator.ts +8 -8
- package/.eslintrc.cjs +0 -30
package/src/gc/gcHelpers.ts
CHANGED
|
@@ -251,6 +251,7 @@ export function unpackChildNodesGCDetails(
|
|
|
251
251
|
}
|
|
252
252
|
|
|
253
253
|
let childGCDetails = childGCDetailsMap.get(childId);
|
|
254
|
+
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- using ??= could change behavior if value is falsy
|
|
254
255
|
if (childGCDetails === undefined) {
|
|
255
256
|
childGCDetails = { gcData: { gcNodes: {} }, usedRoutes: [] };
|
|
256
257
|
}
|
package/src/packageVersion.ts
CHANGED
|
@@ -415,6 +415,7 @@ export class SummarizerNodeWithGC extends SummarizerNode implements IRootSummari
|
|
|
415
415
|
// If the child route used routes are not defined, initialize it now and it can be used for all child nodes
|
|
416
416
|
// created until this summarization process is completed. This is an optimization to unpack the used routes
|
|
417
417
|
// only when needed.
|
|
418
|
+
// eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- using ??= could change behavior if value is falsy
|
|
418
419
|
if (this.wipChildNodesUsedRoutes === undefined) {
|
|
419
420
|
this.wipChildNodesUsedRoutes = unpackChildNodesUsedRoutes(this.usedRoutes);
|
|
420
421
|
}
|
|
@@ -131,7 +131,7 @@ export class SummaryGenerator extends TypedEventEmitter<ISummarizerEvents> {
|
|
|
131
131
|
* For submit failures, submitFailureResult should be provided. For nack failures, nackSummaryResult should
|
|
132
132
|
* be provided. For op broadcast failures, only errors / properties should be provided.
|
|
133
133
|
*/
|
|
134
|
-
const
|
|
134
|
+
const summaryFail = (
|
|
135
135
|
errorCode: SummarizeErrorCode,
|
|
136
136
|
error: IRetriableFailureError,
|
|
137
137
|
properties?: SummaryGeneratorTelemetry,
|
|
@@ -191,7 +191,7 @@ export class SummaryGenerator extends TypedEventEmitter<ISummarizerEvents> {
|
|
|
191
191
|
const errorCode: SummarizeErrorCode = "submitSummaryFailure";
|
|
192
192
|
const retriableError =
|
|
193
193
|
summaryData.error ?? new RetriableSummaryError(getFailMessage(errorCode));
|
|
194
|
-
return
|
|
194
|
+
return summaryFail(errorCode, retriableError, summarizeTelemetryProps, {
|
|
195
195
|
stage: summaryData.stage,
|
|
196
196
|
});
|
|
197
197
|
}
|
|
@@ -227,7 +227,7 @@ export class SummaryGenerator extends TypedEventEmitter<ISummarizerEvents> {
|
|
|
227
227
|
summarizeEvent.reportEvent("generate", { ...summarizeTelemetryProps });
|
|
228
228
|
resultsBuilder.summarySubmitted.resolve({ success: true, data: summaryData });
|
|
229
229
|
} catch (error) {
|
|
230
|
-
return
|
|
230
|
+
return summaryFail(
|
|
231
231
|
"submitSummaryFailure",
|
|
232
232
|
wrapError(
|
|
233
233
|
error,
|
|
@@ -260,13 +260,13 @@ export class SummaryGenerator extends TypedEventEmitter<ISummarizerEvents> {
|
|
|
260
260
|
);
|
|
261
261
|
if (waitBroadcastResult.result === "cancelled") {
|
|
262
262
|
const errorCode: SummarizeErrorCode = "disconnect";
|
|
263
|
-
return
|
|
263
|
+
return summaryFail(errorCode, new RetriableSummaryError(getFailMessage(errorCode)));
|
|
264
264
|
}
|
|
265
265
|
if (waitBroadcastResult.result !== "done") {
|
|
266
266
|
// The summary op may not have been received within the timeout due to a transient error. So,
|
|
267
267
|
// fail with a retriable error to re-attempt the summary if possible.
|
|
268
268
|
const errorCode: SummarizeErrorCode = "summaryOpWaitTimeout";
|
|
269
|
-
return
|
|
269
|
+
return summaryFail(
|
|
270
270
|
errorCode,
|
|
271
271
|
new RetriableSummaryError(getFailMessage(errorCode), 0 /* retryAfterSeconds */),
|
|
272
272
|
);
|
|
@@ -296,13 +296,13 @@ export class SummaryGenerator extends TypedEventEmitter<ISummarizerEvents> {
|
|
|
296
296
|
);
|
|
297
297
|
if (waitAckNackResult.result === "cancelled") {
|
|
298
298
|
const errorCode: SummarizeErrorCode = "disconnect";
|
|
299
|
-
return
|
|
299
|
+
return summaryFail(errorCode, new RetriableSummaryError(getFailMessage(errorCode)));
|
|
300
300
|
}
|
|
301
301
|
if (waitAckNackResult.result !== "done") {
|
|
302
302
|
const errorCode: SummarizeErrorCode = "summaryAckWaitTimeout";
|
|
303
303
|
// The summary ack may not have been received within the timeout due to a transient error. So,
|
|
304
304
|
// fail with a retriable error to re-attempt the summary if possible.
|
|
305
|
-
return
|
|
305
|
+
return summaryFail(
|
|
306
306
|
errorCode,
|
|
307
307
|
new RetriableSummaryError(getFailMessage(errorCode), 0 /* retryAfterSeconds */),
|
|
308
308
|
);
|
|
@@ -363,7 +363,7 @@ export class SummaryGenerator extends TypedEventEmitter<ISummarizerEvents> {
|
|
|
363
363
|
0x25f /* "retryAfterSeconds" */,
|
|
364
364
|
);
|
|
365
365
|
// This will only set resultsBuilder.receivedSummaryAckOrNack, as other promises are already set.
|
|
366
|
-
return
|
|
366
|
+
return summaryFail(
|
|
367
367
|
errorCode,
|
|
368
368
|
error,
|
|
369
369
|
{ ...summarizeTelemetryProps, nackRetryAfter: retryAfterSeconds },
|
package/.eslintrc.cjs
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
|
-
* Licensed under the MIT License.
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
module.exports = {
|
|
7
|
-
extends: [require.resolve("@fluidframework/eslint-config-fluid/recommended"), "prettier"],
|
|
8
|
-
parserOptions: {
|
|
9
|
-
project: ["./tsconfig.json", "./src/test/tsconfig.json"],
|
|
10
|
-
},
|
|
11
|
-
rules: {
|
|
12
|
-
// AB#51780: temporarily disabled because of crashes in typescript-eslint on destructuring in promise chains.
|
|
13
|
-
// See: channelCollection.ts:1070
|
|
14
|
-
"@typescript-eslint/unbound-method": "off",
|
|
15
|
-
},
|
|
16
|
-
overrides: [
|
|
17
|
-
{
|
|
18
|
-
// Rules only for test files
|
|
19
|
-
files: ["*.spec.ts", "src/test/**"],
|
|
20
|
-
rules: {
|
|
21
|
-
// TODO: remove these overrides and fix violations
|
|
22
|
-
"@typescript-eslint/explicit-function-return-type": "off",
|
|
23
|
-
"unicorn/consistent-function-scoping": "off",
|
|
24
|
-
|
|
25
|
-
// Test files are run in node only so additional node libraries can be used.
|
|
26
|
-
"import-x/no-nodejs-modules": ["error", { allow: ["node:assert", "node:crypto"] }],
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
],
|
|
30
|
-
};
|