@fluidframework/container-runtime 2.0.0-internal.3.0.4 → 2.0.0-internal.3.0.6
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/containerRuntime.js +1 -1
- package/dist/containerRuntime.js.map +1 -1
- package/dist/garbageCollection.d.ts +0 -2
- package/dist/garbageCollection.d.ts.map +1 -1
- package/dist/garbageCollection.js +4 -48
- package/dist/garbageCollection.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/lib/containerRuntime.js +1 -1
- package/lib/containerRuntime.js.map +1 -1
- package/lib/garbageCollection.d.ts +0 -2
- package/lib/garbageCollection.d.ts.map +1 -1
- package/lib/garbageCollection.js +5 -49
- package/lib/garbageCollection.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/package.json +14 -14
- package/src/containerRuntime.ts +1 -1
- package/src/garbageCollection.ts +4 -65
- package/src/packageVersion.ts +1 -1
|
@@ -265,8 +265,6 @@ export declare class GarbageCollector implements IGarbageCollector {
|
|
|
265
265
|
private readonly activeConnection;
|
|
266
266
|
/** Returns a list of all the configurations for garbage collection. */
|
|
267
267
|
private get configs();
|
|
268
|
-
/** Handler to respond to when a SweepReady object is used */
|
|
269
|
-
private readonly sweepReadyUsageHandler;
|
|
270
268
|
protected constructor(createParams: IGarbageCollectorCreateParams);
|
|
271
269
|
/**
|
|
272
270
|
* Called during container initialization. Initialize from the tombstone state in the base snapshot. This is done
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"garbageCollection.d.ts","sourceRoot":"","sources":["../src/garbageCollection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AASjE,OAAO,EAAE,aAAa,EAAe,MAAM,sCAAsC,CAAC;AAClF,OAAO,EAIH,sBAAsB,EACtB,6BAA6B,EAG7B,gBAAgB,EAChB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"garbageCollection.d.ts","sourceRoot":"","sources":["../src/garbageCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,10 +24,8 @@ const runtime_definitions_1 = require("@fluidframework/runtime-definitions");
|
|
|
24
24
|
const runtime_utils_1 = require("@fluidframework/runtime-utils");
|
|
25
25
|
const telemetry_utils_1 = require("@fluidframework/telemetry-utils");
|
|
26
26
|
const containerRuntime_1 = require("./containerRuntime");
|
|
27
|
-
const dataStores_1 = require("./dataStores");
|
|
28
27
|
const garbageCollectionConstants_1 = require("./garbageCollectionConstants");
|
|
29
28
|
const garbageCollectionTombstoneUtils_1 = require("./garbageCollectionTombstoneUtils");
|
|
30
|
-
const gcSweepReadyUsageDetection_1 = require("./gcSweepReadyUsageDetection");
|
|
31
29
|
const summaryFormat_1 = require("./summaryFormat");
|
|
32
30
|
/** The types of GC nodes in the GC reference graph. */
|
|
33
31
|
exports.GCNodeType = {
|
|
@@ -172,7 +170,6 @@ class GarbageCollector {
|
|
|
172
170
|
// If version upgrade is not enabled, fall back to the stable GC version.
|
|
173
171
|
this.currentGCVersion =
|
|
174
172
|
this.mc.config.getBoolean(garbageCollectionConstants_1.gcVersionUpgradeToV2Key) === true ? garbageCollectionConstants_1.currentGCVersion : garbageCollectionConstants_1.stableGCVersion;
|
|
175
|
-
this.sweepReadyUsageHandler = new gcSweepReadyUsageDetection_1.SweepReadyUsageDetectionHandler(createParams.getContainerDiagnosticId(), this.mc, this.runtime.closeFn);
|
|
176
173
|
let prevSummaryGCVersion;
|
|
177
174
|
/**
|
|
178
175
|
* Sweep timeout is the time after which unreferenced content can be swept.
|
|
@@ -287,7 +284,6 @@ class GarbageCollector {
|
|
|
287
284
|
// Get the GC data from the base snapshot. Use LazyPromise because we only want to do this once since it
|
|
288
285
|
// it involves fetching blobs from storage which is expensive.
|
|
289
286
|
this.baseSnapshotDataP = new common_utils_1.LazyPromise(async () => {
|
|
290
|
-
var _a;
|
|
291
287
|
if (baseSnapshot === undefined) {
|
|
292
288
|
return undefined;
|
|
293
289
|
}
|
|
@@ -297,43 +293,9 @@ class GarbageCollector {
|
|
|
297
293
|
if (gcSnapshotTree !== undefined) {
|
|
298
294
|
return (0, garbage_collector_1.getGCDataFromSnapshot)(gcSnapshotTree, readAndParseBlob);
|
|
299
295
|
}
|
|
300
|
-
// back-compat - Older documents
|
|
301
|
-
//
|
|
302
|
-
|
|
303
|
-
const gcState = { gcNodes: { "/": { outboundRoutes: [] } } };
|
|
304
|
-
const dataStoreSnapshotTree = (0, dataStores_1.getSummaryForDatastores)(baseSnapshot, metadata);
|
|
305
|
-
(0, common_utils_1.assert)(dataStoreSnapshotTree !== undefined, 0x2a8 /* "Expected data store snapshot tree in base snapshot" */);
|
|
306
|
-
for (const [dsId, dsSnapshotTree] of Object.entries(dataStoreSnapshotTree.trees)) {
|
|
307
|
-
const blobId = dsSnapshotTree.blobs[runtime_definitions_1.gcTreeKey];
|
|
308
|
-
if (blobId === undefined) {
|
|
309
|
-
continue;
|
|
310
|
-
}
|
|
311
|
-
const gcSummaryDetails = await readAndParseBlob(blobId);
|
|
312
|
-
// If there are no nodes for this data store, skip it.
|
|
313
|
-
if (((_a = gcSummaryDetails.gcData) === null || _a === void 0 ? void 0 : _a.gcNodes) === undefined) {
|
|
314
|
-
continue;
|
|
315
|
-
}
|
|
316
|
-
const dsRootId = `/${dsId}`;
|
|
317
|
-
// Since we used to write GC data at data store level, we won't have an entry for the root ("/").
|
|
318
|
-
// Construct that entry by adding root data store ids to its outbound routes.
|
|
319
|
-
const initialSnapshotDetails = await readAndParseBlob(dsSnapshotTree.blobs[summaryFormat_1.dataStoreAttributesBlobName]);
|
|
320
|
-
if (initialSnapshotDetails.isRootDataStore) {
|
|
321
|
-
gcState.gcNodes["/"].outboundRoutes.push(dsRootId);
|
|
322
|
-
}
|
|
323
|
-
for (const [id, outboundRoutes] of Object.entries(gcSummaryDetails.gcData.gcNodes)) {
|
|
324
|
-
// Prefix the data store id to the GC node ids to make them relative to the root from being
|
|
325
|
-
// relative to the data store. Similar to how its done in DataStore::getGCData.
|
|
326
|
-
const rootId = id === "/" ? dsRootId : `${dsRootId}${id}`;
|
|
327
|
-
gcState.gcNodes[rootId] = { outboundRoutes: Array.from(outboundRoutes) };
|
|
328
|
-
}
|
|
329
|
-
(0, common_utils_1.assert)(gcState.gcNodes[dsRootId] !== undefined, 0x2a9 /* GC nodes for data store not in GC blob */);
|
|
330
|
-
gcState.gcNodes[dsRootId].unreferencedTimestampMs = gcSummaryDetails.unrefTimestamp;
|
|
331
|
-
}
|
|
332
|
-
// If there is only one node (root node just added above), either GC is disabled or we are loading from
|
|
333
|
-
// the first summary generated by detached container. In both cases, GC was not run - return undefined.
|
|
334
|
-
return Object.keys(gcState.gcNodes).length === 1
|
|
335
|
-
? undefined
|
|
336
|
-
: { gcState, tombstones: undefined, deletedNodes: undefined };
|
|
296
|
+
// back-compat - Older documents get their gc data reset for simplicity as there are few of them
|
|
297
|
+
// incremental gc summary will not work with older gc data as well
|
|
298
|
+
return undefined;
|
|
337
299
|
}
|
|
338
300
|
catch (error) {
|
|
339
301
|
const dpe = container_utils_1.DataProcessingError.wrapIfUnrecognized(error, "FailedToInitializeGC");
|
|
@@ -601,7 +563,7 @@ class GarbageCollector {
|
|
|
601
563
|
return undefined;
|
|
602
564
|
}
|
|
603
565
|
// Add the options that are used to run GC to the telemetry context.
|
|
604
|
-
telemetryContext === null || telemetryContext === void 0 ? void 0 : telemetryContext.
|
|
566
|
+
telemetryContext === null || telemetryContext === void 0 ? void 0 : telemetryContext.setMultiple("fluid_GC", "Options", { fullGC, runSweep: options.runSweep });
|
|
605
567
|
return telemetry_utils_1.PerformanceEvent.timedExecAsync(logger, { eventName: "GarbageCollection" }, async (event) => {
|
|
606
568
|
await this.runPreGCSteps();
|
|
607
569
|
// Get the runtime's GC data and run GC on the reference graph in it.
|
|
@@ -1190,12 +1152,6 @@ class GarbageCollector {
|
|
|
1190
1152
|
this.mc.logger.sendErrorEvent(event);
|
|
1191
1153
|
}
|
|
1192
1154
|
}
|
|
1193
|
-
// If SweepReady Usage Detection is enabled, the handler may close the interactive container.
|
|
1194
|
-
// Once Sweep is fully implemented, this will be removed since the objects will be gone
|
|
1195
|
-
// and errors will arise elsewhere in the runtime
|
|
1196
|
-
if (state === exports.UnreferencedState.SweepReady) {
|
|
1197
|
-
this.sweepReadyUsageHandler.usageDetectedInInteractiveClient(Object.assign(Object.assign({}, propsToLog), { usageType }));
|
|
1198
|
-
}
|
|
1199
1155
|
}
|
|
1200
1156
|
}
|
|
1201
1157
|
async logUnreferencedEvents(logger) {
|