@fluidframework/container-runtime 2.0.0-internal.6.4.0 → 2.0.0-internal.7.0.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/CHANGELOG.md +103 -0
- package/dist/blobManager.d.ts +3 -6
- package/dist/blobManager.d.ts.map +1 -1
- package/dist/blobManager.js +23 -48
- package/dist/blobManager.js.map +1 -1
- package/dist/containerHandleContext.js +3 -3
- package/dist/containerHandleContext.js.map +1 -1
- package/dist/containerRuntime.d.ts +13 -14
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +253 -237
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStore.js +9 -9
- package/dist/dataStore.js.map +1 -1
- package/dist/dataStoreContext.d.ts +2 -3
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +88 -87
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreRegistry.js +3 -3
- package/dist/dataStoreRegistry.js.map +1 -1
- package/dist/dataStores.d.ts +0 -16
- package/dist/dataStores.d.ts.map +1 -1
- package/dist/dataStores.js +0 -48
- package/dist/dataStores.js.map +1 -1
- package/dist/deltaManagerProxyBase.js +4 -4
- package/dist/deltaManagerProxyBase.js.map +1 -1
- package/dist/deltaManagerSummarizerProxy.js +6 -6
- package/dist/deltaManagerSummarizerProxy.js.map +1 -1
- package/dist/deltaScheduler.js.map +1 -1
- package/dist/gc/garbageCollection.d.ts +12 -3
- package/dist/gc/garbageCollection.d.ts.map +1 -1
- package/dist/gc/garbageCollection.js +54 -31
- package/dist/gc/garbageCollection.js.map +1 -1
- package/dist/gc/gcConfigs.d.ts +1 -0
- package/dist/gc/gcConfigs.d.ts.map +1 -1
- package/dist/gc/gcConfigs.js +12 -2
- package/dist/gc/gcConfigs.js.map +1 -1
- package/dist/gc/gcDefinitions.d.ts +25 -22
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/gcDefinitions.js.map +1 -1
- package/dist/gc/gcTelemetry.d.ts +13 -7
- package/dist/gc/gcTelemetry.d.ts.map +1 -1
- package/dist/gc/gcTelemetry.js +74 -42
- package/dist/gc/gcTelemetry.js.map +1 -1
- package/dist/gc/gcUnreferencedStateTracker.js +3 -3
- package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
- package/dist/gc/index.d.ts +2 -2
- package/dist/gc/index.d.ts.map +1 -1
- package/dist/gc/index.js +1 -5
- package/dist/gc/index.js.map +1 -1
- package/dist/id-compressor/appendOnlySortedMap.js.map +1 -1
- package/dist/id-compressor/idCompressor.js.map +1 -1
- package/dist/id-compressor/identifiers.d.ts +3 -3
- package/dist/id-compressor/identifiers.d.ts.map +1 -1
- package/dist/messageTypes.d.ts +17 -17
- package/dist/messageTypes.d.ts.map +1 -1
- package/dist/messageTypes.js +1 -1
- package/dist/messageTypes.js.map +1 -1
- package/dist/opLifecycle/batchManager.js +6 -6
- package/dist/opLifecycle/batchManager.js.map +1 -1
- package/dist/opLifecycle/definitions.d.ts +2 -2
- package/dist/opLifecycle/definitions.d.ts.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/pendingStateManager.d.ts +3 -19
- package/dist/pendingStateManager.d.ts.map +1 -1
- package/dist/pendingStateManager.js +20 -39
- package/dist/pendingStateManager.js.map +1 -1
- package/dist/summary/orderedClientElection.d.ts +3 -3
- package/dist/summary/orderedClientElection.d.ts.map +1 -1
- package/dist/summary/orderedClientElection.js +54 -54
- package/dist/summary/orderedClientElection.js.map +1 -1
- package/dist/summary/runWhileConnectedCoordinator.js +6 -6
- package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/dist/summary/runningSummarizer.js +37 -37
- package/dist/summary/runningSummarizer.js.map +1 -1
- package/dist/summary/summarizer.d.ts.map +1 -1
- package/dist/summary/summarizer.js +8 -6
- package/dist/summary/summarizer.js.map +1 -1
- package/dist/summary/summarizerClientElection.js +6 -6
- package/dist/summary/summarizerClientElection.js.map +1 -1
- package/dist/summary/summarizerHeuristics.js +9 -9
- package/dist/summary/summarizerHeuristics.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.js +7 -7
- package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.js +3 -3
- package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -2
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/dist/summary/summarizerTypes.d.ts +12 -12
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/summaryCollection.d.ts +2 -2
- package/dist/summary/summaryCollection.d.ts.map +1 -1
- package/dist/summary/summaryCollection.js +21 -21
- package/dist/summary/summaryCollection.js.map +1 -1
- package/dist/summary/summaryFormat.d.ts +5 -5
- package/dist/summary/summaryFormat.d.ts.map +1 -1
- package/dist/summary/summaryGenerator.d.ts +3 -3
- package/dist/summary/summaryGenerator.d.ts.map +1 -1
- package/dist/summary/summaryManager.js +7 -7
- package/dist/summary/summaryManager.js.map +1 -1
- package/dist/throttler.js +16 -16
- package/dist/throttler.js.map +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/lib/blobManager.d.ts +3 -6
- package/lib/blobManager.d.ts.map +1 -1
- package/lib/blobManager.js +24 -49
- package/lib/blobManager.js.map +1 -1
- package/lib/containerHandleContext.js +3 -3
- package/lib/containerHandleContext.js.map +1 -1
- package/lib/containerRuntime.d.ts +13 -14
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +249 -235
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStore.js +9 -9
- package/lib/dataStore.js.map +1 -1
- package/lib/dataStoreContext.d.ts +2 -3
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +89 -88
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/dataStoreRegistry.js +3 -3
- package/lib/dataStoreRegistry.js.map +1 -1
- package/lib/dataStores.d.ts +0 -16
- package/lib/dataStores.d.ts.map +1 -1
- package/lib/dataStores.js +2 -50
- package/lib/dataStores.js.map +1 -1
- package/lib/deltaManagerProxyBase.js +4 -4
- package/lib/deltaManagerProxyBase.js.map +1 -1
- package/lib/deltaManagerSummarizerProxy.js +6 -6
- package/lib/deltaManagerSummarizerProxy.js.map +1 -1
- package/lib/deltaScheduler.js.map +1 -1
- package/lib/gc/garbageCollection.d.ts +12 -3
- package/lib/gc/garbageCollection.d.ts.map +1 -1
- package/lib/gc/garbageCollection.js +55 -32
- package/lib/gc/garbageCollection.js.map +1 -1
- package/lib/gc/gcConfigs.d.ts +1 -0
- package/lib/gc/gcConfigs.d.ts.map +1 -1
- package/lib/gc/gcConfigs.js +14 -4
- package/lib/gc/gcConfigs.js.map +1 -1
- package/lib/gc/gcDefinitions.d.ts +25 -22
- package/lib/gc/gcDefinitions.d.ts.map +1 -1
- package/lib/gc/gcDefinitions.js.map +1 -1
- package/lib/gc/gcTelemetry.d.ts +13 -7
- package/lib/gc/gcTelemetry.d.ts.map +1 -1
- package/lib/gc/gcTelemetry.js +74 -42
- package/lib/gc/gcTelemetry.js.map +1 -1
- package/lib/gc/gcUnreferencedStateTracker.js +3 -3
- package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
- package/lib/gc/index.d.ts +2 -2
- package/lib/gc/index.d.ts.map +1 -1
- package/lib/gc/index.js +2 -2
- package/lib/gc/index.js.map +1 -1
- package/lib/id-compressor/appendOnlySortedMap.js.map +1 -1
- package/lib/id-compressor/idCompressor.js.map +1 -1
- package/lib/id-compressor/identifiers.d.ts +3 -3
- package/lib/id-compressor/identifiers.d.ts.map +1 -1
- package/lib/messageTypes.d.ts +17 -17
- package/lib/messageTypes.d.ts.map +1 -1
- package/lib/opLifecycle/batchManager.js +6 -6
- package/lib/opLifecycle/batchManager.js.map +1 -1
- package/lib/opLifecycle/definitions.d.ts +2 -2
- package/lib/opLifecycle/definitions.d.ts.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/pendingStateManager.d.ts +3 -19
- package/lib/pendingStateManager.d.ts.map +1 -1
- package/lib/pendingStateManager.js +20 -39
- package/lib/pendingStateManager.js.map +1 -1
- package/lib/summary/orderedClientElection.d.ts +3 -3
- package/lib/summary/orderedClientElection.d.ts.map +1 -1
- package/lib/summary/orderedClientElection.js +54 -54
- package/lib/summary/orderedClientElection.js.map +1 -1
- package/lib/summary/runWhileConnectedCoordinator.js +6 -6
- package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/lib/summary/runningSummarizer.js +37 -37
- package/lib/summary/runningSummarizer.js.map +1 -1
- package/lib/summary/summarizer.d.ts.map +1 -1
- package/lib/summary/summarizer.js +8 -6
- package/lib/summary/summarizer.js.map +1 -1
- package/lib/summary/summarizerClientElection.js +6 -6
- package/lib/summary/summarizerClientElection.js.map +1 -1
- package/lib/summary/summarizerHeuristics.js +9 -9
- package/lib/summary/summarizerHeuristics.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.js +7 -7
- package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.js +3 -3
- package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -2
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/lib/summary/summarizerTypes.d.ts +12 -12
- package/lib/summary/summarizerTypes.d.ts.map +1 -1
- package/lib/summary/summaryCollection.d.ts +2 -2
- package/lib/summary/summaryCollection.d.ts.map +1 -1
- package/lib/summary/summaryCollection.js +21 -21
- package/lib/summary/summaryCollection.js.map +1 -1
- package/lib/summary/summaryFormat.d.ts +5 -5
- package/lib/summary/summaryFormat.d.ts.map +1 -1
- package/lib/summary/summaryGenerator.d.ts +3 -3
- package/lib/summary/summaryGenerator.d.ts.map +1 -1
- package/lib/summary/summaryManager.js +6 -6
- package/lib/summary/summaryManager.js.map +1 -1
- package/lib/throttler.js +16 -16
- package/lib/throttler.js.map +1 -1
- package/package.json +53 -21
- package/src/blobManager.ts +18 -58
- package/src/containerRuntime.ts +68 -49
- package/src/dataStore.ts +1 -1
- package/src/dataStoreContext.ts +18 -14
- package/src/dataStores.ts +2 -80
- package/src/gc/garbageCollection.ts +53 -24
- package/src/gc/gcConfigs.ts +22 -4
- package/src/gc/gcDefinitions.ts +23 -20
- package/src/gc/gcEarlyAdoption.md +1 -1
- package/src/gc/gcTelemetry.ts +103 -56
- package/src/gc/index.ts +0 -4
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +7 -46
- package/src/summary/summarizer.ts +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"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"}
|
package/lib/containerRuntime.js
CHANGED
|
@@ -8,7 +8,9 @@ import { DriverHeader, FetchSource, } from "@fluidframework/driver-definitions";
|
|
|
8
8
|
import { readAndParse } from "@fluidframework/driver-utils";
|
|
9
9
|
import { MessageType, SummaryType, } from "@fluidframework/protocol-definitions";
|
|
10
10
|
import { FlushMode, FlushModeExperimental, gcTreeKey, channelsTreeName, } from "@fluidframework/runtime-definitions";
|
|
11
|
-
import { addBlobToSummary, addSummarizeResultToSummary, addTreeToSummary, RequestParser, create404Response, exceptionToResponse, GCDataBuilder,
|
|
11
|
+
import { addBlobToSummary, addSummarizeResultToSummary, addTreeToSummary, RequestParser, create404Response, exceptionToResponse, GCDataBuilder,
|
|
12
|
+
// eslint-disable-next-line import/no-deprecated
|
|
13
|
+
requestFluidObject, seqFromTree, calculateStats, TelemetryContext, } from "@fluidframework/runtime-utils";
|
|
12
14
|
import { v4 as uuid } from "uuid";
|
|
13
15
|
import { ContainerFluidHandleContext } from "./containerHandleContext";
|
|
14
16
|
import { FluidDataStoreRegistry } from "./dataStoreRegistry";
|
|
@@ -19,7 +21,7 @@ import { BlobManager } from "./blobManager";
|
|
|
19
21
|
import { DataStores, getSummaryForDatastores } from "./dataStores";
|
|
20
22
|
import { aliasBlobName, blobsTreeName, chunksBlobName, createRootSummarizerNodeWithGC, electedSummarizerBlobName, extractSummaryMetadataMessage, idCompressorBlobName, metadataBlobName, Summarizer, SummaryManager, wrapSummaryInChannelsTree, SummaryCollection, OrderedClientCollection, OrderedClientElection, SummarizerClientElection, summarizerClientType, RunWhileConnectedCoordinator, RetriableSummaryError, } from "./summary";
|
|
21
23
|
import { formExponentialFn, Throttler } from "./throttler";
|
|
22
|
-
import { GarbageCollector, GCNodeType, gcTombstoneGenerationOptionName,
|
|
24
|
+
import { GarbageCollector, GCNodeType, gcTombstoneGenerationOptionName, trimLeadingAndTrailingSlashes, } from "./gc";
|
|
23
25
|
import { channelToDataStore, isDataStoreAliasMessage } from "./dataStore";
|
|
24
26
|
import { BindBatchTracker } from "./batchTracker";
|
|
25
27
|
import { ScheduleManager } from "./scheduleManager";
|
|
@@ -81,6 +83,7 @@ export const defaultRuntimeHeaderData = {
|
|
|
81
83
|
wait: true,
|
|
82
84
|
viaHandle: false,
|
|
83
85
|
allowTombstone: false,
|
|
86
|
+
allowInactive: false,
|
|
84
87
|
};
|
|
85
88
|
/**
|
|
86
89
|
* Available compression algorithms for op compression.
|
|
@@ -169,15 +172,235 @@ export const makeLegacySendBatchFn = (submitFn, deltaManager) => (batch) => {
|
|
|
169
172
|
* It will define the store level mappings.
|
|
170
173
|
*/
|
|
171
174
|
export class ContainerRuntime extends TypedEventEmitter {
|
|
175
|
+
/**
|
|
176
|
+
* @deprecated - Will be removed in future major release. Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
|
|
177
|
+
*/
|
|
178
|
+
get IFluidRouter() {
|
|
179
|
+
return this;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* @deprecated - use loadRuntime instead.
|
|
183
|
+
* Load the stores from a snapshot and returns the runtime.
|
|
184
|
+
* @param context - Context of the container.
|
|
185
|
+
* @param registryEntries - Mapping to the stores.
|
|
186
|
+
* @param requestHandler - Request handlers for the container runtime
|
|
187
|
+
* @param runtimeOptions - Additional options to be passed to the runtime
|
|
188
|
+
* @param existing - (optional) When loading from an existing snapshot. Precedes context.existing if provided
|
|
189
|
+
* @param containerRuntimeCtor - (optional) Constructor to use to create the ContainerRuntime instance. This
|
|
190
|
+
* allows mixin classes to leverage this method to define their own async initializer.
|
|
191
|
+
*/
|
|
192
|
+
static async load(context, registryEntries, requestHandler, runtimeOptions = {}, containerScope = context.scope, existing, containerRuntimeCtor = ContainerRuntime) {
|
|
193
|
+
let existingFlag = true;
|
|
194
|
+
if (!existing) {
|
|
195
|
+
existingFlag = false;
|
|
196
|
+
}
|
|
197
|
+
return this.loadRuntime({
|
|
198
|
+
context,
|
|
199
|
+
registryEntries,
|
|
200
|
+
existing: existingFlag,
|
|
201
|
+
runtimeOptions,
|
|
202
|
+
containerScope,
|
|
203
|
+
containerRuntimeCtor,
|
|
204
|
+
requestHandler,
|
|
205
|
+
provideEntryPoint: () => {
|
|
206
|
+
throw new UsageError("ContainerRuntime.load is deprecated and should no longer be used");
|
|
207
|
+
},
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Load the stores from a snapshot and returns the runtime.
|
|
212
|
+
* @param params - An object housing the runtime properties:
|
|
213
|
+
* - context - Context of the container.
|
|
214
|
+
* - registryEntries - Mapping from data store types to their corresponding factories.
|
|
215
|
+
* - existing - Pass 'true' if loading from an existing snapshot.
|
|
216
|
+
* - requestHandler - (optional) Request handler for the request() method of the container runtime.
|
|
217
|
+
* Only relevant for back-compat while we remove the request() method and move fully to entryPoint as the main pattern.
|
|
218
|
+
* - runtimeOptions - Additional options to be passed to the runtime
|
|
219
|
+
* - containerScope - runtime services provided with context
|
|
220
|
+
* - containerRuntimeCtor - Constructor to use to create the ContainerRuntime instance.
|
|
221
|
+
* This allows mixin classes to leverage this method to define their own async initializer.
|
|
222
|
+
* - provideEntryPoint - Promise that resolves to an object which will act as entryPoint for the Container.
|
|
223
|
+
* This object should provide all the functionality that the Container is expected to provide to the loader layer.
|
|
224
|
+
*/
|
|
225
|
+
static async loadRuntime(params) {
|
|
226
|
+
const { context, registryEntries, existing, requestHandler, provideEntryPoint, runtimeOptions = {}, containerScope = {}, containerRuntimeCtor = ContainerRuntime, } = params;
|
|
227
|
+
// If taggedLogger exists, use it. Otherwise, wrap the vanilla logger:
|
|
228
|
+
// back-compat: Remove the TaggedLoggerAdapter fallback once all the host are using loader > 0.45
|
|
229
|
+
const backCompatContext = context;
|
|
230
|
+
const passLogger = backCompatContext.taggedLogger ??
|
|
231
|
+
// eslint-disable-next-line import/no-deprecated
|
|
232
|
+
new TaggedLoggerAdapter(backCompatContext.logger);
|
|
233
|
+
const logger = createChildLogger({
|
|
234
|
+
logger: passLogger,
|
|
235
|
+
properties: {
|
|
236
|
+
all: {
|
|
237
|
+
runtimeVersion: pkgVersion,
|
|
238
|
+
},
|
|
239
|
+
},
|
|
240
|
+
});
|
|
241
|
+
const { summaryOptions = {}, gcOptions = {}, loadSequenceNumberVerification = "close", flushMode = defaultFlushMode, compressionOptions = defaultCompressionConfig, maxBatchSizeInBytes = defaultMaxBatchSizeInBytes, enableRuntimeIdCompressor = false, chunkSizeInBytes = defaultChunkSizeInBytes, enableOpReentryCheck = false, enableGroupedBatching = false, } = runtimeOptions;
|
|
242
|
+
const registry = new FluidDataStoreRegistry(registryEntries);
|
|
243
|
+
const tryFetchBlob = async (blobName) => {
|
|
244
|
+
const blobId = context.baseSnapshot?.blobs[blobName];
|
|
245
|
+
if (context.baseSnapshot && blobId) {
|
|
246
|
+
// IContainerContext storage api return type still has undefined in 0.39 package version.
|
|
247
|
+
// So once we release 0.40 container-defn package we can remove this check.
|
|
248
|
+
assert(context.storage !== undefined, 0x1f5 /* "Attached state should have storage" */);
|
|
249
|
+
return readAndParse(context.storage, blobId);
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
const [chunks, metadata, electedSummarizerData, aliases, serializedIdCompressor] = await Promise.all([
|
|
253
|
+
tryFetchBlob(chunksBlobName),
|
|
254
|
+
tryFetchBlob(metadataBlobName),
|
|
255
|
+
tryFetchBlob(electedSummarizerBlobName),
|
|
256
|
+
tryFetchBlob(aliasBlobName),
|
|
257
|
+
tryFetchBlob(idCompressorBlobName),
|
|
258
|
+
]);
|
|
259
|
+
// read snapshot blobs needed for BlobManager to load
|
|
260
|
+
const blobManagerSnapshot = await BlobManager.load(context.baseSnapshot?.trees[blobsTreeName], async (id) => {
|
|
261
|
+
// IContainerContext storage api return type still has undefined in 0.39 package version.
|
|
262
|
+
// So once we release 0.40 container-defn package we can remove this check.
|
|
263
|
+
assert(context.storage !== undefined, 0x256 /* "storage undefined in attached container" */);
|
|
264
|
+
return readAndParse(context.storage, id);
|
|
265
|
+
});
|
|
266
|
+
// Verify summary runtime sequence number matches protocol sequence number.
|
|
267
|
+
const runtimeSequenceNumber = metadata?.message?.sequenceNumber;
|
|
268
|
+
// When we load with pending state, we reuse an old snapshot so we don't expect these numbers to match
|
|
269
|
+
if (!context.pendingLocalState && runtimeSequenceNumber !== undefined) {
|
|
270
|
+
const protocolSequenceNumber = context.deltaManager.initialSequenceNumber;
|
|
271
|
+
// Unless bypass is explicitly set, then take action when sequence numbers mismatch.
|
|
272
|
+
if (loadSequenceNumberVerification !== "bypass" &&
|
|
273
|
+
runtimeSequenceNumber !== protocolSequenceNumber) {
|
|
274
|
+
// "Load from summary, runtime metadata sequenceNumber !== initialSequenceNumber"
|
|
275
|
+
const error = new DataCorruptionError(
|
|
276
|
+
// pre-0.58 error message: SummaryMetadataMismatch
|
|
277
|
+
"Summary metadata mismatch", { runtimeVersion: pkgVersion, runtimeSequenceNumber, protocolSequenceNumber });
|
|
278
|
+
if (loadSequenceNumberVerification === "log") {
|
|
279
|
+
logger.sendErrorEvent({ eventName: "SequenceNumberMismatch" }, error);
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
context.closeFn(error);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
const idCompressorEnabled = metadata?.idCompressorEnabled ?? runtimeOptions.enableRuntimeIdCompressor ?? false;
|
|
287
|
+
let idCompressor;
|
|
288
|
+
if (idCompressorEnabled) {
|
|
289
|
+
const { IdCompressor, createSessionId } = await import("./id-compressor");
|
|
290
|
+
idCompressor =
|
|
291
|
+
serializedIdCompressor !== undefined
|
|
292
|
+
? IdCompressor.deserialize(serializedIdCompressor, createSessionId())
|
|
293
|
+
: IdCompressor.create(logger);
|
|
294
|
+
}
|
|
295
|
+
const runtime = new containerRuntimeCtor(context, registry, metadata, electedSummarizerData, chunks ?? [], aliases ?? [], {
|
|
296
|
+
summaryOptions,
|
|
297
|
+
gcOptions,
|
|
298
|
+
loadSequenceNumberVerification,
|
|
299
|
+
flushMode,
|
|
300
|
+
compressionOptions,
|
|
301
|
+
maxBatchSizeInBytes,
|
|
302
|
+
chunkSizeInBytes,
|
|
303
|
+
enableRuntimeIdCompressor,
|
|
304
|
+
enableOpReentryCheck,
|
|
305
|
+
enableGroupedBatching,
|
|
306
|
+
}, containerScope, logger, existing, blobManagerSnapshot, context.storage, idCompressor, provideEntryPoint, requestHandler, undefined);
|
|
307
|
+
// Apply stashed ops with a reference sequence number equal to the sequence number of the snapshot,
|
|
308
|
+
// or zero. This must be done before Container replays saved ops.
|
|
309
|
+
await runtime.pendingStateManager.applyStashedOpsAt(runtimeSequenceNumber ?? 0);
|
|
310
|
+
// Initialize the base state of the runtime before it's returned.
|
|
311
|
+
await runtime.initializeBaseState();
|
|
312
|
+
return runtime;
|
|
313
|
+
}
|
|
314
|
+
get clientId() {
|
|
315
|
+
return this._getClientId();
|
|
316
|
+
}
|
|
317
|
+
get storage() {
|
|
318
|
+
return this._storage;
|
|
319
|
+
}
|
|
320
|
+
get flushMode() {
|
|
321
|
+
return this._flushMode;
|
|
322
|
+
}
|
|
323
|
+
get scope() {
|
|
324
|
+
return this.containerScope;
|
|
325
|
+
}
|
|
326
|
+
get IFluidDataStoreRegistry() {
|
|
327
|
+
return this.registry;
|
|
328
|
+
}
|
|
329
|
+
get attachState() {
|
|
330
|
+
return this._getAttachState();
|
|
331
|
+
}
|
|
332
|
+
get IFluidHandleContext() {
|
|
333
|
+
return this.handleContext;
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Invokes the given callback and expects that no ops are submitted
|
|
337
|
+
* until execution finishes. If an op is submitted, an error will be raised.
|
|
338
|
+
*
|
|
339
|
+
* Can be disabled by feature gate `Fluid.ContainerRuntime.DisableOpReentryCheck`
|
|
340
|
+
*
|
|
341
|
+
* @param callback - the callback to be invoked
|
|
342
|
+
*/
|
|
343
|
+
ensureNoDataModelChanges(callback) {
|
|
344
|
+
this.ensureNoDataModelChangesCalls++;
|
|
345
|
+
try {
|
|
346
|
+
return callback();
|
|
347
|
+
}
|
|
348
|
+
finally {
|
|
349
|
+
this.ensureNoDataModelChangesCalls--;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
get connected() {
|
|
353
|
+
return this._connected;
|
|
354
|
+
}
|
|
355
|
+
/** clientId of parent (non-summarizing) container that owns summarizer container */
|
|
356
|
+
get summarizerClientId() {
|
|
357
|
+
return this.summarizerClientElection?.electedClientId;
|
|
358
|
+
}
|
|
359
|
+
get disposed() {
|
|
360
|
+
return this._disposed;
|
|
361
|
+
}
|
|
362
|
+
get summarizer() {
|
|
363
|
+
assert(this._summarizer !== undefined, 0x257 /* "This is not summarizing container" */);
|
|
364
|
+
return this._summarizer;
|
|
365
|
+
}
|
|
366
|
+
isSummariesDisabled() {
|
|
367
|
+
return this.summaryConfiguration.state === "disabled";
|
|
368
|
+
}
|
|
369
|
+
isHeuristicsDisabled() {
|
|
370
|
+
return this.summaryConfiguration.state === "disableHeuristics";
|
|
371
|
+
}
|
|
372
|
+
getMaxOpsSinceLastSummary() {
|
|
373
|
+
return this.summaryConfiguration.state !== "disabled"
|
|
374
|
+
? this.summaryConfiguration.maxOpsSinceLastSummary
|
|
375
|
+
: 0;
|
|
376
|
+
}
|
|
377
|
+
getInitialSummarizerDelayMs() {
|
|
378
|
+
// back-compat: initialSummarizerDelayMs was moved from ISummaryRuntimeOptions
|
|
379
|
+
// to ISummaryConfiguration in 0.60.
|
|
380
|
+
if (this.runtimeOptions.summaryOptions.initialSummarizerDelayMs !== undefined) {
|
|
381
|
+
return this.runtimeOptions.summaryOptions.initialSummarizerDelayMs;
|
|
382
|
+
}
|
|
383
|
+
return this.summaryConfiguration.state !== "disabled"
|
|
384
|
+
? this.summaryConfiguration.initialSummarizerDelayMs
|
|
385
|
+
: 0;
|
|
386
|
+
}
|
|
387
|
+
/** If false, loading or using a Tombstoned object should merely log, not fail */
|
|
388
|
+
get gcTombstoneEnforcementAllowed() {
|
|
389
|
+
return this.garbageCollector.tombstoneEnforcementAllowed;
|
|
390
|
+
}
|
|
391
|
+
/** If true, throw an error when a tombstone data store is used. */
|
|
392
|
+
get gcThrowOnTombstoneUsage() {
|
|
393
|
+
return this.garbageCollector.throwOnTombstoneUsage;
|
|
394
|
+
}
|
|
172
395
|
/**
|
|
173
396
|
* @internal
|
|
174
397
|
*/
|
|
175
|
-
constructor(context, registry, metadata, electedSummarizerData, chunks, dataStoreAliasMap, runtimeOptions, containerScope, logger, existing, blobManagerSnapshot, _storage, idCompressor, requestHandler, summaryConfiguration = {
|
|
398
|
+
constructor(context, registry, metadata, electedSummarizerData, chunks, dataStoreAliasMap, runtimeOptions, containerScope, logger, existing, blobManagerSnapshot, _storage, idCompressor, provideEntryPoint, requestHandler, summaryConfiguration = {
|
|
176
399
|
// the defaults
|
|
177
400
|
...DefaultSummaryConfiguration,
|
|
178
401
|
// the runtime configuration overrides
|
|
179
402
|
...runtimeOptions.summaryOptions?.summaryConfigOverrides,
|
|
180
|
-
}
|
|
403
|
+
}) {
|
|
181
404
|
super();
|
|
182
405
|
this.registry = registry;
|
|
183
406
|
this.runtimeOptions = runtimeOptions;
|
|
@@ -273,7 +496,6 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
273
496
|
// Note that we only need to pull the *initial* connected state from the context.
|
|
274
497
|
// Later updates come through calls to setConnectionState.
|
|
275
498
|
this._connected = connected;
|
|
276
|
-
this.gcTombstoneEnforcementAllowed = shouldAllowGcTombstoneEnforcement(metadata?.gcFeatureMatrix?.tombstoneGeneration /* persisted */, this.runtimeOptions.gcOptions[gcTombstoneGenerationOptionName] /* current */);
|
|
277
499
|
this.mc.logger.sendTelemetryEvent({
|
|
278
500
|
eventName: "GCFeatureMatrix",
|
|
279
501
|
metadataValue: JSON.stringify(metadata?.gcFeatureMatrix),
|
|
@@ -514,233 +736,9 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
514
736
|
assert(this._summarizer !== undefined, 0x5bf /* Summarizer object is undefined in a summarizer client */);
|
|
515
737
|
return this._summarizer;
|
|
516
738
|
}
|
|
517
|
-
return
|
|
739
|
+
return provideEntryPoint(this);
|
|
518
740
|
});
|
|
519
741
|
}
|
|
520
|
-
/**
|
|
521
|
-
* @deprecated - Will be removed in future major release. Migrate all usage of IFluidRouter to the "entryPoint" pattern. Refer to Removing-IFluidRouter.md
|
|
522
|
-
*/
|
|
523
|
-
get IFluidRouter() {
|
|
524
|
-
return this;
|
|
525
|
-
}
|
|
526
|
-
/**
|
|
527
|
-
* @deprecated - use loadRuntime instead.
|
|
528
|
-
* Load the stores from a snapshot and returns the runtime.
|
|
529
|
-
* @param context - Context of the container.
|
|
530
|
-
* @param registryEntries - Mapping to the stores.
|
|
531
|
-
* @param requestHandler - Request handlers for the container runtime
|
|
532
|
-
* @param runtimeOptions - Additional options to be passed to the runtime
|
|
533
|
-
* @param existing - (optional) When loading from an existing snapshot. Precedes context.existing if provided
|
|
534
|
-
* @param containerRuntimeCtor - (optional) Constructor to use to create the ContainerRuntime instance. This
|
|
535
|
-
* allows mixin classes to leverage this method to define their own async initializer.
|
|
536
|
-
*/
|
|
537
|
-
static async load(context, registryEntries, requestHandler, runtimeOptions = {}, containerScope = context.scope, existing, containerRuntimeCtor = ContainerRuntime) {
|
|
538
|
-
let existingFlag = true;
|
|
539
|
-
if (!existing) {
|
|
540
|
-
existingFlag = false;
|
|
541
|
-
}
|
|
542
|
-
return this.loadRuntime({
|
|
543
|
-
context,
|
|
544
|
-
registryEntries,
|
|
545
|
-
existing: existingFlag,
|
|
546
|
-
requestHandler,
|
|
547
|
-
runtimeOptions,
|
|
548
|
-
containerScope,
|
|
549
|
-
containerRuntimeCtor,
|
|
550
|
-
});
|
|
551
|
-
}
|
|
552
|
-
/**
|
|
553
|
-
* Load the stores from a snapshot and returns the runtime.
|
|
554
|
-
* @param params - An object housing the runtime properties:
|
|
555
|
-
* - context - Context of the container.
|
|
556
|
-
* - registryEntries - Mapping from data store types to their corresponding factories.
|
|
557
|
-
* - existing - Pass 'true' if loading from an existing snapshot.
|
|
558
|
-
* - requestHandler - (optional) Request handler for the request() method of the container runtime.
|
|
559
|
-
* Only relevant for back-compat while we remove the request() method and move fully to entryPoint as the main pattern.
|
|
560
|
-
* - runtimeOptions - Additional options to be passed to the runtime
|
|
561
|
-
* - containerScope - runtime services provided with context
|
|
562
|
-
* - containerRuntimeCtor - Constructor to use to create the ContainerRuntime instance.
|
|
563
|
-
* This allows mixin classes to leverage this method to define their own async initializer.
|
|
564
|
-
* - initializeEntryPoint - Promise that resolves to an object which will act as entryPoint for the Container.
|
|
565
|
-
* This object should provide all the functionality that the Container is expected to provide to the loader layer.
|
|
566
|
-
*/
|
|
567
|
-
static async loadRuntime(params) {
|
|
568
|
-
const { context, registryEntries, existing, requestHandler, runtimeOptions = {}, containerScope = {}, containerRuntimeCtor = ContainerRuntime, } = params;
|
|
569
|
-
const initializeEntryPoint = params.initializeEntryPoint ??
|
|
570
|
-
(async (containerRuntime) => ({
|
|
571
|
-
get IFluidRouter() {
|
|
572
|
-
return this;
|
|
573
|
-
},
|
|
574
|
-
async request(req) {
|
|
575
|
-
return containerRuntime.request(req);
|
|
576
|
-
},
|
|
577
|
-
}));
|
|
578
|
-
// If taggedLogger exists, use it. Otherwise, wrap the vanilla logger:
|
|
579
|
-
// back-compat: Remove the TaggedLoggerAdapter fallback once all the host are using loader > 0.45
|
|
580
|
-
const backCompatContext = context;
|
|
581
|
-
const passLogger = backCompatContext.taggedLogger ??
|
|
582
|
-
// eslint-disable-next-line import/no-deprecated
|
|
583
|
-
new TaggedLoggerAdapter(backCompatContext.logger);
|
|
584
|
-
const logger = createChildLogger({
|
|
585
|
-
logger: passLogger,
|
|
586
|
-
properties: {
|
|
587
|
-
all: {
|
|
588
|
-
runtimeVersion: pkgVersion,
|
|
589
|
-
},
|
|
590
|
-
},
|
|
591
|
-
});
|
|
592
|
-
const { summaryOptions = {}, gcOptions = {}, loadSequenceNumberVerification = "close", flushMode = defaultFlushMode, compressionOptions = defaultCompressionConfig, maxBatchSizeInBytes = defaultMaxBatchSizeInBytes, enableRuntimeIdCompressor = false, chunkSizeInBytes = defaultChunkSizeInBytes, enableOpReentryCheck = false, enableGroupedBatching = false, } = runtimeOptions;
|
|
593
|
-
const registry = new FluidDataStoreRegistry(registryEntries);
|
|
594
|
-
const tryFetchBlob = async (blobName) => {
|
|
595
|
-
const blobId = context.baseSnapshot?.blobs[blobName];
|
|
596
|
-
if (context.baseSnapshot && blobId) {
|
|
597
|
-
// IContainerContext storage api return type still has undefined in 0.39 package version.
|
|
598
|
-
// So once we release 0.40 container-defn package we can remove this check.
|
|
599
|
-
assert(context.storage !== undefined, 0x1f5 /* "Attached state should have storage" */);
|
|
600
|
-
return readAndParse(context.storage, blobId);
|
|
601
|
-
}
|
|
602
|
-
};
|
|
603
|
-
const [chunks, metadata, electedSummarizerData, aliases, serializedIdCompressor] = await Promise.all([
|
|
604
|
-
tryFetchBlob(chunksBlobName),
|
|
605
|
-
tryFetchBlob(metadataBlobName),
|
|
606
|
-
tryFetchBlob(electedSummarizerBlobName),
|
|
607
|
-
tryFetchBlob(aliasBlobName),
|
|
608
|
-
tryFetchBlob(idCompressorBlobName),
|
|
609
|
-
]);
|
|
610
|
-
// read snapshot blobs needed for BlobManager to load
|
|
611
|
-
const blobManagerSnapshot = await BlobManager.load(context.baseSnapshot?.trees[blobsTreeName], async (id) => {
|
|
612
|
-
// IContainerContext storage api return type still has undefined in 0.39 package version.
|
|
613
|
-
// So once we release 0.40 container-defn package we can remove this check.
|
|
614
|
-
assert(context.storage !== undefined, 0x256 /* "storage undefined in attached container" */);
|
|
615
|
-
return readAndParse(context.storage, id);
|
|
616
|
-
});
|
|
617
|
-
// Verify summary runtime sequence number matches protocol sequence number.
|
|
618
|
-
const runtimeSequenceNumber = metadata?.message?.sequenceNumber;
|
|
619
|
-
// When we load with pending state, we reuse an old snapshot so we don't expect these numbers to match
|
|
620
|
-
if (!context.pendingLocalState && runtimeSequenceNumber !== undefined) {
|
|
621
|
-
const protocolSequenceNumber = context.deltaManager.initialSequenceNumber;
|
|
622
|
-
// Unless bypass is explicitly set, then take action when sequence numbers mismatch.
|
|
623
|
-
if (loadSequenceNumberVerification !== "bypass" &&
|
|
624
|
-
runtimeSequenceNumber !== protocolSequenceNumber) {
|
|
625
|
-
// "Load from summary, runtime metadata sequenceNumber !== initialSequenceNumber"
|
|
626
|
-
const error = new DataCorruptionError(
|
|
627
|
-
// pre-0.58 error message: SummaryMetadataMismatch
|
|
628
|
-
"Summary metadata mismatch", { runtimeVersion: pkgVersion, runtimeSequenceNumber, protocolSequenceNumber });
|
|
629
|
-
if (loadSequenceNumberVerification === "log") {
|
|
630
|
-
logger.sendErrorEvent({ eventName: "SequenceNumberMismatch" }, error);
|
|
631
|
-
}
|
|
632
|
-
else {
|
|
633
|
-
context.closeFn(error);
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
|
-
}
|
|
637
|
-
const idCompressorEnabled = metadata?.idCompressorEnabled ?? runtimeOptions.enableRuntimeIdCompressor ?? false;
|
|
638
|
-
let idCompressor;
|
|
639
|
-
if (idCompressorEnabled) {
|
|
640
|
-
const { IdCompressor, createSessionId } = await import("./id-compressor");
|
|
641
|
-
idCompressor =
|
|
642
|
-
serializedIdCompressor !== undefined
|
|
643
|
-
? IdCompressor.deserialize(serializedIdCompressor, createSessionId())
|
|
644
|
-
: IdCompressor.create(logger);
|
|
645
|
-
}
|
|
646
|
-
const runtime = new containerRuntimeCtor(context, registry, metadata, electedSummarizerData, chunks ?? [], aliases ?? [], {
|
|
647
|
-
summaryOptions,
|
|
648
|
-
gcOptions,
|
|
649
|
-
loadSequenceNumberVerification,
|
|
650
|
-
flushMode,
|
|
651
|
-
compressionOptions,
|
|
652
|
-
maxBatchSizeInBytes,
|
|
653
|
-
chunkSizeInBytes,
|
|
654
|
-
enableRuntimeIdCompressor,
|
|
655
|
-
enableOpReentryCheck,
|
|
656
|
-
enableGroupedBatching,
|
|
657
|
-
}, containerScope, logger, existing, blobManagerSnapshot, context.storage, idCompressor, requestHandler, undefined, // summaryConfiguration
|
|
658
|
-
initializeEntryPoint);
|
|
659
|
-
// Apply stashed ops with a reference sequence number equal to the sequence number of the snapshot,
|
|
660
|
-
// or zero. This must be done before Container replays saved ops.
|
|
661
|
-
await runtime.pendingStateManager.applyStashedOpsAt(runtimeSequenceNumber ?? 0);
|
|
662
|
-
// Initialize the base state of the runtime before it's returned.
|
|
663
|
-
await runtime.initializeBaseState();
|
|
664
|
-
return runtime;
|
|
665
|
-
}
|
|
666
|
-
get clientId() {
|
|
667
|
-
return this._getClientId();
|
|
668
|
-
}
|
|
669
|
-
get storage() {
|
|
670
|
-
return this._storage;
|
|
671
|
-
}
|
|
672
|
-
/** @deprecated - The functionality is no longer exposed publicly */
|
|
673
|
-
get reSubmitFn() {
|
|
674
|
-
return (type, contents, localOpMetadata, opMetadata) => this.reSubmitCore({ type, contents }, localOpMetadata, opMetadata);
|
|
675
|
-
// Note: compatDetails is not included in this deprecated API
|
|
676
|
-
}
|
|
677
|
-
get flushMode() {
|
|
678
|
-
return this._flushMode;
|
|
679
|
-
}
|
|
680
|
-
get scope() {
|
|
681
|
-
return this.containerScope;
|
|
682
|
-
}
|
|
683
|
-
get IFluidDataStoreRegistry() {
|
|
684
|
-
return this.registry;
|
|
685
|
-
}
|
|
686
|
-
get attachState() {
|
|
687
|
-
return this._getAttachState();
|
|
688
|
-
}
|
|
689
|
-
get IFluidHandleContext() {
|
|
690
|
-
return this.handleContext;
|
|
691
|
-
}
|
|
692
|
-
/**
|
|
693
|
-
* Invokes the given callback and expects that no ops are submitted
|
|
694
|
-
* until execution finishes. If an op is submitted, an error will be raised.
|
|
695
|
-
*
|
|
696
|
-
* Can be disabled by feature gate `Fluid.ContainerRuntime.DisableOpReentryCheck`
|
|
697
|
-
*
|
|
698
|
-
* @param callback - the callback to be invoked
|
|
699
|
-
*/
|
|
700
|
-
ensureNoDataModelChanges(callback) {
|
|
701
|
-
this.ensureNoDataModelChangesCalls++;
|
|
702
|
-
try {
|
|
703
|
-
return callback();
|
|
704
|
-
}
|
|
705
|
-
finally {
|
|
706
|
-
this.ensureNoDataModelChangesCalls--;
|
|
707
|
-
}
|
|
708
|
-
}
|
|
709
|
-
get connected() {
|
|
710
|
-
return this._connected;
|
|
711
|
-
}
|
|
712
|
-
/** clientId of parent (non-summarizing) container that owns summarizer container */
|
|
713
|
-
get summarizerClientId() {
|
|
714
|
-
return this.summarizerClientElection?.electedClientId;
|
|
715
|
-
}
|
|
716
|
-
get disposed() {
|
|
717
|
-
return this._disposed;
|
|
718
|
-
}
|
|
719
|
-
get summarizer() {
|
|
720
|
-
assert(this._summarizer !== undefined, 0x257 /* "This is not summarizing container" */);
|
|
721
|
-
return this._summarizer;
|
|
722
|
-
}
|
|
723
|
-
isSummariesDisabled() {
|
|
724
|
-
return this.summaryConfiguration.state === "disabled";
|
|
725
|
-
}
|
|
726
|
-
isHeuristicsDisabled() {
|
|
727
|
-
return this.summaryConfiguration.state === "disableHeuristics";
|
|
728
|
-
}
|
|
729
|
-
getMaxOpsSinceLastSummary() {
|
|
730
|
-
return this.summaryConfiguration.state !== "disabled"
|
|
731
|
-
? this.summaryConfiguration.maxOpsSinceLastSummary
|
|
732
|
-
: 0;
|
|
733
|
-
}
|
|
734
|
-
getInitialSummarizerDelayMs() {
|
|
735
|
-
// back-compat: initialSummarizerDelayMs was moved from ISummaryRuntimeOptions
|
|
736
|
-
// to ISummaryConfiguration in 0.60.
|
|
737
|
-
if (this.runtimeOptions.summaryOptions.initialSummarizerDelayMs !== undefined) {
|
|
738
|
-
return this.runtimeOptions.summaryOptions.initialSummarizerDelayMs;
|
|
739
|
-
}
|
|
740
|
-
return this.summaryConfiguration.state !== "disabled"
|
|
741
|
-
? this.summaryConfiguration.initialSummarizerDelayMs
|
|
742
|
-
: 0;
|
|
743
|
-
}
|
|
744
742
|
/**
|
|
745
743
|
* Initializes the state from the base snapshot this container runtime loaded from.
|
|
746
744
|
*/
|
|
@@ -818,7 +816,9 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
818
816
|
: create404Response(request);
|
|
819
817
|
}
|
|
820
818
|
else if (requestParser.pathParts.length > 0) {
|
|
821
|
-
|
|
819
|
+
// Differentiate between requesting the dataStore directly, or one of its children
|
|
820
|
+
const requestForChild = !requestParser.isLeaf(1);
|
|
821
|
+
const dataStore = await this.getDataStoreFromRequest(id, request, requestForChild);
|
|
822
822
|
const subRequest = requestParser.createSubRequest(1);
|
|
823
823
|
// We always expect createSubRequest to include a leading slash, but asserting here to protect against
|
|
824
824
|
// unintentionally modifying the url if that changes.
|
|
@@ -840,7 +840,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
840
840
|
internalId(maybeAlias) {
|
|
841
841
|
return this.dataStores.aliases.get(maybeAlias) ?? maybeAlias;
|
|
842
842
|
}
|
|
843
|
-
async getDataStoreFromRequest(id, request) {
|
|
843
|
+
async getDataStoreFromRequest(id, request, requestForChild) {
|
|
844
844
|
const headerData = {};
|
|
845
845
|
if (typeof request.headers?.[RuntimeHeaders.wait] === "boolean") {
|
|
846
846
|
headerData.wait = request.headers[RuntimeHeaders.wait];
|
|
@@ -851,15 +851,25 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
851
851
|
if (typeof request.headers?.[AllowTombstoneRequestHeaderKey] === "boolean") {
|
|
852
852
|
headerData.allowTombstone = request.headers[AllowTombstoneRequestHeaderKey];
|
|
853
853
|
}
|
|
854
|
+
if (typeof request.headers?.[AllowInactiveRequestHeaderKey] === "boolean") {
|
|
855
|
+
headerData.allowInactive = request.headers[AllowInactiveRequestHeaderKey];
|
|
856
|
+
}
|
|
857
|
+
// We allow Tombstone requests for sub-DataStore objects
|
|
858
|
+
if (requestForChild) {
|
|
859
|
+
headerData.allowTombstone = true;
|
|
860
|
+
}
|
|
854
861
|
await this.dataStores.waitIfPendingAlias(id);
|
|
855
862
|
const internalId = this.internalId(id);
|
|
856
863
|
const dataStoreContext = await this.dataStores.getDataStore(internalId, headerData);
|
|
857
|
-
const dataStoreChannel = await dataStoreContext.realize();
|
|
858
864
|
// Remove query params, leading and trailing slashes from the url. This is done to make sure the format is
|
|
859
865
|
// the same as GC nodes id.
|
|
860
866
|
const urlWithoutQuery = trimLeadingAndTrailingSlashes(request.url.split("?")[0]);
|
|
861
|
-
|
|
862
|
-
|
|
867
|
+
// Get the initial snapshot details which contain the data store package path.
|
|
868
|
+
const details = await dataStoreContext.getInitialSnapshotDetails();
|
|
869
|
+
// Note that this will throw if the data store is inactive or tombstoned and throwing on incorrect usage
|
|
870
|
+
// is configured.
|
|
871
|
+
this.garbageCollector.nodeUpdated(`/${urlWithoutQuery}`, "Loaded", undefined /* timestampMs */, details.pkg, request, headerData);
|
|
872
|
+
return dataStoreContext.realize();
|
|
863
873
|
}
|
|
864
874
|
/** Adds the container's metadata to the given summary tree. */
|
|
865
875
|
addMetadataToSummary(summaryTree) {
|
|
@@ -1283,6 +1293,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1283
1293
|
* @param wait - True if you want to wait for it.
|
|
1284
1294
|
* @deprecated - Use getAliasedDataStoreEntryPoint instead to get an aliased data store's entry point.
|
|
1285
1295
|
*/
|
|
1296
|
+
// eslint-disable-next-line import/no-deprecated
|
|
1286
1297
|
async getRootDataStore(id, wait = true) {
|
|
1287
1298
|
return this.getRootDataStoreChannel(id, wait);
|
|
1288
1299
|
}
|
|
@@ -1362,6 +1373,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
1362
1373
|
if (channel.entryPoint === undefined) {
|
|
1363
1374
|
throw new UsageError("entryPoint must be defined on data store runtime for using getAliasedDataStoreEntryPoint");
|
|
1364
1375
|
}
|
|
1376
|
+
this.garbageCollector.nodeUpdated(`/${internalId}`, "Loaded", undefined /* timestampMs */, context.packagePath);
|
|
1365
1377
|
return channel.entryPoint;
|
|
1366
1378
|
}
|
|
1367
1379
|
createDetachedRootDataStore(pkg, rootDataStoreId) {
|
|
@@ -2469,6 +2481,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
2469
2481
|
* * Forms a function that will request a Summarizer.
|
|
2470
2482
|
* @param loaderRouter - the loader acting as an IFluidRouter
|
|
2471
2483
|
* */
|
|
2484
|
+
// eslint-disable-next-line import/no-deprecated
|
|
2472
2485
|
formRequestSummarizerFn(loaderRouter) {
|
|
2473
2486
|
return async () => {
|
|
2474
2487
|
const request = {
|
|
@@ -2483,6 +2496,7 @@ export class ContainerRuntime extends TypedEventEmitter {
|
|
|
2483
2496
|
},
|
|
2484
2497
|
url: "/_summarizer",
|
|
2485
2498
|
};
|
|
2499
|
+
// eslint-disable-next-line import/no-deprecated
|
|
2486
2500
|
const fluidObject = await requestFluidObject(loaderRouter, request);
|
|
2487
2501
|
const summarizer = fluidObject.ISummarizer;
|
|
2488
2502
|
if (!summarizer) {
|