@fluidframework/container-runtime 2.0.0-dev-rc.1.0.0.224419 → 2.0.0-dev-rc.1.0.0.228517
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 +34 -0
- package/README.md +1 -7
- package/api-extractor-esm.json +4 -0
- package/api-report/container-runtime.api.md +3 -2
- package/dist/{batchTracker.cjs → batchTracker.js} +1 -1
- package/dist/batchTracker.js.map +1 -0
- package/dist/blobManager.d.ts +8 -3
- package/dist/blobManager.d.ts.map +1 -1
- package/dist/{blobManager.cjs → blobManager.js} +17 -6
- package/dist/blobManager.js.map +1 -0
- package/dist/{connectionTelemetry.cjs → connectionTelemetry.js} +1 -1
- package/dist/connectionTelemetry.js.map +1 -0
- package/dist/container-runtime-alpha.d.ts +17 -2
- package/dist/container-runtime-untrimmed.d.ts +17 -2
- package/dist/{containerHandleContext.cjs → containerHandleContext.js} +1 -1
- package/dist/containerHandleContext.js.map +1 -0
- package/dist/containerRuntime.d.ts +4 -0
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/{containerRuntime.cjs → containerRuntime.js} +27 -18
- package/dist/containerRuntime.js.map +1 -0
- package/dist/{dataStore.cjs → dataStore.js} +1 -1
- package/dist/dataStore.js.map +1 -0
- package/dist/dataStoreContext.d.ts +5 -2
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/{dataStoreContext.cjs → dataStoreContext.js} +13 -6
- package/dist/dataStoreContext.js.map +1 -0
- package/dist/{dataStoreContexts.cjs → dataStoreContexts.js} +1 -1
- package/dist/dataStoreContexts.js.map +1 -0
- package/dist/{dataStoreRegistry.cjs → dataStoreRegistry.js} +1 -1
- package/dist/dataStoreRegistry.js.map +1 -0
- package/dist/dataStores.d.ts +10 -3
- package/dist/dataStores.d.ts.map +1 -1
- package/dist/{dataStores.cjs → dataStores.js} +59 -16
- package/dist/dataStores.js.map +1 -0
- package/dist/{deltaManagerProxyBase.cjs → deltaManagerProxyBase.js} +1 -1
- package/dist/deltaManagerProxyBase.js.map +1 -0
- package/dist/{deltaManagerSummarizerProxy.cjs → deltaManagerSummarizerProxy.js} +3 -3
- package/dist/deltaManagerSummarizerProxy.js.map +1 -0
- package/dist/{deltaScheduler.cjs → deltaScheduler.js} +1 -1
- package/dist/deltaScheduler.js.map +1 -0
- package/dist/{error.cjs → error.js} +1 -1
- package/dist/error.js.map +1 -0
- package/dist/gc/garbageCollection.d.ts.map +1 -1
- package/dist/gc/{garbageCollection.cjs → garbageCollection.js} +48 -18
- package/dist/gc/garbageCollection.js.map +1 -0
- package/dist/gc/gcConfigs.d.ts.map +1 -1
- package/dist/gc/{gcConfigs.cjs → gcConfigs.js} +29 -22
- package/dist/gc/gcConfigs.js.map +1 -0
- package/dist/gc/gcDefinitions.d.ts +29 -6
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/{gcDefinitions.cjs → gcDefinitions.js} +6 -4
- package/dist/gc/gcDefinitions.js.map +1 -0
- package/dist/gc/{gcHelpers.cjs → gcHelpers.js} +1 -1
- package/dist/gc/gcHelpers.js.map +1 -0
- package/dist/gc/{gcReferenceGraphAlgorithm.cjs → gcReferenceGraphAlgorithm.js} +1 -1
- package/dist/gc/gcReferenceGraphAlgorithm.js.map +1 -0
- package/dist/gc/{gcSummaryDefinitions.cjs → gcSummaryDefinitions.js} +1 -1
- package/dist/gc/gcSummaryDefinitions.js.map +1 -0
- package/dist/gc/{gcSummaryStateTracker.cjs → gcSummaryStateTracker.js} +2 -2
- package/dist/gc/gcSummaryStateTracker.js.map +1 -0
- package/dist/gc/gcTelemetry.d.ts +13 -6
- package/dist/gc/gcTelemetry.d.ts.map +1 -1
- package/dist/gc/{gcTelemetry.cjs → gcTelemetry.js} +20 -11
- package/dist/gc/gcTelemetry.js.map +1 -0
- package/dist/gc/{gcUnreferencedStateTracker.cjs → gcUnreferencedStateTracker.js} +2 -2
- package/dist/gc/gcUnreferencedStateTracker.js.map +1 -0
- package/dist/gc/index.d.ts +1 -1
- package/dist/gc/index.d.ts.map +1 -1
- package/dist/gc/{index.cjs → index.js} +10 -9
- package/dist/gc/index.js.map +1 -0
- package/dist/{index.cjs → index.js} +7 -7
- package/dist/index.js.map +1 -0
- package/dist/{messageTypes.cjs → messageTypes.js} +1 -1
- package/dist/messageTypes.js.map +1 -0
- package/dist/{metadata.cjs → metadata.js} +1 -1
- package/dist/metadata.js.map +1 -0
- package/dist/opLifecycle/{batchManager.cjs → batchManager.js} +1 -1
- package/dist/opLifecycle/batchManager.js.map +1 -0
- package/dist/opLifecycle/definitions.d.ts +1 -1
- package/dist/opLifecycle/definitions.d.ts.map +1 -1
- package/dist/opLifecycle/{definitions.cjs → definitions.js} +1 -1
- package/dist/opLifecycle/definitions.js.map +1 -0
- package/dist/opLifecycle/{index.cjs → index.js} +8 -8
- package/dist/opLifecycle/index.js.map +1 -0
- package/dist/opLifecycle/{opCompressor.cjs → opCompressor.js} +3 -3
- package/dist/opLifecycle/opCompressor.js.map +1 -0
- package/dist/opLifecycle/{opDecompressor.cjs → opDecompressor.js} +2 -2
- package/dist/opLifecycle/opDecompressor.js.map +1 -0
- package/dist/opLifecycle/{opGroupingManager.cjs → opGroupingManager.js} +1 -1
- package/dist/opLifecycle/opGroupingManager.js.map +1 -0
- package/dist/opLifecycle/{opSplitter.cjs → opSplitter.js} +3 -3
- package/dist/opLifecycle/opSplitter.js.map +1 -0
- package/dist/opLifecycle/outbox.d.ts +4 -4
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/{outbox.cjs → outbox.js} +6 -3
- package/dist/opLifecycle/{outbox.cjs.map → outbox.js.map} +1 -1
- package/dist/opLifecycle/{remoteMessageProcessor.cjs → remoteMessageProcessor.js} +2 -2
- package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -0
- package/dist/{opProperties.cjs → opProperties.js} +1 -1
- package/dist/opProperties.js.map +1 -0
- package/dist/packageVersion.d.ts +1 -1
- package/dist/{packageVersion.cjs → packageVersion.js} +2 -2
- package/dist/packageVersion.js.map +1 -0
- package/dist/{pendingStateManager.cjs → pendingStateManager.js} +2 -2
- package/dist/pendingStateManager.js.map +1 -0
- package/dist/{scheduleManager.cjs → scheduleManager.js} +3 -3
- package/dist/scheduleManager.js.map +1 -0
- package/dist/{storageServiceWithAttachBlobs.cjs → storageServiceWithAttachBlobs.js} +1 -1
- package/dist/storageServiceWithAttachBlobs.js.map +1 -0
- package/dist/summary/{index.cjs → index.js} +12 -12
- package/dist/summary/index.js.map +1 -0
- package/dist/summary/{orderedClientElection.cjs → orderedClientElection.js} +2 -2
- package/dist/summary/orderedClientElection.js.map +1 -0
- package/dist/summary/{runWhileConnectedCoordinator.cjs → runWhileConnectedCoordinator.js} +1 -1
- package/dist/summary/runWhileConnectedCoordinator.js.map +1 -0
- package/dist/summary/runningSummarizer.d.ts +5 -0
- package/dist/summary/runningSummarizer.d.ts.map +1 -1
- package/dist/summary/{runningSummarizer.cjs → runningSummarizer.js} +50 -21
- package/dist/summary/runningSummarizer.js.map +1 -0
- package/dist/summary/{summarizer.cjs → summarizer.js} +4 -4
- package/dist/summary/summarizer.js.map +1 -0
- package/dist/summary/{summarizerClientElection.cjs → summarizerClientElection.js} +1 -1
- package/dist/summary/summarizerClientElection.js.map +1 -0
- package/dist/summary/{summarizerHeuristics.cjs → summarizerHeuristics.js} +1 -1
- package/dist/summary/summarizerHeuristics.js.map +1 -0
- package/dist/summary/summarizerNode/{index.cjs → index.js} +3 -3
- package/dist/summary/summarizerNode/index.js.map +1 -0
- package/dist/summary/summarizerNode/{summarizerNode.cjs → summarizerNode.js} +2 -2
- package/dist/summary/summarizerNode/summarizerNode.js.map +1 -0
- package/dist/summary/summarizerNode/{summarizerNodeUtils.cjs → summarizerNodeUtils.js} +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -0
- package/dist/summary/summarizerNode/{summarizerNodeWithGc.cjs → summarizerNodeWithGc.js} +4 -4
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -0
- package/dist/summary/summarizerTypes.d.ts +2 -0
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/{summarizerTypes.cjs → summarizerTypes.js} +1 -1
- package/dist/summary/summarizerTypes.js.map +1 -0
- package/dist/summary/{summaryCollection.cjs → summaryCollection.js} +1 -1
- package/dist/summary/summaryCollection.js.map +1 -0
- package/dist/summary/{summaryFormat.cjs → summaryFormat.js} +1 -1
- package/dist/summary/summaryFormat.js.map +1 -0
- package/dist/summary/{summaryGenerator.cjs → summaryGenerator.js} +1 -1
- package/dist/summary/summaryGenerator.js.map +1 -0
- package/dist/summary/{summaryManager.cjs → summaryManager.js} +2 -2
- package/dist/summary/summaryManager.js.map +1 -0
- package/dist/{throttler.cjs → throttler.js} +1 -1
- package/dist/throttler.js.map +1 -0
- package/lib/batchTracker.d.mts +1 -1
- package/lib/batchTracker.d.mts.map +1 -1
- package/lib/blobManager.d.mts +9 -4
- package/lib/blobManager.d.mts.map +1 -1
- package/lib/blobManager.mjs +15 -4
- package/lib/blobManager.mjs.map +1 -1
- package/lib/connectionTelemetry.d.mts +1 -1
- package/lib/connectionTelemetry.d.mts.map +1 -1
- package/lib/container-runtime-alpha.d.mts +17 -2
- package/lib/container-runtime-untrimmed.d.mts +17 -2
- package/lib/containerHandleContext.d.mts +1 -1
- package/lib/containerHandleContext.d.mts.map +1 -1
- package/lib/containerRuntime.d.mts +5 -1
- package/lib/containerRuntime.d.mts.map +1 -1
- package/lib/containerRuntime.mjs +10 -1
- package/lib/containerRuntime.mjs.map +1 -1
- package/lib/dataStore.d.mts +1 -1
- package/lib/dataStore.d.mts.map +1 -1
- package/lib/dataStoreContext.d.mts +6 -3
- package/lib/dataStoreContext.d.mts.map +1 -1
- package/lib/dataStoreContext.mjs +11 -4
- package/lib/dataStoreContext.mjs.map +1 -1
- package/lib/dataStoreContexts.d.mts +1 -1
- package/lib/dataStoreContexts.d.mts.map +1 -1
- package/lib/dataStoreRegistry.d.mts +1 -1
- package/lib/dataStoreRegistry.d.mts.map +1 -1
- package/lib/dataStores.d.mts +11 -4
- package/lib/dataStores.d.mts.map +1 -1
- package/lib/dataStores.mjs +51 -9
- package/lib/dataStores.mjs.map +1 -1
- package/lib/deltaManagerProxyBase.d.mts +1 -1
- package/lib/deltaManagerProxyBase.d.mts.map +1 -1
- package/lib/deltaManagerSummarizerProxy.d.mts +1 -1
- package/lib/deltaManagerSummarizerProxy.d.mts.map +1 -1
- package/lib/deltaScheduler.d.mts +1 -1
- package/lib/deltaScheduler.d.mts.map +1 -1
- package/lib/error.d.mts +1 -1
- package/lib/error.d.mts.map +1 -1
- package/lib/gc/garbageCollection.d.mts +1 -1
- package/lib/gc/garbageCollection.d.mts.map +1 -1
- package/lib/gc/garbageCollection.mjs +38 -8
- package/lib/gc/garbageCollection.mjs.map +1 -1
- package/lib/gc/gcConfigs.d.mts +1 -1
- package/lib/gc/gcConfigs.d.mts.map +1 -1
- package/lib/gc/gcConfigs.mjs +26 -19
- package/lib/gc/gcConfigs.mjs.map +1 -1
- package/lib/gc/gcDefinitions.d.mts +30 -7
- package/lib/gc/gcDefinitions.d.mts.map +1 -1
- package/lib/gc/gcDefinitions.mjs +4 -2
- package/lib/gc/gcDefinitions.mjs.map +1 -1
- package/lib/gc/gcHelpers.d.mts +1 -1
- package/lib/gc/gcHelpers.d.mts.map +1 -1
- package/lib/gc/gcReferenceGraphAlgorithm.d.mts +1 -1
- package/lib/gc/gcReferenceGraphAlgorithm.d.mts.map +1 -1
- package/lib/gc/gcSummaryDefinitions.d.mts +1 -1
- package/lib/gc/gcSummaryDefinitions.d.mts.map +1 -1
- package/lib/gc/gcSummaryStateTracker.d.mts +1 -1
- package/lib/gc/gcSummaryStateTracker.d.mts.map +1 -1
- package/lib/gc/gcTelemetry.d.mts +14 -7
- package/lib/gc/gcTelemetry.d.mts.map +1 -1
- package/lib/gc/gcTelemetry.mjs +18 -9
- package/lib/gc/gcTelemetry.mjs.map +1 -1
- package/lib/gc/gcUnreferencedStateTracker.d.mts +1 -1
- package/lib/gc/gcUnreferencedStateTracker.d.mts.map +1 -1
- package/lib/gc/index.d.mts +2 -2
- package/lib/gc/index.d.mts.map +1 -1
- package/lib/gc/index.mjs +1 -1
- package/lib/gc/index.mjs.map +1 -1
- package/lib/index.d.mts +1 -1
- package/lib/index.d.mts.map +1 -1
- package/lib/messageTypes.d.mts +1 -1
- package/lib/messageTypes.d.mts.map +1 -1
- package/lib/metadata.d.mts +1 -1
- package/lib/metadata.d.mts.map +1 -1
- package/lib/opLifecycle/batchManager.d.mts +1 -1
- package/lib/opLifecycle/batchManager.d.mts.map +1 -1
- package/lib/opLifecycle/definitions.d.mts +2 -2
- package/lib/opLifecycle/definitions.d.mts.map +1 -1
- package/lib/opLifecycle/definitions.mjs.map +1 -1
- package/lib/opLifecycle/index.d.mts +1 -1
- package/lib/opLifecycle/index.d.mts.map +1 -1
- package/lib/opLifecycle/opCompressor.d.mts +1 -1
- package/lib/opLifecycle/opCompressor.d.mts.map +1 -1
- package/lib/opLifecycle/opDecompressor.d.mts +1 -1
- package/lib/opLifecycle/opDecompressor.d.mts.map +1 -1
- package/lib/opLifecycle/opGroupingManager.d.mts +1 -1
- package/lib/opLifecycle/opGroupingManager.d.mts.map +1 -1
- package/lib/opLifecycle/opSplitter.d.mts +1 -1
- package/lib/opLifecycle/opSplitter.d.mts.map +1 -1
- package/lib/opLifecycle/outbox.d.mts +5 -5
- package/lib/opLifecycle/outbox.d.mts.map +1 -1
- package/lib/opLifecycle/outbox.mjs +4 -1
- package/lib/opLifecycle/outbox.mjs.map +1 -1
- package/lib/opLifecycle/remoteMessageProcessor.d.mts +1 -1
- package/lib/opLifecycle/remoteMessageProcessor.d.mts.map +1 -1
- package/lib/opProperties.d.mts +1 -1
- package/lib/opProperties.d.mts.map +1 -1
- package/lib/packageVersion.d.mts +2 -2
- package/lib/packageVersion.d.mts.map +1 -1
- package/lib/packageVersion.mjs +1 -1
- package/lib/packageVersion.mjs.map +1 -1
- package/lib/pendingStateManager.d.mts +1 -1
- package/lib/pendingStateManager.d.mts.map +1 -1
- package/lib/scheduleManager.d.mts +1 -1
- package/lib/scheduleManager.d.mts.map +1 -1
- package/lib/storageServiceWithAttachBlobs.d.mts +1 -1
- package/lib/storageServiceWithAttachBlobs.d.mts.map +1 -1
- package/lib/summary/index.d.mts +1 -1
- package/lib/summary/index.d.mts.map +1 -1
- package/lib/summary/orderedClientElection.d.mts +1 -1
- package/lib/summary/orderedClientElection.d.mts.map +1 -1
- package/lib/summary/runWhileConnectedCoordinator.d.mts +1 -1
- package/lib/summary/runWhileConnectedCoordinator.d.mts.map +1 -1
- package/lib/summary/runningSummarizer.d.mts +6 -1
- package/lib/summary/runningSummarizer.d.mts.map +1 -1
- package/lib/summary/runningSummarizer.mjs +46 -17
- package/lib/summary/runningSummarizer.mjs.map +1 -1
- package/lib/summary/summarizer.d.mts +1 -1
- package/lib/summary/summarizer.d.mts.map +1 -1
- package/lib/summary/summarizerClientElection.d.mts +1 -1
- package/lib/summary/summarizerClientElection.d.mts.map +1 -1
- package/lib/summary/summarizerHeuristics.d.mts +1 -1
- package/lib/summary/summarizerHeuristics.d.mts.map +1 -1
- package/lib/summary/summarizerNode/index.d.mts +1 -1
- package/lib/summary/summarizerNode/index.d.mts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.d.mts +1 -1
- package/lib/summary/summarizerNode/summarizerNode.d.mts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.mts +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.mts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.mts +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.mts.map +1 -1
- package/lib/summary/summarizerTypes.d.mts +3 -1
- package/lib/summary/summarizerTypes.d.mts.map +1 -1
- package/lib/summary/summarizerTypes.mjs.map +1 -1
- package/lib/summary/summaryCollection.d.mts +1 -1
- package/lib/summary/summaryCollection.d.mts.map +1 -1
- package/lib/summary/summaryFormat.d.mts +1 -1
- package/lib/summary/summaryFormat.d.mts.map +1 -1
- package/lib/summary/summaryGenerator.d.mts +1 -1
- package/lib/summary/summaryGenerator.d.mts.map +1 -1
- package/lib/summary/summaryManager.d.mts +1 -1
- package/lib/summary/summaryManager.d.mts.map +1 -1
- package/lib/throttler.d.mts +1 -1
- package/lib/throttler.d.mts.map +1 -1
- package/package.json +74 -43
- package/src/blobManager.ts +15 -4
- package/src/containerRuntime.ts +11 -0
- package/src/dataStoreContext.ts +11 -4
- package/src/dataStores.ts +61 -7
- package/src/gc/garbageCollection.ts +41 -7
- package/src/gc/gcConfigs.ts +28 -20
- package/src/gc/gcDefinitions.ts +30 -6
- package/src/gc/gcTelemetry.ts +19 -9
- package/src/gc/index.ts +3 -0
- package/src/opLifecycle/definitions.ts +1 -1
- package/src/opLifecycle/outbox.ts +5 -2
- package/src/packageVersion.ts +1 -1
- package/src/summary/runningSummarizer.ts +58 -25
- package/src/summary/summarizerTypes.ts +2 -0
- package/dist/batchTracker.cjs.map +0 -1
- package/dist/blobManager.cjs.map +0 -1
- package/dist/connectionTelemetry.cjs.map +0 -1
- package/dist/containerHandleContext.cjs.map +0 -1
- package/dist/containerRuntime.cjs.map +0 -1
- package/dist/dataStore.cjs.map +0 -1
- package/dist/dataStoreContext.cjs.map +0 -1
- package/dist/dataStoreContexts.cjs.map +0 -1
- package/dist/dataStoreRegistry.cjs.map +0 -1
- package/dist/dataStores.cjs.map +0 -1
- package/dist/deltaManagerProxyBase.cjs.map +0 -1
- package/dist/deltaManagerSummarizerProxy.cjs.map +0 -1
- package/dist/deltaScheduler.cjs.map +0 -1
- package/dist/error.cjs.map +0 -1
- package/dist/gc/garbageCollection.cjs.map +0 -1
- package/dist/gc/gcConfigs.cjs.map +0 -1
- package/dist/gc/gcDefinitions.cjs.map +0 -1
- package/dist/gc/gcHelpers.cjs.map +0 -1
- package/dist/gc/gcReferenceGraphAlgorithm.cjs.map +0 -1
- package/dist/gc/gcSummaryDefinitions.cjs.map +0 -1
- package/dist/gc/gcSummaryStateTracker.cjs.map +0 -1
- package/dist/gc/gcTelemetry.cjs.map +0 -1
- package/dist/gc/gcUnreferencedStateTracker.cjs.map +0 -1
- package/dist/gc/index.cjs.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/messageTypes.cjs.map +0 -1
- package/dist/metadata.cjs.map +0 -1
- package/dist/opLifecycle/batchManager.cjs.map +0 -1
- package/dist/opLifecycle/definitions.cjs.map +0 -1
- package/dist/opLifecycle/index.cjs.map +0 -1
- package/dist/opLifecycle/opCompressor.cjs.map +0 -1
- package/dist/opLifecycle/opDecompressor.cjs.map +0 -1
- package/dist/opLifecycle/opGroupingManager.cjs.map +0 -1
- package/dist/opLifecycle/opSplitter.cjs.map +0 -1
- package/dist/opLifecycle/remoteMessageProcessor.cjs.map +0 -1
- package/dist/opProperties.cjs.map +0 -1
- package/dist/packageVersion.cjs.map +0 -1
- package/dist/pendingStateManager.cjs.map +0 -1
- package/dist/scheduleManager.cjs.map +0 -1
- package/dist/storageServiceWithAttachBlobs.cjs.map +0 -1
- package/dist/summary/index.cjs.map +0 -1
- package/dist/summary/orderedClientElection.cjs.map +0 -1
- package/dist/summary/runWhileConnectedCoordinator.cjs.map +0 -1
- package/dist/summary/runningSummarizer.cjs.map +0 -1
- package/dist/summary/summarizer.cjs.map +0 -1
- package/dist/summary/summarizerClientElection.cjs.map +0 -1
- package/dist/summary/summarizerHeuristics.cjs.map +0 -1
- package/dist/summary/summarizerNode/index.cjs.map +0 -1
- package/dist/summary/summarizerNode/summarizerNode.cjs.map +0 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.cjs.map +0 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.cjs.map +0 -1
- package/dist/summary/summarizerTypes.cjs.map +0 -1
- package/dist/summary/summaryCollection.cjs.map +0 -1
- package/dist/summary/summaryFormat.cjs.map +0 -1
- package/dist/summary/summaryGenerator.cjs.map +0 -1
- package/dist/summary/summaryManager.cjs.map +0 -1
- package/dist/throttler.cjs.map +0 -1
- package/tsc-multi.test.json +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarizerTypes.d.
|
|
1
|
+
{"version":3,"file":"summarizerTypes.d.mts","sourceRoot":"","sources":["../../src/summary/summarizerTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summarizerTypes.mjs","sourceRoot":"","sources":["../../src/summary/summarizerTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IEvent, IEventProvider, ITelemetryProperties } from \"@fluidframework/core-interfaces\";\nimport { ITelemetryLoggerExt, ITelemetryLoggerPropertyBag } from \"@fluidframework/telemetry-utils\";\nimport { ContainerWarning, IDeltaManager } from \"@fluidframework/container-definitions\";\nimport {\n\tISequencedDocumentMessage,\n\tISummaryTree,\n\tIDocumentMessage,\n} from \"@fluidframework/protocol-definitions\";\nimport { ISummaryStats } from \"@fluidframework/runtime-definitions\";\nimport { ISummaryConfigurationHeuristics } from \"../containerRuntime\";\nimport { ISummaryAckMessage, ISummaryNackMessage, ISummaryOpMessage } from \"./summaryCollection\";\nimport { SummarizeReason } from \"./summaryGenerator\";\n\n/**\n * Similar to AbortSignal, but using promise instead of events\n * @param T - cancellation reason type\n * @alpha\n */\nexport interface ICancellationToken<T> {\n\t/** Tells if this cancellable token is cancelled */\n\treadonly cancelled: boolean;\n\t/**\n\t * Promise that gets fulfilled when this cancellable token is cancelled\n\t * @returns reason of cancellation\n\t */\n\treadonly waitCancelled: Promise<T>;\n}\n\n/**\n * Similar to AbortSignal, but using promise instead of events\n * @alpha\n */\nexport type ISummaryCancellationToken = ICancellationToken<SummarizerStopReason>;\n\n/**\n * Data required to update internal tracking state after receiving a Summary Ack.\n * @alpha\n */\nexport interface IRefreshSummaryAckOptions {\n\t/** Handle from the ack's summary op. */\n\treadonly proposalHandle: string | undefined;\n\t/** Handle from the summary ack just received */\n\treadonly ackHandle: string;\n\t/** Reference sequence number from the ack's summary op */\n\treadonly summaryRefSeq: number;\n\t/** Telemetry logger to which telemetry events will be forwarded. */\n\treadonly summaryLogger: ITelemetryLoggerExt;\n}\n\n/**\n * @alpha\n */\nexport interface ISummarizerInternalsProvider {\n\t/** Encapsulates the work to walk the internals of the running container to generate a summary */\n\tsubmitSummary(options: ISubmitSummaryOptions): Promise<SubmitSummaryResult>;\n\n\t/** Callback whenever a new SummaryAck is received, to update internal tracking state */\n\trefreshLatestSummaryAck(options: IRefreshSummaryAckOptions): Promise<void>;\n}\n\n/**\n * @deprecated Options that control the behavior of a running summarizer.\n * @public\n * */\nexport interface ISummarizerOptions {\n\t/**\n\t * Set to true to disable the default heuristics from running; false by default.\n\t * This affects only the heuristics around when a summarizer should\n\t * submit summaries. So when it is disabled, summarizer clients should\n\t * not be expected to summarize unless an on-demand summary is requested.\n\t */\n\tdisableHeuristics: boolean;\n}\n\n/**\n * @internal\n */\nexport interface ISummarizingWarning extends ContainerWarning {\n\treadonly errorType: \"summarizingError\";\n\treadonly logged: boolean;\n}\n\n/**\n * @alpha\n */\nexport interface IConnectableRuntime {\n\treadonly disposed: boolean;\n\treadonly connected: boolean;\n\treadonly clientId: string | undefined;\n\tonce(event: \"connected\" | \"disconnected\" | \"dispose\", listener: () => void): this;\n}\n\n/**\n * @alpha\n */\nexport interface ISummarizerRuntime extends IConnectableRuntime {\n\treadonly logger: ITelemetryLoggerExt;\n\t/** clientId of parent (non-summarizing) container that owns summarizer container */\n\treadonly summarizerClientId: string | undefined;\n\treadonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;\n\tdisposeFn(): void;\n\tcloseFn(): void;\n\ton(\n\t\tevent: \"op\",\n\t\tlistener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void,\n\t): this;\n\toff(\n\t\tevent: \"op\",\n\t\tlistener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void,\n\t): this;\n}\n\n/**\n * Options affecting summarize behavior.\n * @alpha\n */\nexport interface ISummarizeOptions {\n\t/** True to generate the full tree with no handle reuse optimizations; defaults to false */\n\treadonly fullTree?: boolean;\n\t/**\n\t * True to ask the server what the latest summary is first; defaults to false\n\t *\n\t * @deprecated Summarize will not refresh latest snapshot state anymore. Instead it updates the cache and closes.\n\t * It's expected a new summarizer client will be created, likely by the same parent.\n\t */\n\treadonly refreshLatestAck?: boolean;\n}\n\n/**\n * @alpha\n */\nexport interface ISubmitSummaryOptions extends ISummarizeOptions {\n\t/** Logger to use for correlated summary events */\n\treadonly summaryLogger: ITelemetryLoggerExt;\n\t/** Tells when summary process should be cancelled */\n\treadonly cancellationToken: ISummaryCancellationToken;\n\t/** Summarization may be attempted multiple times. This tells whether this is the final summarization attempt. */\n\treadonly finalAttempt?: boolean;\n}\n\n/**\n * @alpha\n */\nexport interface IOnDemandSummarizeOptions extends ISummarizeOptions {\n\t/** Reason for generating summary. */\n\treadonly reason: string;\n}\n\n/**\n * Options to use when enqueueing a summarize attempt.\n * @alpha\n */\nexport interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {\n\t/** If specified, The summarize attempt will not occur until after this sequence number. */\n\treadonly afterSequenceNumber?: number;\n\n\t/**\n\t * True to override the existing enqueued summarize attempt if there is one.\n\t * This will guarantee that this attempt gets enqueued. If override is false,\n\t * than an existing enqueued summarize attempt will block a new one from being\n\t * enqueued. There can only be one enqueued at a time. Defaults to false.\n\t */\n\treadonly override?: boolean;\n}\n\n/**\n * In addition to the normal summary tree + stats, this contains additional stats\n * only relevant at the root of the tree.\n * @alpha\n */\nexport interface IGeneratedSummaryStats extends ISummaryStats {\n\t/** The total number of data stores in the container. */\n\treadonly dataStoreCount: number;\n\t/** The number of data stores that were summarized in this summary. */\n\treadonly summarizedDataStoreCount: number;\n\t/** The number of data stores whose GC reference state was updated in this summary. */\n\treadonly gcStateUpdatedDataStoreCount?: number;\n\t/** The size of the gc blobs in this summary. */\n\treadonly gcTotalBlobsSize?: number;\n\t/** The number of gc blobs in this summary. */\n\treadonly gcBlobNodeCount?: number;\n\t/** The summary number for a container's summary. Incremented on summaries throughout its lifetime. */\n\treadonly summaryNumber: number;\n}\n\n/**\n * Base results for all submitSummary attempts.\n * @alpha\n */\nexport interface IBaseSummarizeResult {\n\treadonly stage: \"base\";\n\t/** Error object related to failed summarize attempt. */\n\treadonly error: any;\n\t/** Reference sequence number as of the generate summary attempt. */\n\treadonly referenceSequenceNumber: number;\n\treadonly minimumSequenceNumber: number;\n}\n\n/**\n * Results of submitSummary after generating the summary tree.\n * @alpha\n */\nexport interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, \"stage\"> {\n\treadonly stage: \"generate\";\n\t/** Generated summary tree. */\n\treadonly summaryTree: ISummaryTree;\n\t/** Stats for generated summary tree. */\n\treadonly summaryStats: IGeneratedSummaryStats;\n\t/** Time it took to generate the summary tree and stats. */\n\treadonly generateDuration: number;\n\t/** True if the full tree regeneration with no handle reuse optimizations was forced. */\n\treadonly forcedFullTree: boolean;\n}\n\n/**\n * Results of submitSummary after uploading the tree to storage.\n * @alpha\n */\nexport interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, \"stage\"> {\n\treadonly stage: \"upload\";\n\t/** The handle returned by storage pointing to the uploaded summary tree. */\n\treadonly handle: string;\n\t/** Time it took to upload the summary tree to storage. */\n\treadonly uploadDuration: number;\n}\n\n/**\n * Results of submitSummary after submitting the summarize op.\n * @alpha\n */\nexport interface ISubmitSummaryOpResult extends Omit<IUploadSummaryResult, \"stage\" | \"error\"> {\n\treadonly stage: \"submit\";\n\t/** The client sequence number of the summarize op submitted for the summary. */\n\treadonly clientSequenceNumber: number;\n\t/** Time it took to submit the summarize op to the broadcasting service. */\n\treadonly submitOpDuration: number;\n}\n\n/**\n * Strict type representing result of a submitSummary attempt.\n * The result consists of 4 possible stages, each with its own data.\n * The data is cumulative, so each stage will contain the data from the previous stages.\n * If the final \"submitted\" stage is not reached, the result may contain the error object.\n *\n * Stages:\n *\n * 1. \"base\" - stopped before the summary tree was even generated, and the result only contains the base data\n *\n * 2. \"generate\" - the summary tree was generated, and the result will contain that tree + stats\n *\n * 3. \"upload\" - the summary was uploaded to storage, and the result contains the server-provided handle\n *\n * 4. \"submit\" - the summarize op was submitted, and the result contains the op client sequence number.\n * @alpha\n */\nexport type SubmitSummaryResult =\n\t| IBaseSummarizeResult\n\t| IGenerateSummaryTreeResult\n\t| IUploadSummaryResult\n\t| ISubmitSummaryOpResult;\n\n/**\n * The stages of Summarize, used to describe how far progress succeeded in case of a failure at a later stage.\n * @alpha\n */\nexport type SummaryStage = SubmitSummaryResult[\"stage\"] | \"unknown\";\n\n/**\n * Type for summarization failures that are retriable.\n * @alpha\n */\nexport interface IRetriableFailureResult {\n\treadonly retryAfterSeconds?: number;\n}\n\n/**\n * The data in summarizer result when submit summary stage fails.\n * @alpha\n */\nexport interface SubmitSummaryFailureData extends IRetriableFailureResult {\n\tstage: SummaryStage;\n}\n\n/**\n * @alpha\n */\nexport interface IBroadcastSummaryResult {\n\treadonly summarizeOp: ISummaryOpMessage;\n\treadonly broadcastDuration: number;\n}\n\n/**\n * @alpha\n */\nexport interface IAckSummaryResult {\n\treadonly summaryAckOp: ISummaryAckMessage;\n\treadonly ackNackDuration: number;\n}\n\n/**\n * @alpha\n */\nexport interface INackSummaryResult extends IRetriableFailureResult {\n\treadonly summaryNackOp: ISummaryNackMessage;\n\treadonly ackNackDuration: number;\n}\n\n/**\n * @alpha\n */\nexport type SummarizeResultPart<TSuccess, TFailure = undefined> =\n\t| {\n\t\t\tsuccess: true;\n\t\t\tdata: TSuccess;\n\t }\n\t| {\n\t\t\tsuccess: false;\n\t\t\tdata: TFailure | undefined;\n\t\t\tmessage: string;\n\t\t\terror: any;\n\t };\n\n/**\n * @alpha\n */\nexport interface ISummarizeResults {\n\t/** Resolves when we generate, upload, and submit the summary. */\n\treadonly summarySubmitted: Promise<\n\t\tSummarizeResultPart<SubmitSummaryResult, SubmitSummaryFailureData>\n\t>;\n\t/** Resolves when we observe our summarize op broadcast. */\n\treadonly summaryOpBroadcasted: Promise<SummarizeResultPart<IBroadcastSummaryResult>>;\n\t/** Resolves when we receive a summaryAck or summaryNack. */\n\treadonly receivedSummaryAckOrNack: Promise<\n\t\tSummarizeResultPart<IAckSummaryResult, INackSummaryResult>\n\t>;\n}\n\n/**\n * @alpha\n */\nexport type EnqueueSummarizeResult =\n\t| (ISummarizeResults & {\n\t\t\t/**\n\t\t\t * Indicates that another summarize attempt is not already enqueued,\n\t\t\t * and this attempt has been enqueued.\n\t\t\t */\n\t\t\treadonly alreadyEnqueued?: undefined;\n\t })\n\t| (ISummarizeResults & {\n\t\t\t/** Indicates that another summarize attempt was already enqueued. */\n\t\t\treadonly alreadyEnqueued: true;\n\t\t\t/**\n\t\t\t * Indicates that the other enqueued summarize attempt was abandoned,\n\t\t\t * and this attempt has been enqueued enqueued.\n\t\t\t */\n\t\t\treadonly overridden: true;\n\t })\n\t| {\n\t\t\t/** Indicates that another summarize attempt was already enqueued. */\n\t\t\treadonly alreadyEnqueued: true;\n\t\t\t/**\n\t\t\t * Indicates that the other enqueued summarize attempt remains enqueued,\n\t\t\t * and this attempt has not been enqueued.\n\t\t\t */\n\t\t\treadonly overridden?: undefined;\n\t };\n\n/**\n * @alpha\n */\nexport type SummarizerStopReason =\n\t/** Summarizer client failed to summarize in all 3 consecutive attempts. */\n\t| \"failToSummarize\"\n\t/** Parent client reported that it is no longer connected. */\n\t| \"parentNotConnected\"\n\t/**\n\t * Parent client reported that it is no longer elected the summarizer.\n\t * This is the normal flow; a disconnect will always trigger the parent\n\t * client to no longer be elected as responsible for summaries. Then it\n\t * tries to stop its spawned summarizer client.\n\t */\n\t| \"notElectedParent\"\n\t/**\n\t * We are not already running the summarizer and we are not the current elected client id.\n\t */\n\t| \"notElectedClient\"\n\t/** Summarizer client was disconnected */\n\t| \"summarizerClientDisconnected\"\n\t/** running summarizer threw an exception */\n\t| \"summarizerException\"\n\t/**\n\t * The previous summary state on the summarizer is not the most recently acked summary. this also happens when the\n\t * first submitSummary attempt fails for any reason and there's a 2nd summary attempt without an ack\n\t */\n\t| \"latestSummaryStateStale\";\n\n/**\n * @alpha\n */\nexport interface ISummarizeEventProps {\n\tresult: \"success\" | \"failure\" | \"canceled\";\n\tcurrentAttempt: number;\n\tmaxAttempts: number;\n\terror?: any;\n}\n\n/**\n * @alpha\n */\nexport interface ISummarizerEvents extends IEvent {\n\t(event: \"summarize\", listener: (props: ISummarizeEventProps) => void);\n}\n\n/**\n * @alpha\n */\nexport interface ISummarizer extends IEventProvider<ISummarizerEvents> {\n\t/**\n\t * Allows {@link ISummarizer} to be used with our {@link @fluidframework/core-interfaces#FluidObject} pattern.\n\t */\n\treadonly ISummarizer?: ISummarizer;\n\n\t/*\n\t * Asks summarizer to move to exit.\n\t * Summarizer will finish current processes, which may take a while.\n\t * For example, summarizer may complete last summary before exiting.\n\t */\n\tstop(reason: SummarizerStopReason): void;\n\n\t/* Closes summarizer. Any pending processes (summary in flight) are abandoned. */\n\tclose(): void;\n\n\trun(onBehalfOf: string, disableHeuristics?: boolean): Promise<SummarizerStopReason>;\n\n\t/**\n\t * Attempts to generate a summary on demand. If already running, takes no action.\n\t * @param options - options controlling the summarize attempt\n\t * @returns an alreadyRunning promise if a summarize attempt is already in progress,\n\t * which will resolve when the current attempt completes. At that point caller can\n\t * decide to try again or not. Otherwise, it will return an object containing promises\n\t * that resolve as the summarize attempt progresses. They will resolve with success\n\t * false if a failure is encountered.\n\t */\n\tsummarizeOnDemand(options: IOnDemandSummarizeOptions): ISummarizeResults;\n\t/**\n\t * Enqueue an attempt to summarize after the specified sequence number.\n\t * If afterSequenceNumber is provided, the summarize attempt is \"enqueued\"\n\t * to run once an eligible op comes in with sequenceNumber \\>= afterSequenceNumber.\n\t * @param options - options controlling the summarize attempt\n\t * @returns an object containing an alreadyEnqueued flag to indicate if another\n\t * summarize attempt has already been enqueued. It also may contain an overridden flag\n\t * when alreadyEnqueued is true, that indicates whether this attempt forced the\n\t * previous attempt to abort. If this attempt becomes enqueued, it returns an object\n\t * containing promises that resolve as the summarize attempt progresses. They will\n\t * resolve with success false if a failure is encountered.\n\t */\n\tenqueueSummarize(options: IEnqueueSummarizeOptions): EnqueueSummarizeResult;\n}\n\n/** Data about an attempt to summarize used for heuristics. */\nexport interface ISummarizeAttempt {\n\t/** Reference sequence number when summary was generated or attempted */\n\treadonly refSequenceNumber: number;\n\n\t/** Time of summary attempt after it was sent or attempted */\n\treadonly summaryTime: number;\n\n\t/** Sequence number of summary op */\n\tsummarySequenceNumber?: number;\n}\n\n/** Data relevant for summary heuristics. */\nexport interface ISummarizeHeuristicData {\n\t/** Latest received op sequence number */\n\tlastOpSequenceNumber: number;\n\n\t/** Most recent summary attempt from this client */\n\treadonly lastAttempt: ISummarizeAttempt;\n\n\t/** Most recent summary that received an ack */\n\treadonly lastSuccessfulSummary: Readonly<ISummarizeAttempt>;\n\n\t/** Number of runtime ops since last summary */\n\tnumRuntimeOps: number;\n\n\t/** Number of non-runtime ops since last summary */\n\tnumNonRuntimeOps: number;\n\n\t/** Cumulative size in bytes of all the ops since the last summary */\n\ttotalOpsSize: number;\n\n\t/** Wether or not this instance contains adjusted metrics due to missing op data */\n\thasMissingOpData: boolean;\n\n\t/**\n\t * Updates lastAttempt and lastSuccessfulAttempt based on the last summary.\n\t * @param lastSummary - last ack summary\n\t */\n\tupdateWithLastSummaryAckInfo(lastSummary: ISummarizeAttempt): void;\n\n\t/**\n\t * Records a summary attempt. If the attempt was successfully sent,\n\t * provide the reference sequence number, otherwise it will be set\n\t * to the last seen op sequence number.\n\t * @param referenceSequenceNumber - reference sequence number of sent summary\n\t */\n\trecordAttempt(referenceSequenceNumber?: number): void;\n\n\t/** Mark that the last sent summary attempt has received an ack */\n\tmarkLastAttemptAsSuccessful(): void;\n\n\topsSinceLastSummary: number;\n}\n\n/** Responsible for running heuristics determining when to summarize. */\nexport interface ISummarizeHeuristicRunner {\n\t/** Start specific heuristic trackers (ex: idle timer) */\n\tstart(): void;\n\n\t/** Runs the heuristics to determine if it should try to summarize */\n\trun(): void;\n\n\t/** Runs a different heuristic to check if it should summarize before closing */\n\tshouldRunLastSummary(): boolean;\n\n\t/** Disposes of resources */\n\tdispose(): void;\n}\n\ntype ISummarizeTelemetryRequiredProperties =\n\t/** Reason code for attempting to summarize */\n\t\"summarizeReason\";\n\ntype ISummarizeTelemetryOptionalProperties =\n\t/** Number of attempts within the last time window, used for calculating the throttle delay. */\n\t| \"summaryAttempts\"\n\t/** Number of attempts within the current phase (currently capped at 2 ) */\n\t| \"summaryAttemptsPerPhase\"\n\t/** One-based count of phases we've attempted (used to index into an array of ISummarizeOptions */\n\t| \"summaryAttemptPhase\"\n\t/** Summarization may be attempted multiple times. This tells whether this is the final summarization attempt */\n\t| \"finalAttempt\"\n\t| keyof ISummarizeOptions;\n\nexport type ISummarizeTelemetryProperties = Pick<\n\tITelemetryProperties,\n\tISummarizeTelemetryRequiredProperties\n> &\n\tPartial<Pick<ITelemetryProperties, ISummarizeTelemetryOptionalProperties>>;\n\n/** Strategy used to heuristically determine when we should run a summary */\nexport interface ISummaryHeuristicStrategy {\n\t/** Summarize reason for this summarize heuristic strategy (ex: \"maxTime\") */\n\tsummarizeReason: Readonly<SummarizeReason>;\n\n\t/**\n\t * Determines if this strategy's summarize criteria been met\n\t * @param configuration - summary configuration we are to check against\n\t * @param heuristicData - heuristic data used to confirm conditions are met\n\t */\n\tshouldRunSummary(\n\t\tconfiguration: ISummaryConfigurationHeuristics,\n\t\theuristicData: ISummarizeHeuristicData,\n\t): boolean;\n}\n\ntype SummaryGeneratorRequiredTelemetryProperties =\n\t/** True to generate the full tree with no handle reuse optimizations */\n\t| \"fullTree\"\n\t/** Time since we last attempted to generate a summary */\n\t| \"timeSinceLastAttempt\"\n\t/** Time since we last successfully generated a summary */\n\t| \"timeSinceLastSummary\";\n\ntype SummaryGeneratorOptionalTelemetryProperties =\n\t/** Reference sequence number as of the generate summary attempt. */\n\t| \"referenceSequenceNumber\"\n\t/** minimum sequence number (at the reference sequence number) */\n\t| \"minimumSequenceNumber\"\n\t/** Delta between the current reference sequence number and the reference sequence number of the last attempt */\n\t| \"opsSinceLastAttempt\"\n\t/** Delta between the current reference sequence number and the reference sequence number of the last summary */\n\t| \"opsSinceLastSummary\"\n\t/**\n\t * Delta in sum of op sizes between the current reference sequence number and the reference\n\t * sequence number of the last summary\n\t */\n\t| \"opsSizesSinceLastSummary\"\n\t/** Delta between the number of non-runtime ops since the last summary */\n\t| \"nonRuntimeOpsSinceLastSummary\"\n\t/** Delta between the number of runtime ops since the last summary */\n\t| \"runtimeOpsSinceLastSummary\"\n\t/** Wether or not this instance contains adjusted metrics due to missing op data */\n\t| \"hasMissingOpData\"\n\t/** Time it took to generate the summary tree and stats. */\n\t| \"generateDuration\"\n\t/** The handle returned by storage pointing to the uploaded summary tree. */\n\t| \"handle\"\n\t/** Time it took to upload the summary tree to storage. */\n\t| \"uploadDuration\"\n\t/** The client sequence number of the summarize op submitted for the summary. */\n\t| \"clientSequenceNumber\"\n\t/** Time it took for this summary to be acked after it was generated */\n\t| \"ackWaitDuration\"\n\t/** Reference sequence number of the ack/nack message */\n\t| \"ackNackSequenceNumber\"\n\t/** Actual sequence number of the summary op proposal. */\n\t| \"summarySequenceNumber\"\n\t/** Optional Retry-After time in seconds. If specified, the client should wait this many seconds before retrying. */\n\t| \"nackRetryAfter\"\n\t/** The stage at which the submit summary method failed at. This can help determine what type of failure we have */\n\t| \"stage\";\n\nexport type SummaryGeneratorTelemetry = Pick<\n\tITelemetryProperties,\n\tSummaryGeneratorRequiredTelemetryProperties\n> &\n\tPartial<Pick<ITelemetryProperties, SummaryGeneratorOptionalTelemetryProperties>>;\n\nexport interface ISummarizeRunnerTelemetry extends ITelemetryLoggerPropertyBag {\n\t/** Number of times the summarizer run. */\n\tsummarizeCount: () => number;\n\t/** Number of successful attempts to summarize. */\n\tsummarizerSuccessfulAttempts: () => number;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"summarizerTypes.mjs","sourceRoot":"","sources":["../../src/summary/summarizerTypes.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IEvent, IEventProvider, ITelemetryProperties } from \"@fluidframework/core-interfaces\";\nimport { ITelemetryLoggerExt, ITelemetryLoggerPropertyBag } from \"@fluidframework/telemetry-utils\";\nimport { ContainerWarning, IDeltaManager } from \"@fluidframework/container-definitions\";\nimport {\n\tISequencedDocumentMessage,\n\tISummaryTree,\n\tIDocumentMessage,\n} from \"@fluidframework/protocol-definitions\";\nimport { ISummaryStats } from \"@fluidframework/runtime-definitions\";\nimport { ISummaryConfigurationHeuristics } from \"../containerRuntime\";\nimport { ISummaryAckMessage, ISummaryNackMessage, ISummaryOpMessage } from \"./summaryCollection\";\nimport { SummarizeReason } from \"./summaryGenerator\";\n\n/**\n * Similar to AbortSignal, but using promise instead of events\n * @param T - cancellation reason type\n * @alpha\n */\nexport interface ICancellationToken<T> {\n\t/** Tells if this cancellable token is cancelled */\n\treadonly cancelled: boolean;\n\t/**\n\t * Promise that gets fulfilled when this cancellable token is cancelled\n\t * @returns reason of cancellation\n\t */\n\treadonly waitCancelled: Promise<T>;\n}\n\n/**\n * Similar to AbortSignal, but using promise instead of events\n * @alpha\n */\nexport type ISummaryCancellationToken = ICancellationToken<SummarizerStopReason>;\n\n/**\n * Data required to update internal tracking state after receiving a Summary Ack.\n * @alpha\n */\nexport interface IRefreshSummaryAckOptions {\n\t/** Handle from the ack's summary op. */\n\treadonly proposalHandle: string | undefined;\n\t/** Handle from the summary ack just received */\n\treadonly ackHandle: string;\n\t/** Reference sequence number from the ack's summary op */\n\treadonly summaryRefSeq: number;\n\t/** Telemetry logger to which telemetry events will be forwarded. */\n\treadonly summaryLogger: ITelemetryLoggerExt;\n}\n\n/**\n * @alpha\n */\nexport interface ISummarizerInternalsProvider {\n\t/** Encapsulates the work to walk the internals of the running container to generate a summary */\n\tsubmitSummary(options: ISubmitSummaryOptions): Promise<SubmitSummaryResult>;\n\n\t/** Callback whenever a new SummaryAck is received, to update internal tracking state */\n\trefreshLatestSummaryAck(options: IRefreshSummaryAckOptions): Promise<void>;\n}\n\n/**\n * @deprecated Options that control the behavior of a running summarizer.\n * @public\n * */\nexport interface ISummarizerOptions {\n\t/**\n\t * Set to true to disable the default heuristics from running; false by default.\n\t * This affects only the heuristics around when a summarizer should\n\t * submit summaries. So when it is disabled, summarizer clients should\n\t * not be expected to summarize unless an on-demand summary is requested.\n\t */\n\tdisableHeuristics: boolean;\n}\n\n/**\n * @internal\n */\nexport interface ISummarizingWarning extends ContainerWarning {\n\treadonly errorType: \"summarizingError\";\n\treadonly logged: boolean;\n}\n\n/**\n * @alpha\n */\nexport interface IConnectableRuntime {\n\treadonly disposed: boolean;\n\treadonly connected: boolean;\n\treadonly clientId: string | undefined;\n\tonce(event: \"connected\" | \"disconnected\" | \"dispose\", listener: () => void): this;\n}\n\n/**\n * @alpha\n */\nexport interface ISummarizerRuntime extends IConnectableRuntime {\n\treadonly logger: ITelemetryLoggerExt;\n\t/** clientId of parent (non-summarizing) container that owns summarizer container */\n\treadonly summarizerClientId: string | undefined;\n\treadonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;\n\tdisposeFn(): void;\n\tcloseFn(): void;\n\ton(\n\t\tevent: \"op\",\n\t\tlistener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void,\n\t): this;\n\toff(\n\t\tevent: \"op\",\n\t\tlistener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void,\n\t): this;\n}\n\n/**\n * Options affecting summarize behavior.\n * @alpha\n */\nexport interface ISummarizeOptions {\n\t/** True to generate the full tree with no handle reuse optimizations; defaults to false */\n\treadonly fullTree?: boolean;\n\t/**\n\t * True to ask the server what the latest summary is first; defaults to false\n\t *\n\t * @deprecated Summarize will not refresh latest snapshot state anymore. Instead it updates the cache and closes.\n\t * It's expected a new summarizer client will be created, likely by the same parent.\n\t */\n\treadonly refreshLatestAck?: boolean;\n}\n\n/**\n * @alpha\n */\nexport interface ISubmitSummaryOptions extends ISummarizeOptions {\n\t/** Logger to use for correlated summary events */\n\treadonly summaryLogger: ITelemetryLoggerExt;\n\t/** Tells when summary process should be cancelled */\n\treadonly cancellationToken: ISummaryCancellationToken;\n\t/** Summarization may be attempted multiple times. This tells whether this is the final summarization attempt. */\n\treadonly finalAttempt?: boolean;\n}\n\n/**\n * @alpha\n */\nexport interface IOnDemandSummarizeOptions extends ISummarizeOptions {\n\t/** Reason for generating summary. */\n\treadonly reason: string;\n\t/** In case of a failure, will attempt to retry based on if the failure is retriable. */\n\treadonly retryOnFailure?: boolean;\n}\n\n/**\n * Options to use when enqueueing a summarize attempt.\n * @alpha\n */\nexport interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {\n\t/** If specified, The summarize attempt will not occur until after this sequence number. */\n\treadonly afterSequenceNumber?: number;\n\n\t/**\n\t * True to override the existing enqueued summarize attempt if there is one.\n\t * This will guarantee that this attempt gets enqueued. If override is false,\n\t * than an existing enqueued summarize attempt will block a new one from being\n\t * enqueued. There can only be one enqueued at a time. Defaults to false.\n\t */\n\treadonly override?: boolean;\n}\n\n/**\n * In addition to the normal summary tree + stats, this contains additional stats\n * only relevant at the root of the tree.\n * @alpha\n */\nexport interface IGeneratedSummaryStats extends ISummaryStats {\n\t/** The total number of data stores in the container. */\n\treadonly dataStoreCount: number;\n\t/** The number of data stores that were summarized in this summary. */\n\treadonly summarizedDataStoreCount: number;\n\t/** The number of data stores whose GC reference state was updated in this summary. */\n\treadonly gcStateUpdatedDataStoreCount?: number;\n\t/** The size of the gc blobs in this summary. */\n\treadonly gcTotalBlobsSize?: number;\n\t/** The number of gc blobs in this summary. */\n\treadonly gcBlobNodeCount?: number;\n\t/** The summary number for a container's summary. Incremented on summaries throughout its lifetime. */\n\treadonly summaryNumber: number;\n}\n\n/**\n * Base results for all submitSummary attempts.\n * @alpha\n */\nexport interface IBaseSummarizeResult {\n\treadonly stage: \"base\";\n\t/** Error object related to failed summarize attempt. */\n\treadonly error: any;\n\t/** Reference sequence number as of the generate summary attempt. */\n\treadonly referenceSequenceNumber: number;\n\treadonly minimumSequenceNumber: number;\n}\n\n/**\n * Results of submitSummary after generating the summary tree.\n * @alpha\n */\nexport interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, \"stage\"> {\n\treadonly stage: \"generate\";\n\t/** Generated summary tree. */\n\treadonly summaryTree: ISummaryTree;\n\t/** Stats for generated summary tree. */\n\treadonly summaryStats: IGeneratedSummaryStats;\n\t/** Time it took to generate the summary tree and stats. */\n\treadonly generateDuration: number;\n\t/** True if the full tree regeneration with no handle reuse optimizations was forced. */\n\treadonly forcedFullTree: boolean;\n}\n\n/**\n * Results of submitSummary after uploading the tree to storage.\n * @alpha\n */\nexport interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, \"stage\"> {\n\treadonly stage: \"upload\";\n\t/** The handle returned by storage pointing to the uploaded summary tree. */\n\treadonly handle: string;\n\t/** Time it took to upload the summary tree to storage. */\n\treadonly uploadDuration: number;\n}\n\n/**\n * Results of submitSummary after submitting the summarize op.\n * @alpha\n */\nexport interface ISubmitSummaryOpResult extends Omit<IUploadSummaryResult, \"stage\" | \"error\"> {\n\treadonly stage: \"submit\";\n\t/** The client sequence number of the summarize op submitted for the summary. */\n\treadonly clientSequenceNumber: number;\n\t/** Time it took to submit the summarize op to the broadcasting service. */\n\treadonly submitOpDuration: number;\n}\n\n/**\n * Strict type representing result of a submitSummary attempt.\n * The result consists of 4 possible stages, each with its own data.\n * The data is cumulative, so each stage will contain the data from the previous stages.\n * If the final \"submitted\" stage is not reached, the result may contain the error object.\n *\n * Stages:\n *\n * 1. \"base\" - stopped before the summary tree was even generated, and the result only contains the base data\n *\n * 2. \"generate\" - the summary tree was generated, and the result will contain that tree + stats\n *\n * 3. \"upload\" - the summary was uploaded to storage, and the result contains the server-provided handle\n *\n * 4. \"submit\" - the summarize op was submitted, and the result contains the op client sequence number.\n * @alpha\n */\nexport type SubmitSummaryResult =\n\t| IBaseSummarizeResult\n\t| IGenerateSummaryTreeResult\n\t| IUploadSummaryResult\n\t| ISubmitSummaryOpResult;\n\n/**\n * The stages of Summarize, used to describe how far progress succeeded in case of a failure at a later stage.\n * @alpha\n */\nexport type SummaryStage = SubmitSummaryResult[\"stage\"] | \"unknown\";\n\n/**\n * Type for summarization failures that are retriable.\n * @alpha\n */\nexport interface IRetriableFailureResult {\n\treadonly retryAfterSeconds?: number;\n}\n\n/**\n * The data in summarizer result when submit summary stage fails.\n * @alpha\n */\nexport interface SubmitSummaryFailureData extends IRetriableFailureResult {\n\tstage: SummaryStage;\n}\n\n/**\n * @alpha\n */\nexport interface IBroadcastSummaryResult {\n\treadonly summarizeOp: ISummaryOpMessage;\n\treadonly broadcastDuration: number;\n}\n\n/**\n * @alpha\n */\nexport interface IAckSummaryResult {\n\treadonly summaryAckOp: ISummaryAckMessage;\n\treadonly ackNackDuration: number;\n}\n\n/**\n * @alpha\n */\nexport interface INackSummaryResult extends IRetriableFailureResult {\n\treadonly summaryNackOp: ISummaryNackMessage;\n\treadonly ackNackDuration: number;\n}\n\n/**\n * @alpha\n */\nexport type SummarizeResultPart<TSuccess, TFailure = undefined> =\n\t| {\n\t\t\tsuccess: true;\n\t\t\tdata: TSuccess;\n\t }\n\t| {\n\t\t\tsuccess: false;\n\t\t\tdata: TFailure | undefined;\n\t\t\tmessage: string;\n\t\t\terror: any;\n\t };\n\n/**\n * @alpha\n */\nexport interface ISummarizeResults {\n\t/** Resolves when we generate, upload, and submit the summary. */\n\treadonly summarySubmitted: Promise<\n\t\tSummarizeResultPart<SubmitSummaryResult, SubmitSummaryFailureData>\n\t>;\n\t/** Resolves when we observe our summarize op broadcast. */\n\treadonly summaryOpBroadcasted: Promise<SummarizeResultPart<IBroadcastSummaryResult>>;\n\t/** Resolves when we receive a summaryAck or summaryNack. */\n\treadonly receivedSummaryAckOrNack: Promise<\n\t\tSummarizeResultPart<IAckSummaryResult, INackSummaryResult>\n\t>;\n}\n\n/**\n * @alpha\n */\nexport type EnqueueSummarizeResult =\n\t| (ISummarizeResults & {\n\t\t\t/**\n\t\t\t * Indicates that another summarize attempt is not already enqueued,\n\t\t\t * and this attempt has been enqueued.\n\t\t\t */\n\t\t\treadonly alreadyEnqueued?: undefined;\n\t })\n\t| (ISummarizeResults & {\n\t\t\t/** Indicates that another summarize attempt was already enqueued. */\n\t\t\treadonly alreadyEnqueued: true;\n\t\t\t/**\n\t\t\t * Indicates that the other enqueued summarize attempt was abandoned,\n\t\t\t * and this attempt has been enqueued enqueued.\n\t\t\t */\n\t\t\treadonly overridden: true;\n\t })\n\t| {\n\t\t\t/** Indicates that another summarize attempt was already enqueued. */\n\t\t\treadonly alreadyEnqueued: true;\n\t\t\t/**\n\t\t\t * Indicates that the other enqueued summarize attempt remains enqueued,\n\t\t\t * and this attempt has not been enqueued.\n\t\t\t */\n\t\t\treadonly overridden?: undefined;\n\t };\n\n/**\n * @alpha\n */\nexport type SummarizerStopReason =\n\t/** Summarizer client failed to summarize in all 3 consecutive attempts. */\n\t| \"failToSummarize\"\n\t/** Parent client reported that it is no longer connected. */\n\t| \"parentNotConnected\"\n\t/**\n\t * Parent client reported that it is no longer elected the summarizer.\n\t * This is the normal flow; a disconnect will always trigger the parent\n\t * client to no longer be elected as responsible for summaries. Then it\n\t * tries to stop its spawned summarizer client.\n\t */\n\t| \"notElectedParent\"\n\t/**\n\t * We are not already running the summarizer and we are not the current elected client id.\n\t */\n\t| \"notElectedClient\"\n\t/** Summarizer client was disconnected */\n\t| \"summarizerClientDisconnected\"\n\t/** running summarizer threw an exception */\n\t| \"summarizerException\"\n\t/**\n\t * The previous summary state on the summarizer is not the most recently acked summary. this also happens when the\n\t * first submitSummary attempt fails for any reason and there's a 2nd summary attempt without an ack\n\t */\n\t| \"latestSummaryStateStale\";\n\n/**\n * @alpha\n */\nexport interface ISummarizeEventProps {\n\tresult: \"success\" | \"failure\" | \"canceled\";\n\tcurrentAttempt: number;\n\tmaxAttempts: number;\n\terror?: any;\n}\n\n/**\n * @alpha\n */\nexport interface ISummarizerEvents extends IEvent {\n\t(event: \"summarize\", listener: (props: ISummarizeEventProps) => void);\n}\n\n/**\n * @alpha\n */\nexport interface ISummarizer extends IEventProvider<ISummarizerEvents> {\n\t/**\n\t * Allows {@link ISummarizer} to be used with our {@link @fluidframework/core-interfaces#FluidObject} pattern.\n\t */\n\treadonly ISummarizer?: ISummarizer;\n\n\t/*\n\t * Asks summarizer to move to exit.\n\t * Summarizer will finish current processes, which may take a while.\n\t * For example, summarizer may complete last summary before exiting.\n\t */\n\tstop(reason: SummarizerStopReason): void;\n\n\t/* Closes summarizer. Any pending processes (summary in flight) are abandoned. */\n\tclose(): void;\n\n\trun(onBehalfOf: string, disableHeuristics?: boolean): Promise<SummarizerStopReason>;\n\n\t/**\n\t * Attempts to generate a summary on demand. If already running, takes no action.\n\t * @param options - options controlling the summarize attempt\n\t * @returns an alreadyRunning promise if a summarize attempt is already in progress,\n\t * which will resolve when the current attempt completes. At that point caller can\n\t * decide to try again or not. Otherwise, it will return an object containing promises\n\t * that resolve as the summarize attempt progresses. They will resolve with success\n\t * false if a failure is encountered.\n\t */\n\tsummarizeOnDemand(options: IOnDemandSummarizeOptions): ISummarizeResults;\n\t/**\n\t * Enqueue an attempt to summarize after the specified sequence number.\n\t * If afterSequenceNumber is provided, the summarize attempt is \"enqueued\"\n\t * to run once an eligible op comes in with sequenceNumber \\>= afterSequenceNumber.\n\t * @param options - options controlling the summarize attempt\n\t * @returns an object containing an alreadyEnqueued flag to indicate if another\n\t * summarize attempt has already been enqueued. It also may contain an overridden flag\n\t * when alreadyEnqueued is true, that indicates whether this attempt forced the\n\t * previous attempt to abort. If this attempt becomes enqueued, it returns an object\n\t * containing promises that resolve as the summarize attempt progresses. They will\n\t * resolve with success false if a failure is encountered.\n\t */\n\tenqueueSummarize(options: IEnqueueSummarizeOptions): EnqueueSummarizeResult;\n}\n\n/** Data about an attempt to summarize used for heuristics. */\nexport interface ISummarizeAttempt {\n\t/** Reference sequence number when summary was generated or attempted */\n\treadonly refSequenceNumber: number;\n\n\t/** Time of summary attempt after it was sent or attempted */\n\treadonly summaryTime: number;\n\n\t/** Sequence number of summary op */\n\tsummarySequenceNumber?: number;\n}\n\n/** Data relevant for summary heuristics. */\nexport interface ISummarizeHeuristicData {\n\t/** Latest received op sequence number */\n\tlastOpSequenceNumber: number;\n\n\t/** Most recent summary attempt from this client */\n\treadonly lastAttempt: ISummarizeAttempt;\n\n\t/** Most recent summary that received an ack */\n\treadonly lastSuccessfulSummary: Readonly<ISummarizeAttempt>;\n\n\t/** Number of runtime ops since last summary */\n\tnumRuntimeOps: number;\n\n\t/** Number of non-runtime ops since last summary */\n\tnumNonRuntimeOps: number;\n\n\t/** Cumulative size in bytes of all the ops since the last summary */\n\ttotalOpsSize: number;\n\n\t/** Wether or not this instance contains adjusted metrics due to missing op data */\n\thasMissingOpData: boolean;\n\n\t/**\n\t * Updates lastAttempt and lastSuccessfulAttempt based on the last summary.\n\t * @param lastSummary - last ack summary\n\t */\n\tupdateWithLastSummaryAckInfo(lastSummary: ISummarizeAttempt): void;\n\n\t/**\n\t * Records a summary attempt. If the attempt was successfully sent,\n\t * provide the reference sequence number, otherwise it will be set\n\t * to the last seen op sequence number.\n\t * @param referenceSequenceNumber - reference sequence number of sent summary\n\t */\n\trecordAttempt(referenceSequenceNumber?: number): void;\n\n\t/** Mark that the last sent summary attempt has received an ack */\n\tmarkLastAttemptAsSuccessful(): void;\n\n\topsSinceLastSummary: number;\n}\n\n/** Responsible for running heuristics determining when to summarize. */\nexport interface ISummarizeHeuristicRunner {\n\t/** Start specific heuristic trackers (ex: idle timer) */\n\tstart(): void;\n\n\t/** Runs the heuristics to determine if it should try to summarize */\n\trun(): void;\n\n\t/** Runs a different heuristic to check if it should summarize before closing */\n\tshouldRunLastSummary(): boolean;\n\n\t/** Disposes of resources */\n\tdispose(): void;\n}\n\ntype ISummarizeTelemetryRequiredProperties =\n\t/** Reason code for attempting to summarize */\n\t\"summarizeReason\";\n\ntype ISummarizeTelemetryOptionalProperties =\n\t/** Number of attempts within the last time window, used for calculating the throttle delay. */\n\t| \"summaryAttempts\"\n\t/** Number of attempts within the current phase (currently capped at 2 ) */\n\t| \"summaryAttemptsPerPhase\"\n\t/** One-based count of phases we've attempted (used to index into an array of ISummarizeOptions */\n\t| \"summaryAttemptPhase\"\n\t/** Summarization may be attempted multiple times. This tells whether this is the final summarization attempt */\n\t| \"finalAttempt\"\n\t| keyof ISummarizeOptions;\n\nexport type ISummarizeTelemetryProperties = Pick<\n\tITelemetryProperties,\n\tISummarizeTelemetryRequiredProperties\n> &\n\tPartial<Pick<ITelemetryProperties, ISummarizeTelemetryOptionalProperties>>;\n\n/** Strategy used to heuristically determine when we should run a summary */\nexport interface ISummaryHeuristicStrategy {\n\t/** Summarize reason for this summarize heuristic strategy (ex: \"maxTime\") */\n\tsummarizeReason: Readonly<SummarizeReason>;\n\n\t/**\n\t * Determines if this strategy's summarize criteria been met\n\t * @param configuration - summary configuration we are to check against\n\t * @param heuristicData - heuristic data used to confirm conditions are met\n\t */\n\tshouldRunSummary(\n\t\tconfiguration: ISummaryConfigurationHeuristics,\n\t\theuristicData: ISummarizeHeuristicData,\n\t): boolean;\n}\n\ntype SummaryGeneratorRequiredTelemetryProperties =\n\t/** True to generate the full tree with no handle reuse optimizations */\n\t| \"fullTree\"\n\t/** Time since we last attempted to generate a summary */\n\t| \"timeSinceLastAttempt\"\n\t/** Time since we last successfully generated a summary */\n\t| \"timeSinceLastSummary\";\n\ntype SummaryGeneratorOptionalTelemetryProperties =\n\t/** Reference sequence number as of the generate summary attempt. */\n\t| \"referenceSequenceNumber\"\n\t/** minimum sequence number (at the reference sequence number) */\n\t| \"minimumSequenceNumber\"\n\t/** Delta between the current reference sequence number and the reference sequence number of the last attempt */\n\t| \"opsSinceLastAttempt\"\n\t/** Delta between the current reference sequence number and the reference sequence number of the last summary */\n\t| \"opsSinceLastSummary\"\n\t/**\n\t * Delta in sum of op sizes between the current reference sequence number and the reference\n\t * sequence number of the last summary\n\t */\n\t| \"opsSizesSinceLastSummary\"\n\t/** Delta between the number of non-runtime ops since the last summary */\n\t| \"nonRuntimeOpsSinceLastSummary\"\n\t/** Delta between the number of runtime ops since the last summary */\n\t| \"runtimeOpsSinceLastSummary\"\n\t/** Wether or not this instance contains adjusted metrics due to missing op data */\n\t| \"hasMissingOpData\"\n\t/** Time it took to generate the summary tree and stats. */\n\t| \"generateDuration\"\n\t/** The handle returned by storage pointing to the uploaded summary tree. */\n\t| \"handle\"\n\t/** Time it took to upload the summary tree to storage. */\n\t| \"uploadDuration\"\n\t/** The client sequence number of the summarize op submitted for the summary. */\n\t| \"clientSequenceNumber\"\n\t/** Time it took for this summary to be acked after it was generated */\n\t| \"ackWaitDuration\"\n\t/** Reference sequence number of the ack/nack message */\n\t| \"ackNackSequenceNumber\"\n\t/** Actual sequence number of the summary op proposal. */\n\t| \"summarySequenceNumber\"\n\t/** Optional Retry-After time in seconds. If specified, the client should wait this many seconds before retrying. */\n\t| \"nackRetryAfter\"\n\t/** The stage at which the submit summary method failed at. This can help determine what type of failure we have */\n\t| \"stage\";\n\nexport type SummaryGeneratorTelemetry = Pick<\n\tITelemetryProperties,\n\tSummaryGeneratorRequiredTelemetryProperties\n> &\n\tPartial<Pick<ITelemetryProperties, SummaryGeneratorOptionalTelemetryProperties>>;\n\nexport interface ISummarizeRunnerTelemetry extends ITelemetryLoggerPropertyBag {\n\t/** Number of times the summarizer run. */\n\tsummarizeCount: () => number;\n\t/** Number of successful attempts to summarize. */\n\tsummarizerSuccessfulAttempts: () => number;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summaryCollection.d.
|
|
1
|
+
{"version":3,"file":"summaryCollection.d.mts","sourceRoot":"","sources":["../../src/summary/summaryCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -131,4 +131,4 @@ export declare const dataStoreAttributesBlobName = ".component";
|
|
|
131
131
|
export declare function wrapSummaryInChannelsTree(summarizeResult: ISummaryTreeWithStats): void;
|
|
132
132
|
export declare function getFluidDataStoreAttributes(storage: IDocumentStorageService, snapshot: ISnapshotTree): Promise<ReadFluidDataStoreAttributes>;
|
|
133
133
|
export {};
|
|
134
|
-
//# sourceMappingURL=summaryFormat.d.
|
|
134
|
+
//# sourceMappingURL=summaryFormat.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summaryFormat.d.
|
|
1
|
+
{"version":3,"file":"summaryFormat.d.mts","sourceRoot":"","sources":["../../src/summary/summaryFormat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summaryGenerator.d.
|
|
1
|
+
{"version":3,"file":"summaryGenerator.d.mts","sourceRoot":"","sources":["../../src/summary/summaryGenerator.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,4 +89,4 @@ export declare class SummaryManager extends TypedEventEmitter<ISummarizerEvents>
|
|
|
89
89
|
enqueueSummarize(options: IEnqueueSummarizeOptions): EnqueueSummarizeResult;
|
|
90
90
|
dispose(): void;
|
|
91
91
|
}
|
|
92
|
-
//# sourceMappingURL=summaryManager.d.
|
|
92
|
+
//# sourceMappingURL=summaryManager.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"summaryManager.d.
|
|
1
|
+
{"version":3,"file":"summaryManager.d.mts","sourceRoot":"","sources":["../../src/summary/summaryManager.ts"],"names":[],"mappings":"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"}
|
package/lib/throttler.d.mts
CHANGED
|
@@ -104,4 +104,4 @@ export declare const formLinearFnWithAttemptOffset: (attemptOffset: number, { co
|
|
|
104
104
|
coefficient?: number | undefined;
|
|
105
105
|
offset?: number | undefined;
|
|
106
106
|
}) => (numAttempts: number) => number;
|
|
107
|
-
//# sourceMappingURL=throttler.d.
|
|
107
|
+
//# sourceMappingURL=throttler.d.mts.map
|
package/lib/throttler.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"throttler.d.
|
|
1
|
+
{"version":3,"file":"throttler.d.mts","sourceRoot":"","sources":["../src/throttler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,UAAU;IAC1B;;;OAGG;IACH,QAAQ,IAAI,MAAM,CAAC;IAEnB;;;OAGG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,qDAAqD;IACrD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,6CAA6C;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;CAClD;AAED;;;GAGG;AACH,qBAAa,SAAU,YAAW,UAAU;IAwB1C,qDAAqD;aACrC,aAAa,EAAE,MAAM;IACrC,6CAA6C;aAC7B,UAAU,EAAE,MAAM;IAClC;;;;OAIG;aACa,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM;IAhCzD,OAAO,CAAC,UAAU,CAAgB;IAElC,IAAW,WAAW,WAErB;IAED;;;OAGG;IACI,WAAW,IAAI,SAAS,MAAM,EAAE;IAIvC;;;OAGG;IACH,IAAW,iBAAiB,uBAE3B;;IAGA,qDAAqD;IACrC,aAAa,EAAE,MAAM;IACrC,6CAA6C;IAC7B,UAAU,EAAE,MAAM;IAClC;;;;OAIG;IACa,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM;IAGlD,QAAQ;CAiCf;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB;;;;;MAMpB,UAAU,CAAC,SAAS,CAO3B,CAAC;AAEJ,qDAAqD;AACrD,eAAO,MAAM,kCAAkC,kBAC/B,MAAM;;;;;oBA1GW,MAAM,KAAK,MAuHzC,CAAC;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;;MACgB,UAAU,CAAC,SAAS,CAEZ,CAAC;AAElD,iDAAiD;AACjD,eAAO,MAAM,6BAA6B,kBAC1B,MAAM;;;oBAvIW,MAAM,KAAK,MA6IzC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/container-runtime",
|
|
3
|
-
"version": "2.0.0-dev-rc.1.0.0.
|
|
3
|
+
"version": "2.0.0-dev-rc.1.0.0.228517",
|
|
4
4
|
"description": "Fluid container runtime",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"exports": {
|
|
15
15
|
".": {
|
|
16
16
|
"types": "./dist/index.d.ts",
|
|
17
|
-
"default": "./dist/index.
|
|
17
|
+
"default": "./dist/index.js"
|
|
18
18
|
},
|
|
19
19
|
"./test/containerRuntime": {
|
|
20
20
|
"import": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
},
|
|
24
24
|
"require": {
|
|
25
25
|
"types": "./dist/containerRuntime.d.ts",
|
|
26
|
-
"default": "./dist/containerRuntime.
|
|
26
|
+
"default": "./dist/containerRuntime.js"
|
|
27
27
|
}
|
|
28
28
|
},
|
|
29
29
|
"./test/deltaScheduler": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
},
|
|
34
34
|
"require": {
|
|
35
35
|
"types": "./dist/deltaScheduler.d.ts",
|
|
36
|
-
"default": "./dist/deltaScheduler.
|
|
36
|
+
"default": "./dist/deltaScheduler.js"
|
|
37
37
|
}
|
|
38
38
|
},
|
|
39
39
|
"./test/scheduleManager": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
},
|
|
44
44
|
"require": {
|
|
45
45
|
"types": "./dist/scheduleManager.d.ts",
|
|
46
|
-
"default": "./dist/scheduleManager.
|
|
46
|
+
"default": "./dist/scheduleManager.js"
|
|
47
47
|
}
|
|
48
48
|
},
|
|
49
49
|
"./test/blobManager": {
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
},
|
|
54
54
|
"require": {
|
|
55
55
|
"types": "./dist/blobManager.d.ts",
|
|
56
|
-
"default": "./dist/blobManager.
|
|
56
|
+
"default": "./dist/blobManager.js"
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
"./test/summary": {
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
},
|
|
64
64
|
"require": {
|
|
65
65
|
"types": "./dist/summary/index.d.ts",
|
|
66
|
-
"default": "./dist/summary/index.
|
|
66
|
+
"default": "./dist/summary/index.js"
|
|
67
67
|
}
|
|
68
68
|
},
|
|
69
69
|
"./test/gc": {
|
|
@@ -73,11 +73,51 @@
|
|
|
73
73
|
},
|
|
74
74
|
"require": {
|
|
75
75
|
"types": "./gc/index.d.ts",
|
|
76
|
-
"default": "./gc/index.
|
|
76
|
+
"default": "./gc/index.js"
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"./alpha": {
|
|
80
|
+
"import": {
|
|
81
|
+
"types": "./lib/container-runtime-alpha.d.mts",
|
|
82
|
+
"default": "./lib/index.mjs"
|
|
83
|
+
},
|
|
84
|
+
"require": {
|
|
85
|
+
"types": "./dist/container-runtime-alpha.d.ts",
|
|
86
|
+
"default": "./dist/index.js"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"./beta": {
|
|
90
|
+
"import": {
|
|
91
|
+
"types": "./lib/container-runtime-beta.d.mts",
|
|
92
|
+
"default": "./lib/index.mjs"
|
|
93
|
+
},
|
|
94
|
+
"require": {
|
|
95
|
+
"types": "./dist/container-runtime-beta.d.ts",
|
|
96
|
+
"default": "./dist/index.js"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"./internal": {
|
|
100
|
+
"import": {
|
|
101
|
+
"types": "./lib/index.d.mts",
|
|
102
|
+
"default": "./lib/index.mjs"
|
|
103
|
+
},
|
|
104
|
+
"require": {
|
|
105
|
+
"types": "./dist/index.d.ts",
|
|
106
|
+
"default": "./dist/index.js"
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"./public": {
|
|
110
|
+
"import": {
|
|
111
|
+
"types": "./lib/container-runtime-public.d.mts",
|
|
112
|
+
"default": "./lib/index.mjs"
|
|
113
|
+
},
|
|
114
|
+
"require": {
|
|
115
|
+
"types": "./dist/container-runtime-public.d.ts",
|
|
116
|
+
"default": "./dist/index.js"
|
|
77
117
|
}
|
|
78
118
|
}
|
|
79
119
|
},
|
|
80
|
-
"main": "dist/index.
|
|
120
|
+
"main": "dist/index.js",
|
|
81
121
|
"module": "lib/index.mjs",
|
|
82
122
|
"types": "dist/index.d.ts",
|
|
83
123
|
"c8": {
|
|
@@ -101,43 +141,43 @@
|
|
|
101
141
|
"temp-directory": "nyc/.nyc_output"
|
|
102
142
|
},
|
|
103
143
|
"dependencies": {
|
|
104
|
-
"@fluid-internal/client-utils": "2.0.0-dev-rc.1.0.0.
|
|
105
|
-
"@fluidframework/container-definitions": "2.0.0-dev-rc.1.0.0.
|
|
106
|
-
"@fluidframework/container-runtime-definitions": "2.0.0-dev-rc.1.0.0.
|
|
107
|
-
"@fluidframework/core-interfaces": "2.0.0-dev-rc.1.0.0.
|
|
108
|
-
"@fluidframework/core-utils": "2.0.0-dev-rc.1.0.0.
|
|
109
|
-
"@fluidframework/datastore": "2.0.0-dev-rc.1.0.0.
|
|
110
|
-
"@fluidframework/driver-definitions": "2.0.0-dev-rc.1.0.0.
|
|
111
|
-
"@fluidframework/driver-utils": "2.0.0-dev-rc.1.0.0.
|
|
112
|
-
"@fluidframework/id-compressor": "2.0.0-dev-rc.1.0.0.
|
|
113
|
-
"@fluidframework/protocol-definitions": "^3.1.0
|
|
114
|
-
"@fluidframework/runtime-definitions": "2.0.0-dev-rc.1.0.0.
|
|
115
|
-
"@fluidframework/runtime-utils": "2.0.0-dev-rc.1.0.0.
|
|
116
|
-
"@fluidframework/telemetry-utils": "2.0.0-dev-rc.1.0.0.
|
|
144
|
+
"@fluid-internal/client-utils": "2.0.0-dev-rc.1.0.0.228517",
|
|
145
|
+
"@fluidframework/container-definitions": "2.0.0-dev-rc.1.0.0.228517",
|
|
146
|
+
"@fluidframework/container-runtime-definitions": "2.0.0-dev-rc.1.0.0.228517",
|
|
147
|
+
"@fluidframework/core-interfaces": "2.0.0-dev-rc.1.0.0.228517",
|
|
148
|
+
"@fluidframework/core-utils": "2.0.0-dev-rc.1.0.0.228517",
|
|
149
|
+
"@fluidframework/datastore": "2.0.0-dev-rc.1.0.0.228517",
|
|
150
|
+
"@fluidframework/driver-definitions": "2.0.0-dev-rc.1.0.0.228517",
|
|
151
|
+
"@fluidframework/driver-utils": "2.0.0-dev-rc.1.0.0.228517",
|
|
152
|
+
"@fluidframework/id-compressor": "2.0.0-dev-rc.1.0.0.228517",
|
|
153
|
+
"@fluidframework/protocol-definitions": "^3.1.0",
|
|
154
|
+
"@fluidframework/runtime-definitions": "2.0.0-dev-rc.1.0.0.228517",
|
|
155
|
+
"@fluidframework/runtime-utils": "2.0.0-dev-rc.1.0.0.228517",
|
|
156
|
+
"@fluidframework/telemetry-utils": "2.0.0-dev-rc.1.0.0.228517",
|
|
157
|
+
"@tylerbu/sorted-btree-es6": "^1.8.0",
|
|
117
158
|
"double-ended-queue": "^2.1.0-0",
|
|
118
159
|
"events": "^3.1.0",
|
|
119
160
|
"lz4js": "^0.2.0",
|
|
120
|
-
"sorted-btree": "^1.8.0",
|
|
121
161
|
"uuid": "^9.0.0"
|
|
122
162
|
},
|
|
123
163
|
"devDependencies": {
|
|
124
164
|
"@arethetypeswrong/cli": "^0.13.3",
|
|
125
|
-
"@fluid-private/stochastic-test-utils": "2.0.0-dev-rc.1.0.0.
|
|
165
|
+
"@fluid-private/stochastic-test-utils": "2.0.0-dev-rc.1.0.0.228517",
|
|
126
166
|
"@fluid-tools/benchmark": "^0.48.0",
|
|
127
|
-
"@fluid-tools/build-cli": "0.29.0
|
|
167
|
+
"@fluid-tools/build-cli": "^0.29.0",
|
|
128
168
|
"@fluidframework/build-common": "^2.0.3",
|
|
129
|
-
"@fluidframework/build-tools": "0.29.0
|
|
130
|
-
"@fluidframework/container-runtime-previous": "npm:@fluidframework/container-runtime@2.0.0-internal.
|
|
131
|
-
"@fluidframework/eslint-config-fluid": "^3.
|
|
132
|
-
"@fluidframework/mocha-test-setup": "2.0.0-dev-rc.1.0.0.
|
|
133
|
-
"@fluidframework/test-runtime-utils": "2.0.0-dev-rc.1.0.0.
|
|
169
|
+
"@fluidframework/build-tools": "^0.29.0",
|
|
170
|
+
"@fluidframework/container-runtime-previous": "npm:@fluidframework/container-runtime@2.0.0-internal.8.0.0",
|
|
171
|
+
"@fluidframework/eslint-config-fluid": "^3.2.0",
|
|
172
|
+
"@fluidframework/mocha-test-setup": "2.0.0-dev-rc.1.0.0.228517",
|
|
173
|
+
"@fluidframework/test-runtime-utils": "2.0.0-dev-rc.1.0.0.228517",
|
|
134
174
|
"@microsoft/api-extractor": "^7.38.3",
|
|
135
175
|
"@types/double-ended-queue": "^2.1.0",
|
|
136
176
|
"@types/events": "^3.0.0",
|
|
137
177
|
"@types/mocha": "^9.1.1",
|
|
138
178
|
"@types/sinon": "^7.0.13",
|
|
139
179
|
"@types/uuid": "^9.0.2",
|
|
140
|
-
"c8": "^
|
|
180
|
+
"c8": "^8.0.1",
|
|
141
181
|
"copyfiles": "^2.4.1",
|
|
142
182
|
"cross-env": "^7.0.3",
|
|
143
183
|
"eslint": "~8.50.0",
|
|
@@ -146,7 +186,6 @@
|
|
|
146
186
|
"mocha-multi-reporters": "^1.5.1",
|
|
147
187
|
"moment": "^2.21.0",
|
|
148
188
|
"prettier": "~3.0.3",
|
|
149
|
-
"renamer": "^4.0.0",
|
|
150
189
|
"rimraf": "^4.4.0",
|
|
151
190
|
"sinon": "^7.4.2",
|
|
152
191
|
"tsc-multi": "^1.1.0",
|
|
@@ -167,13 +206,6 @@
|
|
|
167
206
|
"typeValidation": {
|
|
168
207
|
"broken": {
|
|
169
208
|
"ClassDeclaration_ContainerRuntime": {
|
|
170
|
-
"backCompat": false
|
|
171
|
-
},
|
|
172
|
-
"RemovedFunctionDeclaration_TEST_requestSummarizer": {
|
|
173
|
-
"forwardCompat": false,
|
|
174
|
-
"backCompat": false
|
|
175
|
-
},
|
|
176
|
-
"InterfaceDeclaration_IGCStats": {
|
|
177
209
|
"forwardCompat": false
|
|
178
210
|
}
|
|
179
211
|
}
|
|
@@ -181,15 +213,14 @@
|
|
|
181
213
|
"scripts": {
|
|
182
214
|
"api": "fluid-build . --task api",
|
|
183
215
|
"api-extractor:commonjs": "api-extractor run --local",
|
|
184
|
-
"api-extractor:esnext": "
|
|
216
|
+
"api-extractor:esnext": "api-extractor run --config ./api-extractor-esm.json",
|
|
185
217
|
"build": "fluid-build . --task build",
|
|
186
218
|
"build:commonjs": "fluid-build . --task commonjs",
|
|
187
219
|
"build:compile": "fluid-build . --task compile",
|
|
188
220
|
"build:docs": "fluid-build . --task api",
|
|
189
221
|
"build:esnext": "tsc-multi --config ../../../common/build/build-common/tsc-multi.esm.json",
|
|
190
222
|
"build:genver": "gen-version",
|
|
191
|
-
"build:
|
|
192
|
-
"build:test": "tsc-multi --config ./tsc-multi.test.json",
|
|
223
|
+
"build:test": "tsc --project ./src/test/tsconfig.json",
|
|
193
224
|
"check:are-the-types-wrong": "attw --pack . --entrypoints .",
|
|
194
225
|
"check:release-tags": "api-extractor run --local --config ./api-extractor-lint.json",
|
|
195
226
|
"ci:build:docs": "api-extractor run",
|
|
@@ -206,7 +237,7 @@
|
|
|
206
237
|
"test:coverage": "c8 npm test",
|
|
207
238
|
"test:mocha": "mocha --ignore \"dist/test/types/*\" --recursive dist/test -r node_modules/@fluidframework/mocha-test-setup",
|
|
208
239
|
"test:mocha:verbose": "cross-env FLUID_TEST_VERBOSE=1 npm run test:mocha",
|
|
209
|
-
"tsc": "tsc
|
|
240
|
+
"tsc": "tsc",
|
|
210
241
|
"tsc:watch": "tsc --watch",
|
|
211
242
|
"typetests:gen": "fluid-type-test-generator",
|
|
212
243
|
"typetests:prepare": "flub typetests --dir . --reset --previous --normalize"
|
package/src/blobManager.ts
CHANGED
|
@@ -160,7 +160,9 @@ export class BlobManager extends TypedEventEmitter<IBlobManagerEvents> {
|
|
|
160
160
|
|
|
161
161
|
/**
|
|
162
162
|
* This stores IDs of tombstoned blobs.
|
|
163
|
-
*
|
|
163
|
+
*
|
|
164
|
+
* A Tombstoned object has been unreferenced long enough that GC knows it won't be referenced again.
|
|
165
|
+
* Tombstoned objects are eventually deleted by GC.
|
|
164
166
|
*/
|
|
165
167
|
private readonly tombstonedBlobs: Set<string> = new Set();
|
|
166
168
|
|
|
@@ -770,10 +772,16 @@ export class BlobManager extends TypedEventEmitter<IBlobManagerEvents> {
|
|
|
770
772
|
const maybeUnusedStorageIds: Set<string> = new Set();
|
|
771
773
|
for (const route of blobRoutes) {
|
|
772
774
|
const blobId = getBlobIdFromGCNodePath(route);
|
|
775
|
+
// If the blob hasn't already been deleted, log an error because this should never happen.
|
|
776
|
+
// If the blob has already been deleted, log a telemetry event. This can happen because multiple GC
|
|
777
|
+
// sweep ops can contain the same data store. It would be interesting to track how often this happens.
|
|
778
|
+
const alreadyDeleted = this.isBlobDeleted(route);
|
|
773
779
|
if (!this.redirectTable.has(blobId)) {
|
|
774
|
-
this.mc.logger.
|
|
780
|
+
this.mc.logger.sendTelemetryEvent({
|
|
775
781
|
eventName: "DeletedAttachmentBlobNotFound",
|
|
782
|
+
category: alreadyDeleted ? "generic" : "error",
|
|
776
783
|
blobId,
|
|
784
|
+
details: { alreadyDeleted },
|
|
777
785
|
});
|
|
778
786
|
continue;
|
|
779
787
|
}
|
|
@@ -801,8 +809,11 @@ export class BlobManager extends TypedEventEmitter<IBlobManagerEvents> {
|
|
|
801
809
|
}
|
|
802
810
|
|
|
803
811
|
/**
|
|
804
|
-
* This is called to update blobs whose routes are tombstones.
|
|
805
|
-
*
|
|
812
|
+
* This is called to update blobs whose routes are tombstones.
|
|
813
|
+
*
|
|
814
|
+
* A Tombstoned object has been unreferenced long enough that GC knows it won't be referenced again.
|
|
815
|
+
* Tombstoned objects are eventually deleted by GC.
|
|
816
|
+
*
|
|
806
817
|
* @param tombstonedRoutes - The routes of blob nodes that are tombstones.
|
|
807
818
|
*/
|
|
808
819
|
public updateTombstonedRoutes(tombstonedRoutes: readonly string[]) {
|
package/src/containerRuntime.ts
CHANGED
|
@@ -2268,6 +2268,7 @@ export class ContainerRuntime
|
|
|
2268
2268
|
messageWithContext.message,
|
|
2269
2269
|
local,
|
|
2270
2270
|
localOpMetadata,
|
|
2271
|
+
(from, to) => this.garbageCollector.addedOutboundReference(from, to),
|
|
2271
2272
|
);
|
|
2272
2273
|
break;
|
|
2273
2274
|
case ContainerMessageType.BlobAttach:
|
|
@@ -2679,6 +2680,12 @@ export class ContainerRuntime
|
|
|
2679
2680
|
this.blobManager.setRedirectTable(blobRedirectTable);
|
|
2680
2681
|
}
|
|
2681
2682
|
|
|
2683
|
+
// We can finalize any allocated IDs since we're the only client
|
|
2684
|
+
const idRange = this.idCompressor?.takeNextCreationRange();
|
|
2685
|
+
if (idRange !== undefined) {
|
|
2686
|
+
this.idCompressor?.finalizeCreationRange(idRange);
|
|
2687
|
+
}
|
|
2688
|
+
|
|
2682
2689
|
const summarizeResult = this.dataStores.createSummary(telemetryContext);
|
|
2683
2690
|
// Wrap data store summaries in .channels subtree.
|
|
2684
2691
|
wrapSummaryInChannelsTree(summarizeResult);
|
|
@@ -2860,6 +2867,10 @@ export class ContainerRuntime
|
|
|
2860
2867
|
|
|
2861
2868
|
/**
|
|
2862
2869
|
* This is called to update objects that are tombstones.
|
|
2870
|
+
*
|
|
2871
|
+
* A Tombstoned object has been unreferenced long enough that GC knows it won't be referenced again.
|
|
2872
|
+
* Tombstoned objects are eventually deleted by GC.
|
|
2873
|
+
*
|
|
2863
2874
|
* @param tombstonedRoutes - Data store and attachment blob routes that are tombstones in this Container.
|
|
2864
2875
|
*/
|
|
2865
2876
|
public updateTombstonedRoutes(tombstonedRoutes: readonly string[]) {
|
package/src/dataStoreContext.ts
CHANGED
|
@@ -78,7 +78,7 @@ import {
|
|
|
78
78
|
summarizerClientType,
|
|
79
79
|
} from "./summary";
|
|
80
80
|
import { ContainerRuntime } from "./containerRuntime";
|
|
81
|
-
import { sendGCUnexpectedUsageEvent } from "./gc";
|
|
81
|
+
import { detectOutboundRoutesViaDDSKey, sendGCUnexpectedUsageEvent } from "./gc";
|
|
82
82
|
|
|
83
83
|
function createAttributes(
|
|
84
84
|
pkg: readonly string[],
|
|
@@ -200,8 +200,8 @@ export abstract class FluidDataStoreContext
|
|
|
200
200
|
}
|
|
201
201
|
|
|
202
202
|
/**
|
|
203
|
-
*
|
|
204
|
-
*
|
|
203
|
+
* A Tombstoned object has been unreferenced long enough that GC knows it won't be referenced again.
|
|
204
|
+
* Tombstoned objects are eventually deleted by GC.
|
|
205
205
|
*/
|
|
206
206
|
private _tombstoned = false;
|
|
207
207
|
public get tombstoned() {
|
|
@@ -650,13 +650,20 @@ export abstract class FluidDataStoreContext
|
|
|
650
650
|
}
|
|
651
651
|
|
|
652
652
|
/**
|
|
653
|
+
* @deprecated There is no replacement for this, its functionality is no longer needed.
|
|
654
|
+
* It will be removed in a future release, sometime after 2.0.0-internal.8.0.0
|
|
655
|
+
*
|
|
653
656
|
* Called when a new outbound reference is added to another node. This is used by garbage collection to identify
|
|
654
657
|
* all references added in the system.
|
|
655
658
|
* @param srcHandle - The handle of the node that added the reference.
|
|
656
659
|
* @param outboundHandle - The handle of the outbound node that is referenced.
|
|
657
660
|
*/
|
|
658
661
|
public addedGCOutboundReference(srcHandle: IFluidHandle, outboundHandle: IFluidHandle) {
|
|
659
|
-
this.
|
|
662
|
+
// By default, skip this call since the ContainerRuntime will detect the outbound route directly.
|
|
663
|
+
if (this.mc.config.getBoolean(detectOutboundRoutesViaDDSKey) === true) {
|
|
664
|
+
// Note: The ContainerRuntime code will check this same setting to avoid double counting.
|
|
665
|
+
this._containerRuntime.addedGCOutboundReference(srcHandle, outboundHandle);
|
|
666
|
+
}
|
|
660
667
|
}
|
|
661
668
|
|
|
662
669
|
/**
|