@fluidframework/container-runtime 2.13.0 → 2.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.cjs +71 -5
- package/CHANGELOG.md +84 -0
- package/api-report/container-runtime.legacy.alpha.api.md +38 -232
- package/dist/batchTracker.d.ts +1 -2
- package/dist/batchTracker.d.ts.map +1 -1
- package/dist/batchTracker.js +1 -1
- package/dist/batchTracker.js.map +1 -1
- package/dist/blobManager/blobManager.d.ts +5 -1
- package/dist/blobManager/blobManager.d.ts.map +1 -1
- package/dist/blobManager/blobManager.js +30 -13
- package/dist/blobManager/blobManager.js.map +1 -1
- package/dist/blobManager/blobManagerSnapSum.d.ts +1 -0
- package/dist/blobManager/blobManagerSnapSum.d.ts.map +1 -1
- package/dist/blobManager/blobManagerSnapSum.js +7 -5
- package/dist/blobManager/blobManagerSnapSum.js.map +1 -1
- package/dist/channelCollection.d.ts +23 -12
- package/dist/channelCollection.d.ts.map +1 -1
- package/dist/channelCollection.js +85 -53
- package/dist/channelCollection.js.map +1 -1
- package/dist/connectionTelemetry.d.ts +2 -2
- package/dist/connectionTelemetry.d.ts.map +1 -1
- package/dist/connectionTelemetry.js +10 -6
- package/dist/connectionTelemetry.js.map +1 -1
- package/dist/containerHandleContext.d.ts +1 -1
- package/dist/containerHandleContext.d.ts.map +1 -1
- package/dist/containerHandleContext.js.map +1 -1
- package/dist/containerRuntime.d.ts +87 -94
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +312 -226
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStore.d.ts +7 -3
- package/dist/dataStore.d.ts.map +1 -1
- package/dist/dataStore.js +8 -4
- package/dist/dataStore.js.map +1 -1
- package/dist/dataStoreContext.d.ts +41 -25
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +47 -29
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreContexts.d.ts +6 -2
- package/dist/dataStoreContexts.d.ts.map +1 -1
- package/dist/dataStoreContexts.js +7 -2
- package/dist/dataStoreContexts.js.map +1 -1
- package/dist/dataStoreRegistry.d.ts +1 -1
- package/dist/dataStoreRegistry.d.ts.map +1 -1
- package/dist/dataStoreRegistry.js.map +1 -1
- package/dist/deltaManagerProxies.d.ts +1 -17
- package/dist/deltaManagerProxies.d.ts.map +1 -1
- package/dist/deltaManagerProxies.js.map +1 -1
- package/dist/deltaScheduler.d.ts +9 -6
- package/dist/deltaScheduler.d.ts.map +1 -1
- package/dist/deltaScheduler.js +95 -89
- package/dist/deltaScheduler.js.map +1 -1
- package/dist/gc/garbageCollection.d.ts +21 -7
- package/dist/gc/garbageCollection.d.ts.map +1 -1
- package/dist/gc/garbageCollection.js +48 -19
- package/dist/gc/garbageCollection.js.map +1 -1
- package/dist/gc/gcConfigs.d.ts +11 -0
- package/dist/gc/gcConfigs.d.ts.map +1 -1
- package/dist/gc/gcConfigs.js +5 -2
- package/dist/gc/gcConfigs.js.map +1 -1
- package/dist/gc/gcDefinitions.d.ts +218 -70
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/gcDefinitions.js +40 -13
- package/dist/gc/gcDefinitions.js.map +1 -1
- package/dist/gc/gcHelpers.d.ts +6 -2
- package/dist/gc/gcHelpers.d.ts.map +1 -1
- package/dist/gc/gcHelpers.js +14 -7
- package/dist/gc/gcHelpers.js.map +1 -1
- package/dist/gc/gcReferenceGraphAlgorithm.js.map +1 -1
- package/dist/gc/gcSummaryDefinitions.d.ts +18 -6
- package/dist/gc/gcSummaryDefinitions.d.ts.map +1 -1
- package/dist/gc/gcSummaryDefinitions.js.map +1 -1
- package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/dist/gc/gcSummaryStateTracker.js +2 -1
- package/dist/gc/gcSummaryStateTracker.js.map +1 -1
- package/dist/gc/gcTelemetry.d.ts +33 -11
- package/dist/gc/gcTelemetry.d.ts.map +1 -1
- package/dist/gc/gcTelemetry.js +35 -17
- package/dist/gc/gcTelemetry.js.map +1 -1
- package/dist/gc/gcUnreferencedStateTracker.d.ts +42 -13
- package/dist/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
- package/dist/gc/gcUnreferencedStateTracker.js +27 -9
- package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
- package/dist/gc/index.d.ts +1 -0
- package/dist/gc/index.d.ts.map +1 -1
- package/dist/gc/index.js +3 -1
- package/dist/gc/index.js.map +1 -1
- package/dist/inboundBatchAggregator.d.ts +34 -0
- package/dist/inboundBatchAggregator.d.ts.map +1 -0
- package/dist/inboundBatchAggregator.js +185 -0
- package/dist/inboundBatchAggregator.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/layerCompatState.d.ts +19 -0
- package/dist/layerCompatState.d.ts.map +1 -0
- package/dist/layerCompatState.js +64 -0
- package/dist/layerCompatState.js.map +1 -0
- package/dist/legacy.d.ts +0 -4
- package/dist/messageTypes.d.ts +14 -5
- package/dist/messageTypes.d.ts.map +1 -1
- package/dist/messageTypes.js.map +1 -1
- package/dist/metadata.d.ts +12 -4
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +6 -2
- package/dist/metadata.js.map +1 -1
- package/dist/opLifecycle/batchManager.d.ts +9 -3
- package/dist/opLifecycle/batchManager.d.ts.map +1 -1
- package/dist/opLifecycle/batchManager.js +3 -1
- package/dist/opLifecycle/batchManager.js.map +1 -1
- package/dist/opLifecycle/duplicateBatchDetector.d.ts +9 -3
- package/dist/opLifecycle/duplicateBatchDetector.d.ts.map +1 -1
- package/dist/opLifecycle/duplicateBatchDetector.js +11 -5
- package/dist/opLifecycle/duplicateBatchDetector.js.map +1 -1
- package/dist/opLifecycle/opCompressor.d.ts +3 -2
- package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opCompressor.js +13 -19
- package/dist/opLifecycle/opCompressor.js.map +1 -1
- package/dist/opLifecycle/opDecompressor.d.ts +6 -1
- package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opDecompressor.js +16 -8
- package/dist/opLifecycle/opDecompressor.js.map +1 -1
- package/dist/opLifecycle/opGroupingManager.d.ts +1 -2
- package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/dist/opLifecycle/opGroupingManager.js +9 -6
- package/dist/opLifecycle/opGroupingManager.js.map +1 -1
- package/dist/opLifecycle/opSplitter.d.ts +13 -10
- package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
- package/dist/opLifecycle/opSplitter.js +16 -11
- package/dist/opLifecycle/opSplitter.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +4 -4
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +17 -16
- package/dist/opLifecycle/outbox.js.map +1 -1
- package/dist/opLifecycle/remoteMessageProcessor.d.ts +9 -3
- package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
- package/dist/opLifecycle/remoteMessageProcessor.js +3 -1
- package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
- package/dist/package.json +2 -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 +22 -11
- package/dist/pendingStateManager.d.ts.map +1 -1
- package/dist/pendingStateManager.js +24 -15
- package/dist/pendingStateManager.js.map +1 -1
- package/dist/summary/documentSchema.d.ts +7 -0
- package/dist/summary/documentSchema.d.ts.map +1 -1
- package/dist/summary/documentSchema.js +8 -4
- package/dist/summary/documentSchema.js.map +1 -1
- package/dist/summary/index.d.ts +1 -1
- package/dist/summary/index.d.ts.map +1 -1
- package/dist/summary/index.js.map +1 -1
- package/dist/summary/orderedClientElection.d.ts +94 -31
- package/dist/summary/orderedClientElection.d.ts.map +1 -1
- package/dist/summary/orderedClientElection.js +28 -16
- package/dist/summary/orderedClientElection.js.map +1 -1
- package/dist/summary/runWhileConnectedCoordinator.d.ts +1 -0
- package/dist/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
- package/dist/summary/runWhileConnectedCoordinator.js +7 -2
- package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/dist/summary/runningSummarizer.d.ts +17 -6
- package/dist/summary/runningSummarizer.d.ts.map +1 -1
- package/dist/summary/runningSummarizer.js +48 -19
- package/dist/summary/runningSummarizer.js.map +1 -1
- package/dist/summary/summarizer.d.ts +10 -5
- package/dist/summary/summarizer.d.ts.map +1 -1
- package/dist/summary/summarizer.js +26 -11
- package/dist/summary/summarizer.js.map +1 -1
- package/dist/summary/summarizerClientElection.d.ts.map +1 -1
- package/dist/summary/summarizerClientElection.js +1 -0
- package/dist/summary/summarizerClientElection.js.map +1 -1
- package/dist/summary/summarizerHeuristics.d.ts +6 -2
- package/dist/summary/summarizerHeuristics.d.ts.map +1 -1
- package/dist/summary/summarizerHeuristics.js +13 -5
- package/dist/summary/summarizerHeuristics.js.map +1 -1
- package/dist/summary/summarizerNode/index.d.ts.map +1 -1
- package/dist/summary/summarizerNode/index.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.d.ts +24 -8
- package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.js +45 -36
- package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +48 -16
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.js +3 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +13 -5
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js +15 -7
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/dist/summary/summarizerTypes.d.ts +253 -135
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/summarizerTypes.js.map +1 -1
- package/dist/summary/summaryCollection.d.ts +3 -4
- package/dist/summary/summaryCollection.d.ts.map +1 -1
- package/dist/summary/summaryCollection.js +10 -8
- package/dist/summary/summaryCollection.js.map +1 -1
- package/dist/summary/summaryFormat.d.ts +28 -9
- package/dist/summary/summaryFormat.d.ts.map +1 -1
- package/dist/summary/summaryFormat.js +3 -2
- package/dist/summary/summaryFormat.js.map +1 -1
- package/dist/summary/summaryGenerator.d.ts +9 -3
- package/dist/summary/summaryGenerator.d.ts.map +1 -1
- package/dist/summary/summaryGenerator.js +22 -9
- package/dist/summary/summaryGenerator.js.map +1 -1
- package/dist/summary/summaryManager.d.ts +8 -4
- package/dist/summary/summaryManager.d.ts.map +1 -1
- package/dist/summary/summaryManager.js +20 -9
- package/dist/summary/summaryManager.js.map +1 -1
- package/dist/throttler.d.ts +26 -10
- package/dist/throttler.d.ts.map +1 -1
- package/dist/throttler.js +12 -4
- package/dist/throttler.js.map +1 -1
- package/lib/batchTracker.d.ts +1 -2
- package/lib/batchTracker.d.ts.map +1 -1
- package/lib/batchTracker.js +2 -2
- package/lib/batchTracker.js.map +1 -1
- package/lib/blobManager/blobManager.d.ts +5 -1
- package/lib/blobManager/blobManager.d.ts.map +1 -1
- package/lib/blobManager/blobManager.js +30 -13
- package/lib/blobManager/blobManager.js.map +1 -1
- package/lib/blobManager/blobManagerSnapSum.d.ts +1 -0
- package/lib/blobManager/blobManagerSnapSum.d.ts.map +1 -1
- package/lib/blobManager/blobManagerSnapSum.js +7 -5
- package/lib/blobManager/blobManagerSnapSum.js.map +1 -1
- package/lib/channelCollection.d.ts +23 -12
- package/lib/channelCollection.d.ts.map +1 -1
- package/lib/channelCollection.js +88 -54
- package/lib/channelCollection.js.map +1 -1
- package/lib/connectionTelemetry.d.ts +2 -2
- package/lib/connectionTelemetry.d.ts.map +1 -1
- package/lib/connectionTelemetry.js +11 -7
- package/lib/connectionTelemetry.js.map +1 -1
- package/lib/containerHandleContext.d.ts +1 -1
- package/lib/containerHandleContext.d.ts.map +1 -1
- package/lib/containerHandleContext.js.map +1 -1
- package/lib/containerRuntime.d.ts +87 -94
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +319 -228
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStore.d.ts +7 -3
- package/lib/dataStore.d.ts.map +1 -1
- package/lib/dataStore.js +8 -4
- package/lib/dataStore.js.map +1 -1
- package/lib/dataStoreContext.d.ts +41 -25
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +47 -29
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/dataStoreContexts.d.ts +6 -2
- package/lib/dataStoreContexts.d.ts.map +1 -1
- package/lib/dataStoreContexts.js +7 -2
- package/lib/dataStoreContexts.js.map +1 -1
- package/lib/dataStoreRegistry.d.ts +1 -1
- package/lib/dataStoreRegistry.d.ts.map +1 -1
- package/lib/dataStoreRegistry.js.map +1 -1
- package/lib/deltaManagerProxies.d.ts +1 -17
- package/lib/deltaManagerProxies.d.ts.map +1 -1
- package/lib/deltaManagerProxies.js.map +1 -1
- package/lib/deltaScheduler.d.ts +9 -6
- package/lib/deltaScheduler.d.ts.map +1 -1
- package/lib/deltaScheduler.js +96 -90
- package/lib/deltaScheduler.js.map +1 -1
- package/lib/gc/garbageCollection.d.ts +21 -7
- package/lib/gc/garbageCollection.d.ts.map +1 -1
- package/lib/gc/garbageCollection.js +51 -20
- package/lib/gc/garbageCollection.js.map +1 -1
- package/lib/gc/gcConfigs.d.ts +11 -0
- package/lib/gc/gcConfigs.d.ts.map +1 -1
- package/lib/gc/gcConfigs.js +4 -2
- package/lib/gc/gcConfigs.js.map +1 -1
- package/lib/gc/gcDefinitions.d.ts +218 -70
- package/lib/gc/gcDefinitions.d.ts.map +1 -1
- package/lib/gc/gcDefinitions.js +40 -13
- package/lib/gc/gcDefinitions.js.map +1 -1
- package/lib/gc/gcHelpers.d.ts +6 -2
- package/lib/gc/gcHelpers.d.ts.map +1 -1
- package/lib/gc/gcHelpers.js +14 -7
- package/lib/gc/gcHelpers.js.map +1 -1
- package/lib/gc/gcReferenceGraphAlgorithm.js.map +1 -1
- package/lib/gc/gcSummaryDefinitions.d.ts +18 -6
- package/lib/gc/gcSummaryDefinitions.d.ts.map +1 -1
- package/lib/gc/gcSummaryDefinitions.js.map +1 -1
- package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/lib/gc/gcSummaryStateTracker.js +2 -1
- package/lib/gc/gcSummaryStateTracker.js.map +1 -1
- package/lib/gc/gcTelemetry.d.ts +33 -11
- package/lib/gc/gcTelemetry.d.ts.map +1 -1
- package/lib/gc/gcTelemetry.js +38 -18
- package/lib/gc/gcTelemetry.js.map +1 -1
- package/lib/gc/gcUnreferencedStateTracker.d.ts +42 -13
- package/lib/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
- package/lib/gc/gcUnreferencedStateTracker.js +27 -9
- package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
- package/lib/gc/index.d.ts +1 -0
- package/lib/gc/index.d.ts.map +1 -1
- package/lib/gc/index.js +1 -0
- package/lib/gc/index.js.map +1 -1
- package/lib/inboundBatchAggregator.d.ts +34 -0
- package/lib/inboundBatchAggregator.d.ts.map +1 -0
- package/lib/inboundBatchAggregator.js +181 -0
- package/lib/inboundBatchAggregator.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/layerCompatState.d.ts +19 -0
- package/lib/layerCompatState.d.ts.map +1 -0
- package/lib/layerCompatState.js +60 -0
- package/lib/layerCompatState.js.map +1 -0
- package/lib/legacy.d.ts +0 -4
- package/lib/messageTypes.d.ts +14 -5
- package/lib/messageTypes.d.ts.map +1 -1
- package/lib/messageTypes.js.map +1 -1
- package/lib/metadata.d.ts +12 -4
- package/lib/metadata.d.ts.map +1 -1
- package/lib/metadata.js +6 -2
- package/lib/metadata.js.map +1 -1
- package/lib/opLifecycle/batchManager.d.ts +9 -3
- package/lib/opLifecycle/batchManager.d.ts.map +1 -1
- package/lib/opLifecycle/batchManager.js +3 -1
- package/lib/opLifecycle/batchManager.js.map +1 -1
- package/lib/opLifecycle/duplicateBatchDetector.d.ts +9 -3
- package/lib/opLifecycle/duplicateBatchDetector.d.ts.map +1 -1
- package/lib/opLifecycle/duplicateBatchDetector.js +11 -5
- package/lib/opLifecycle/duplicateBatchDetector.js.map +1 -1
- package/lib/opLifecycle/opCompressor.d.ts +3 -2
- package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opCompressor.js +14 -20
- package/lib/opLifecycle/opCompressor.js.map +1 -1
- package/lib/opLifecycle/opDecompressor.d.ts +6 -1
- package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opDecompressor.js +17 -9
- package/lib/opLifecycle/opDecompressor.js.map +1 -1
- package/lib/opLifecycle/opGroupingManager.d.ts +1 -2
- package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/lib/opLifecycle/opGroupingManager.js +10 -7
- package/lib/opLifecycle/opGroupingManager.js.map +1 -1
- package/lib/opLifecycle/opSplitter.d.ts +13 -10
- package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
- package/lib/opLifecycle/opSplitter.js +16 -11
- package/lib/opLifecycle/opSplitter.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +4 -4
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +17 -16
- package/lib/opLifecycle/outbox.js.map +1 -1
- package/lib/opLifecycle/remoteMessageProcessor.d.ts +9 -3
- package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
- package/lib/opLifecycle/remoteMessageProcessor.js +3 -1
- package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
- package/lib/packageVersion.d.ts +1 -1
- package/lib/packageVersion.js +1 -1
- package/lib/packageVersion.js.map +1 -1
- package/lib/pendingStateManager.d.ts +22 -11
- package/lib/pendingStateManager.d.ts.map +1 -1
- package/lib/pendingStateManager.js +25 -16
- package/lib/pendingStateManager.js.map +1 -1
- package/lib/summary/documentSchema.d.ts +7 -0
- package/lib/summary/documentSchema.d.ts.map +1 -1
- package/lib/summary/documentSchema.js +8 -4
- package/lib/summary/documentSchema.js.map +1 -1
- package/lib/summary/index.d.ts +1 -1
- package/lib/summary/index.d.ts.map +1 -1
- package/lib/summary/index.js.map +1 -1
- package/lib/summary/orderedClientElection.d.ts +94 -31
- package/lib/summary/orderedClientElection.d.ts.map +1 -1
- package/lib/summary/orderedClientElection.js +28 -16
- package/lib/summary/orderedClientElection.js.map +1 -1
- package/lib/summary/runWhileConnectedCoordinator.d.ts +1 -0
- package/lib/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
- package/lib/summary/runWhileConnectedCoordinator.js +7 -2
- package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/lib/summary/runningSummarizer.d.ts +17 -6
- package/lib/summary/runningSummarizer.d.ts.map +1 -1
- package/lib/summary/runningSummarizer.js +48 -19
- package/lib/summary/runningSummarizer.js.map +1 -1
- package/lib/summary/summarizer.d.ts +10 -5
- package/lib/summary/summarizer.d.ts.map +1 -1
- package/lib/summary/summarizer.js +26 -11
- package/lib/summary/summarizer.js.map +1 -1
- package/lib/summary/summarizerClientElection.d.ts.map +1 -1
- package/lib/summary/summarizerClientElection.js +1 -0
- package/lib/summary/summarizerClientElection.js.map +1 -1
- package/lib/summary/summarizerHeuristics.d.ts +6 -2
- package/lib/summary/summarizerHeuristics.d.ts.map +1 -1
- package/lib/summary/summarizerHeuristics.js +13 -5
- package/lib/summary/summarizerHeuristics.js.map +1 -1
- package/lib/summary/summarizerNode/index.d.ts.map +1 -1
- package/lib/summary/summarizerNode/index.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.d.ts +24 -8
- package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.js +45 -36
- package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +48 -16
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.js +3 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +13 -5
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js +15 -7
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/lib/summary/summarizerTypes.d.ts +253 -135
- package/lib/summary/summarizerTypes.d.ts.map +1 -1
- package/lib/summary/summarizerTypes.js.map +1 -1
- package/lib/summary/summaryCollection.d.ts +3 -4
- package/lib/summary/summaryCollection.d.ts.map +1 -1
- package/lib/summary/summaryCollection.js +10 -8
- package/lib/summary/summaryCollection.js.map +1 -1
- package/lib/summary/summaryFormat.d.ts +28 -9
- package/lib/summary/summaryFormat.d.ts.map +1 -1
- package/lib/summary/summaryFormat.js +2 -2
- package/lib/summary/summaryFormat.js.map +1 -1
- package/lib/summary/summaryGenerator.d.ts +9 -3
- package/lib/summary/summaryGenerator.d.ts.map +1 -1
- package/lib/summary/summaryGenerator.js +22 -9
- package/lib/summary/summaryGenerator.js.map +1 -1
- package/lib/summary/summaryManager.d.ts +8 -4
- package/lib/summary/summaryManager.d.ts.map +1 -1
- package/lib/summary/summaryManager.js +20 -9
- package/lib/summary/summaryManager.js.map +1 -1
- package/lib/throttler.d.ts +26 -10
- package/lib/throttler.d.ts.map +1 -1
- package/lib/throttler.js +12 -4
- package/lib/throttler.js.map +1 -1
- package/package.json +22 -31
- package/src/batchTracker.ts +34 -36
- package/src/blobManager/blobManager.ts +54 -33
- package/src/blobManager/blobManagerSnapSum.ts +10 -10
- package/src/channelCollection.ts +108 -82
- package/src/connectionTelemetry.ts +43 -19
- package/src/containerHandleContext.ts +2 -2
- package/src/containerRuntime.ts +492 -364
- package/src/dataStore.ts +17 -9
- package/src/dataStoreContext.ts +94 -73
- package/src/dataStoreContexts.ts +17 -12
- package/src/dataStoreRegistry.ts +1 -1
- package/src/deltaManagerProxies.ts +5 -5
- package/src/deltaScheduler.ts +24 -18
- package/src/gc/garbageCollection.ts +89 -40
- package/src/gc/gcConfigs.ts +13 -5
- package/src/gc/gcDefinitions.ts +224 -70
- package/src/gc/gcHelpers.ts +22 -11
- package/src/gc/gcReferenceGraphAlgorithm.ts +1 -1
- package/src/gc/gcSummaryDefinitions.ts +18 -6
- package/src/gc/gcSummaryStateTracker.ts +7 -3
- package/src/gc/gcTelemetry.ts +73 -30
- package/src/gc/gcUnreferencedStateTracker.ts +40 -16
- package/src/gc/index.ts +1 -0
- package/src/{scheduleManager.ts → inboundBatchAggregator.ts} +55 -122
- package/src/index.ts +0 -3
- package/src/layerCompatState.ts +75 -0
- package/src/messageTypes.ts +16 -5
- package/src/metadata.ts +12 -4
- package/src/opLifecycle/README.md +43 -34
- package/src/opLifecycle/batchManager.ts +12 -6
- package/src/opLifecycle/duplicateBatchDetector.ts +12 -6
- package/src/opLifecycle/opCompressor.ts +22 -25
- package/src/opLifecycle/opDecompressor.ts +23 -11
- package/src/opLifecycle/opGroupingManager.ts +16 -11
- package/src/opLifecycle/opSplitter.ts +24 -18
- package/src/opLifecycle/outbox.ts +35 -33
- package/src/opLifecycle/remoteMessageProcessor.ts +13 -5
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +49 -26
- package/src/summary/documentSchema.ts +41 -22
- package/src/summary/index.ts +0 -3
- package/src/summary/orderedClientElection.ts +114 -49
- package/src/summary/runWhileConnectedCoordinator.ts +12 -3
- package/src/summary/runningSummarizer.ts +79 -36
- package/src/summary/summarizer.ts +51 -25
- package/src/summary/summarizerClientElection.ts +4 -2
- package/src/summary/summarizerHeuristics.ts +23 -12
- package/src/summary/summarizerNode/index.ts +1 -0
- package/src/summary/summarizerNode/summarizerNode.ts +54 -43
- package/src/summary/summarizerNode/summarizerNodeUtils.ts +48 -16
- package/src/summary/summarizerNode/summarizerNodeWithGc.ts +25 -15
- package/src/summary/summarizerTypes.ts +253 -139
- package/src/summary/summaryCollection.ts +41 -31
- package/src/summary/summaryFormat.ts +34 -13
- package/src/summary/summaryGenerator.ts +39 -18
- package/src/summary/summaryManager.ts +36 -24
- package/src/throttler.ts +23 -11
- package/container-runtime.test-files.tar +0 -0
- package/dist/scheduleManager.d.ts +0 -28
- package/dist/scheduleManager.d.ts.map +0 -1
- package/dist/scheduleManager.js +0 -233
- package/dist/scheduleManager.js.map +0 -1
- package/lib/scheduleManager.d.ts +0 -28
- package/lib/scheduleManager.d.ts.map +0 -1
- package/lib/scheduleManager.js +0 -229
- package/lib/scheduleManager.js.map +0 -1
|
@@ -14,11 +14,16 @@ import { IContainerRuntimeMetadata, ICreateContainerMetadata, IRefreshSummaryRes
|
|
|
14
14
|
/**
|
|
15
15
|
* @legacy
|
|
16
16
|
* @alpha
|
|
17
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
17
18
|
*/
|
|
18
19
|
export type GCVersion = number;
|
|
19
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
* The stable/default version of GC Data
|
|
22
|
+
*/
|
|
20
23
|
export declare const stableGCVersion: GCVersion;
|
|
21
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
* The next version of GC Data, to bump to in case we need to regenerate all GC Data across all files.
|
|
26
|
+
*/
|
|
22
27
|
export declare const nextGCVersion: GCVersion;
|
|
23
28
|
/**
|
|
24
29
|
* This undocumented GC Option (on ContainerRuntime Options) allows configuring which documents can have Sweep enabled.
|
|
@@ -32,13 +37,21 @@ export declare const nextGCVersion: GCVersion;
|
|
|
32
37
|
* @see GCFeatureMatrix (gcGeneration)
|
|
33
38
|
*/
|
|
34
39
|
export declare const gcGenerationOptionName = "gcGeneration";
|
|
35
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* Config key to turn GC test mode on / off.
|
|
42
|
+
*/
|
|
36
43
|
export declare const gcTestModeKey = "Fluid.GarbageCollection.GCTestMode";
|
|
37
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* Config key to expire a session after a set period of time. Defaults to true.
|
|
46
|
+
*/
|
|
38
47
|
export declare const runSessionExpiryKey = "Fluid.GarbageCollection.RunSessionExpiry";
|
|
39
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* Config key to disable throwing an error when tombstone object is loaded (requested).
|
|
50
|
+
*/
|
|
40
51
|
export declare const disableThrowOnTombstoneLoadKey = "Fluid.GarbageCollection.DisableThrowOnTombstoneLoad";
|
|
41
|
-
/**
|
|
52
|
+
/**
|
|
53
|
+
* Config key to enable GC version upgrade.
|
|
54
|
+
*/
|
|
42
55
|
export declare const gcVersionUpgradeToV4Key = "Fluid.GarbageCollection.GCVersionUpgradeToV4";
|
|
43
56
|
export declare const oneDayMs: number;
|
|
44
57
|
/**
|
|
@@ -55,6 +68,7 @@ export declare const defaultSweepGracePeriodMs: number;
|
|
|
55
68
|
* @see IGCMetadata.gcFeatureMatrix and @see gcGenerationOptionName
|
|
56
69
|
* @legacy
|
|
57
70
|
* @alpha
|
|
71
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
58
72
|
*/
|
|
59
73
|
export type GCFeatureMatrix = {
|
|
60
74
|
/**
|
|
@@ -63,7 +77,9 @@ export type GCFeatureMatrix = {
|
|
|
63
77
|
* Provided via Container Runtime Options.
|
|
64
78
|
*/
|
|
65
79
|
gcGeneration?: number;
|
|
66
|
-
/**
|
|
80
|
+
/**
|
|
81
|
+
* Deprecated property from legacy type. Will not be set concurrently with gcGeneration
|
|
82
|
+
*/
|
|
67
83
|
tombstoneGeneration?: undefined;
|
|
68
84
|
} | {
|
|
69
85
|
/**
|
|
@@ -89,6 +105,7 @@ export interface IGCMetadata_Deprecated {
|
|
|
89
105
|
*
|
|
90
106
|
* @legacy
|
|
91
107
|
* @alpha
|
|
108
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
92
109
|
*/
|
|
93
110
|
export interface IGCMetadata {
|
|
94
111
|
/**
|
|
@@ -119,7 +136,9 @@ export interface IGCMetadata {
|
|
|
119
136
|
* @deprecated use GCFeatureMatrix.gcGeneration instead. @see GCFeatureMatrix.gcGeneration
|
|
120
137
|
*/
|
|
121
138
|
readonly sweepEnabled?: boolean;
|
|
122
|
-
/**
|
|
139
|
+
/**
|
|
140
|
+
* If this is present, the session for this container will expire after this time and the container will close
|
|
141
|
+
*/
|
|
123
142
|
readonly sessionExpiryTimeoutMs?: number;
|
|
124
143
|
/**
|
|
125
144
|
* How long to wait after an object is unreferenced before it becomes a Tombstone.
|
|
@@ -135,50 +154,83 @@ export interface IGCMetadata {
|
|
|
135
154
|
* The statistics of the system state after a garbage collection mark phase run.
|
|
136
155
|
* @legacy
|
|
137
156
|
* @alpha
|
|
157
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
138
158
|
*/
|
|
139
159
|
export interface IMarkPhaseStats {
|
|
140
|
-
/**
|
|
160
|
+
/**
|
|
161
|
+
* The number of nodes in the container.
|
|
162
|
+
*/
|
|
141
163
|
nodeCount: number;
|
|
142
|
-
/**
|
|
164
|
+
/**
|
|
165
|
+
* The number of data stores in the container.
|
|
166
|
+
*/
|
|
143
167
|
dataStoreCount: number;
|
|
144
|
-
/**
|
|
168
|
+
/**
|
|
169
|
+
* The number of attachment blobs in the container.
|
|
170
|
+
*/
|
|
145
171
|
attachmentBlobCount: number;
|
|
146
|
-
/**
|
|
172
|
+
/**
|
|
173
|
+
* The number of unreferenced nodes in the container.
|
|
174
|
+
*/
|
|
147
175
|
unrefNodeCount: number;
|
|
148
|
-
/**
|
|
176
|
+
/**
|
|
177
|
+
* The number of unreferenced data stores in the container.
|
|
178
|
+
*/
|
|
149
179
|
unrefDataStoreCount: number;
|
|
150
|
-
/**
|
|
180
|
+
/**
|
|
181
|
+
* The number of unreferenced attachment blobs in the container.
|
|
182
|
+
*/
|
|
151
183
|
unrefAttachmentBlobCount: number;
|
|
152
|
-
/**
|
|
184
|
+
/**
|
|
185
|
+
* The number of nodes whose reference state updated since last GC run.
|
|
186
|
+
*/
|
|
153
187
|
updatedNodeCount: number;
|
|
154
|
-
/**
|
|
188
|
+
/**
|
|
189
|
+
* The number of data stores whose reference state updated since last GC run.
|
|
190
|
+
*/
|
|
155
191
|
updatedDataStoreCount: number;
|
|
156
|
-
/**
|
|
192
|
+
/**
|
|
193
|
+
* The number of attachment blobs whose reference state updated since last GC run.
|
|
194
|
+
*/
|
|
157
195
|
updatedAttachmentBlobCount: number;
|
|
158
196
|
}
|
|
159
197
|
/**
|
|
160
198
|
* The statistics of the system state after a garbage collection sweep phase run.
|
|
161
199
|
* @legacy
|
|
162
200
|
* @alpha
|
|
201
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
163
202
|
*/
|
|
164
203
|
export interface ISweepPhaseStats {
|
|
165
|
-
/**
|
|
204
|
+
/**
|
|
205
|
+
* The number of nodes in the lifetime of the container.
|
|
206
|
+
*/
|
|
166
207
|
lifetimeNodeCount: number;
|
|
167
|
-
/**
|
|
208
|
+
/**
|
|
209
|
+
* The number of data stores in the lifetime of the container.
|
|
210
|
+
*/
|
|
168
211
|
lifetimeDataStoreCount: number;
|
|
169
|
-
/**
|
|
212
|
+
/**
|
|
213
|
+
* The number of attachment blobs in the lifetime of the container.
|
|
214
|
+
*/
|
|
170
215
|
lifetimeAttachmentBlobCount: number;
|
|
171
|
-
/**
|
|
216
|
+
/**
|
|
217
|
+
* The number of deleted nodes in the container.
|
|
218
|
+
*/
|
|
172
219
|
deletedNodeCount: number;
|
|
173
|
-
/**
|
|
220
|
+
/**
|
|
221
|
+
* The number of deleted data stores in the container.
|
|
222
|
+
*/
|
|
174
223
|
deletedDataStoreCount: number;
|
|
175
|
-
/**
|
|
224
|
+
/**
|
|
225
|
+
* The number of deleted attachment blobs in the container.
|
|
226
|
+
*/
|
|
176
227
|
deletedAttachmentBlobCount: number;
|
|
177
228
|
}
|
|
178
229
|
/**
|
|
179
230
|
* The statistics of the system state after a garbage collection run.
|
|
180
231
|
* @legacy
|
|
181
232
|
* @alpha
|
|
233
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
182
234
|
*/
|
|
183
235
|
export interface IGCStats extends IMarkPhaseStats, ISweepPhaseStats {
|
|
184
236
|
}
|
|
@@ -186,6 +238,7 @@ export interface IGCStats extends IMarkPhaseStats, ISweepPhaseStats {
|
|
|
186
238
|
* The types of GC nodes in the GC reference graph.
|
|
187
239
|
* @legacy
|
|
188
240
|
* @alpha
|
|
241
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
189
242
|
*/
|
|
190
243
|
export declare const GCNodeType: {
|
|
191
244
|
readonly DataStore: "DataStore";
|
|
@@ -196,6 +249,7 @@ export declare const GCNodeType: {
|
|
|
196
249
|
/**
|
|
197
250
|
* @legacy
|
|
198
251
|
* @alpha
|
|
252
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
199
253
|
*/
|
|
200
254
|
export type GCNodeType = (typeof GCNodeType)[keyof typeof GCNodeType];
|
|
201
255
|
/**
|
|
@@ -203,9 +257,13 @@ export type GCNodeType = (typeof GCNodeType)[keyof typeof GCNodeType];
|
|
|
203
257
|
* @internal
|
|
204
258
|
*/
|
|
205
259
|
export declare const GarbageCollectionMessageType: {
|
|
206
|
-
/**
|
|
260
|
+
/**
|
|
261
|
+
* Message sent directing GC to delete the given nodes
|
|
262
|
+
*/
|
|
207
263
|
readonly Sweep: "Sweep";
|
|
208
|
-
/**
|
|
264
|
+
/**
|
|
265
|
+
* Message sent notifying GC that a Tombstoned object was Loaded
|
|
266
|
+
*/
|
|
209
267
|
readonly TombstoneLoaded: "TombstoneLoaded";
|
|
210
268
|
};
|
|
211
269
|
/**
|
|
@@ -217,9 +275,13 @@ export type GarbageCollectionMessageType = (typeof GarbageCollectionMessageType)
|
|
|
217
275
|
* @internal
|
|
218
276
|
*/
|
|
219
277
|
export interface ISweepMessage {
|
|
220
|
-
/**
|
|
278
|
+
/**
|
|
279
|
+
* @see GarbageCollectionMessageType.Sweep
|
|
280
|
+
*/
|
|
221
281
|
type: typeof GarbageCollectionMessageType.Sweep;
|
|
222
|
-
/**
|
|
282
|
+
/**
|
|
283
|
+
* The ids of nodes that are deleted.
|
|
284
|
+
*/
|
|
223
285
|
deletedNodeIds: string[];
|
|
224
286
|
}
|
|
225
287
|
/**
|
|
@@ -227,9 +289,13 @@ export interface ISweepMessage {
|
|
|
227
289
|
* @internal
|
|
228
290
|
*/
|
|
229
291
|
export interface ITombstoneLoadedMessage {
|
|
230
|
-
/**
|
|
292
|
+
/**
|
|
293
|
+
* @see GarbageCollectionMessageType.TombstoneLoaded
|
|
294
|
+
*/
|
|
231
295
|
type: typeof GarbageCollectionMessageType.TombstoneLoaded;
|
|
232
|
-
/**
|
|
296
|
+
/**
|
|
297
|
+
* The id of Tombstoned node that was loaded.
|
|
298
|
+
*/
|
|
233
299
|
nodePath: string;
|
|
234
300
|
}
|
|
235
301
|
/**
|
|
@@ -241,9 +307,13 @@ export type GarbageCollectionMessage = ISweepMessage | ITombstoneLoadedMessage;
|
|
|
241
307
|
* Defines the APIs for the runtime object to be passed to the garbage collector.
|
|
242
308
|
*/
|
|
243
309
|
export interface IGarbageCollectionRuntime {
|
|
244
|
-
/**
|
|
310
|
+
/**
|
|
311
|
+
* Returns the garbage collection data of the runtime.
|
|
312
|
+
*/
|
|
245
313
|
getGCData(fullGC?: boolean): Promise<IGarbageCollectionData>;
|
|
246
|
-
/**
|
|
314
|
+
/**
|
|
315
|
+
* After GC has run, called to notify the runtime of routes that are used in it.
|
|
316
|
+
*/
|
|
247
317
|
updateUsedRoutes(usedRoutes: readonly string[]): void;
|
|
248
318
|
/**
|
|
249
319
|
* After GC has run and identified nodes that are sweep ready, called to delete the sweep ready nodes. The runtime
|
|
@@ -251,16 +321,26 @@ export interface IGarbageCollectionRuntime {
|
|
|
251
321
|
* @param sweepReadyRoutes - The routes of nodes that are sweep ready and should be deleted.
|
|
252
322
|
*/
|
|
253
323
|
deleteSweepReadyNodes(sweepReadyRoutes: readonly string[]): readonly string[];
|
|
254
|
-
/**
|
|
324
|
+
/**
|
|
325
|
+
* Called to notify the runtime of routes that are tombstones.
|
|
326
|
+
*/
|
|
255
327
|
updateTombstonedRoutes(tombstoneRoutes: readonly string[]): void;
|
|
256
|
-
/**
|
|
328
|
+
/**
|
|
329
|
+
* Returns a referenced timestamp to be used to track unreferenced nodes.
|
|
330
|
+
*/
|
|
257
331
|
getCurrentReferenceTimestampMs(): number | undefined;
|
|
258
|
-
/**
|
|
332
|
+
/**
|
|
333
|
+
* Returns the type of the GC node.
|
|
334
|
+
*/
|
|
259
335
|
getNodeType(nodePath: string): GCNodeType;
|
|
260
|
-
/**
|
|
336
|
+
/**
|
|
337
|
+
* Called when the runtime should close because of an error.
|
|
338
|
+
*/
|
|
261
339
|
closeFn: (error?: ICriticalContainerError) => void;
|
|
262
340
|
}
|
|
263
|
-
/**
|
|
341
|
+
/**
|
|
342
|
+
* Defines the contract for the garbage collector.
|
|
343
|
+
*/
|
|
264
344
|
export interface IGarbageCollector {
|
|
265
345
|
/**
|
|
266
346
|
* Tells the time at which session expiry timer started in a previous container.
|
|
@@ -268,36 +348,58 @@ export interface IGarbageCollector {
|
|
|
268
348
|
* original container's local client time when it was loaded (and started the session expiry timer).
|
|
269
349
|
*/
|
|
270
350
|
readonly sessionExpiryTimerStarted: number | undefined;
|
|
271
|
-
/**
|
|
351
|
+
/**
|
|
352
|
+
* Tells whether GC should run or not.
|
|
353
|
+
*/
|
|
272
354
|
readonly shouldRunGC: boolean;
|
|
273
|
-
/**
|
|
355
|
+
/**
|
|
356
|
+
* The count of data stores whose GC state updated since the last summary.
|
|
357
|
+
*/
|
|
274
358
|
readonly updatedDSCountSinceLastSummary: number;
|
|
275
|
-
/**
|
|
359
|
+
/**
|
|
360
|
+
* Initialize the state from the base snapshot after its creation.
|
|
361
|
+
*/
|
|
276
362
|
initializeBaseState(): Promise<void>;
|
|
277
|
-
/**
|
|
363
|
+
/**
|
|
364
|
+
* Run garbage collection and update the reference / used state of the system.
|
|
365
|
+
*/
|
|
278
366
|
collectGarbage(options: {
|
|
279
367
|
logger?: ITelemetryLoggerExt;
|
|
280
368
|
runSweep?: boolean;
|
|
281
369
|
fullGC?: boolean;
|
|
282
370
|
}, telemetryContext?: ITelemetryContext): Promise<IGCStats | undefined>;
|
|
283
|
-
/**
|
|
371
|
+
/**
|
|
372
|
+
* Summarizes the GC data and returns it as a summary tree.
|
|
373
|
+
*/
|
|
284
374
|
summarize(fullTree: boolean, trackState: boolean, telemetryContext?: ITelemetryContext): ISummarizeResult | undefined;
|
|
285
|
-
/**
|
|
375
|
+
/**
|
|
376
|
+
* Returns the garbage collector specific metadata to be written into the summary.
|
|
377
|
+
*/
|
|
286
378
|
getMetadata(): IGCMetadata;
|
|
287
|
-
/**
|
|
379
|
+
/**
|
|
380
|
+
* Returns the GC details generated from the base snapshot.
|
|
381
|
+
*/
|
|
288
382
|
getBaseGCDetails(): Promise<IGarbageCollectionDetailsBase>;
|
|
289
|
-
/**
|
|
383
|
+
/**
|
|
384
|
+
* Called when the latest summary of the system has been refreshed.
|
|
385
|
+
*/
|
|
290
386
|
refreshLatestSummary(result: IRefreshSummaryResult): Promise<void>;
|
|
291
387
|
/**
|
|
292
388
|
* Called when a node with the given path is updated. If the node is inactive or tombstoned, this will log an error
|
|
293
389
|
* or throw an error if failing on incorrect usage is configured.
|
|
294
390
|
*/
|
|
295
391
|
nodeUpdated(props: IGCNodeUpdatedProps): void;
|
|
296
|
-
/**
|
|
392
|
+
/**
|
|
393
|
+
* Called when a reference is added to a node. Used to identify nodes that were referenced between summaries.
|
|
394
|
+
*/
|
|
297
395
|
addedOutboundReference(fromNodePath: string, toNodePath: string, timestampMs: number, autorecovery?: true): void;
|
|
298
|
-
/**
|
|
396
|
+
/**
|
|
397
|
+
* Called to process garbage collection messages
|
|
398
|
+
*/
|
|
299
399
|
processMessages(messageContents: GarbageCollectionMessage[], messageTimestampMs: number, local: boolean): void;
|
|
300
|
-
/**
|
|
400
|
+
/**
|
|
401
|
+
* Returns true if this node has been deleted by GC during sweep phase.
|
|
402
|
+
*/
|
|
301
403
|
isNodeDeleted(nodePath: string): boolean;
|
|
302
404
|
setConnectionState(connected: boolean, clientId?: string): void;
|
|
303
405
|
dispose(): void;
|
|
@@ -307,28 +409,42 @@ export interface IGarbageCollector {
|
|
|
307
409
|
* @internal
|
|
308
410
|
*/
|
|
309
411
|
export interface IGCNodeUpdatedProps {
|
|
310
|
-
/**
|
|
412
|
+
/**
|
|
413
|
+
* Type and path of the updated node
|
|
414
|
+
*/
|
|
311
415
|
node: {
|
|
312
416
|
type: (typeof GCNodeType)["DataStore" | "Blob"];
|
|
313
417
|
path: string;
|
|
314
418
|
};
|
|
315
|
-
/**
|
|
419
|
+
/**
|
|
420
|
+
* Whether the node (or a subpath) was loaded or changed.
|
|
421
|
+
*/
|
|
316
422
|
reason: "Loaded" | "Changed" | "Realized";
|
|
317
423
|
/**
|
|
318
424
|
* The op-based timestamp when the node changed. If the update is from receiving an op, this should
|
|
319
425
|
* be the timestamp of the op. If not, this should be the timestamp of the last op processed.
|
|
320
426
|
*/
|
|
321
427
|
timestampMs: number | undefined;
|
|
322
|
-
/**
|
|
428
|
+
/**
|
|
429
|
+
* The package path of the node. This may not be available if the node hasn't been loaded yet
|
|
430
|
+
*/
|
|
323
431
|
packagePath?: readonly string[];
|
|
324
|
-
/**
|
|
432
|
+
/**
|
|
433
|
+
* The original request for loads to preserve it in telemetry
|
|
434
|
+
*/
|
|
325
435
|
request?: IRequest;
|
|
326
|
-
/**
|
|
436
|
+
/**
|
|
437
|
+
* If the node was loaded via request path, the header data. May be modified from the original request
|
|
438
|
+
*/
|
|
327
439
|
headerData?: RuntimeHeaderData;
|
|
328
|
-
/**
|
|
440
|
+
/**
|
|
441
|
+
* Any other properties to be logged.
|
|
442
|
+
*/
|
|
329
443
|
additionalProps?: ITelemetryPropertiesExt;
|
|
330
444
|
}
|
|
331
|
-
/**
|
|
445
|
+
/**
|
|
446
|
+
* Parameters necessary for creating a GarbageCollector.
|
|
447
|
+
*/
|
|
332
448
|
export interface IGarbageCollectorCreateParams {
|
|
333
449
|
readonly runtime: IGarbageCollectionRuntime;
|
|
334
450
|
readonly gcOptions: IGCRuntimeOptions;
|
|
@@ -395,43 +511,71 @@ export interface IGarbageCollectorConfigs {
|
|
|
395
511
|
* flag defined below.
|
|
396
512
|
*/
|
|
397
513
|
readonly sweepAllowed: boolean;
|
|
398
|
-
/**
|
|
514
|
+
/**
|
|
515
|
+
* Tracks if sweep phase is enabled to run in this session or not
|
|
516
|
+
*/
|
|
399
517
|
readonly sweepEnabled: boolean;
|
|
400
518
|
/**
|
|
401
519
|
* If true, bypass optimizations and generate GC data for all nodes irrespective of whether a node changed or not.
|
|
402
520
|
*/
|
|
403
521
|
readonly runFullGC: boolean | undefined;
|
|
404
|
-
/**
|
|
522
|
+
/**
|
|
523
|
+
* The time in ms to expire a session for a client for gc.
|
|
524
|
+
*/
|
|
405
525
|
readonly sessionExpiryTimeoutMs: number | undefined;
|
|
406
|
-
/**
|
|
526
|
+
/**
|
|
527
|
+
* The time after which an unreferenced node can be Tombstoned - i.e. GC knows it can't be referenced again (revived).
|
|
528
|
+
*/
|
|
407
529
|
readonly tombstoneTimeoutMs: number | undefined;
|
|
408
530
|
/**
|
|
409
531
|
* The delay between tombstone and sweep. Not persisted, so concurrent sessions may use different values.
|
|
410
532
|
* Sweep is implemented in an eventually-consistent way so this is acceptable.
|
|
411
533
|
*/
|
|
412
534
|
readonly sweepGracePeriodMs: number;
|
|
413
|
-
/**
|
|
535
|
+
/**
|
|
536
|
+
* The time after which an unreferenced node is inactive.
|
|
537
|
+
*/
|
|
414
538
|
readonly inactiveTimeoutMs: number;
|
|
415
|
-
/**
|
|
539
|
+
/**
|
|
540
|
+
* Tracks whether GC should run in test mode. In this mode, unreferenced objects are deleted immediately.
|
|
541
|
+
*/
|
|
416
542
|
readonly testMode: boolean;
|
|
417
|
-
/**
|
|
543
|
+
/**
|
|
544
|
+
* @see GCFeatureMatrix.
|
|
545
|
+
*/
|
|
418
546
|
readonly persistedGcFeatureMatrix: GCFeatureMatrix | undefined;
|
|
419
|
-
/**
|
|
547
|
+
/**
|
|
548
|
+
* The version of GC in the base snapshot.
|
|
549
|
+
*/
|
|
420
550
|
readonly gcVersionInBaseSnapshot: GCVersion | undefined;
|
|
421
|
-
/**
|
|
551
|
+
/**
|
|
552
|
+
* The current version of GC data in the running code
|
|
553
|
+
*/
|
|
422
554
|
readonly gcVersionInEffect: GCVersion;
|
|
423
|
-
/**
|
|
555
|
+
/**
|
|
556
|
+
* If true, throw an error when a tombstone data store is retrieved
|
|
557
|
+
*/
|
|
424
558
|
readonly throwOnTombstoneLoad: boolean;
|
|
425
559
|
}
|
|
426
|
-
/**
|
|
560
|
+
/**
|
|
561
|
+
* The state of node that is unreferenced.
|
|
562
|
+
*/
|
|
427
563
|
export declare const UnreferencedState: {
|
|
428
|
-
/**
|
|
564
|
+
/**
|
|
565
|
+
* The node is active, i.e., it can become referenced again.
|
|
566
|
+
*/
|
|
429
567
|
readonly Active: "Active";
|
|
430
|
-
/**
|
|
568
|
+
/**
|
|
569
|
+
* The node is inactive, i.e., it should not become referenced.
|
|
570
|
+
*/
|
|
431
571
|
readonly Inactive: "Inactive";
|
|
432
|
-
/**
|
|
572
|
+
/**
|
|
573
|
+
* The node is ready to be tombstoned
|
|
574
|
+
*/
|
|
433
575
|
readonly TombstoneReady: "TombstoneReady";
|
|
434
|
-
/**
|
|
576
|
+
/**
|
|
577
|
+
* The node is ready to be deleted by the sweep phase.
|
|
578
|
+
*/
|
|
435
579
|
readonly SweepReady: "SweepReady";
|
|
436
580
|
};
|
|
437
581
|
export type UnreferencedState = (typeof UnreferencedState)[keyof typeof UnreferencedState];
|
|
@@ -439,9 +583,13 @@ export type UnreferencedState = (typeof UnreferencedState)[keyof typeof Unrefere
|
|
|
439
583
|
* Represents the result of a GC run.
|
|
440
584
|
*/
|
|
441
585
|
export interface IGCResult {
|
|
442
|
-
/**
|
|
586
|
+
/**
|
|
587
|
+
* The ids of nodes that are referenced in the referenced graph
|
|
588
|
+
*/
|
|
443
589
|
referencedNodeIds: string[];
|
|
444
|
-
/**
|
|
590
|
+
/**
|
|
591
|
+
* The ids of nodes that are not-referenced or deleted in the referenced graph
|
|
592
|
+
*/
|
|
445
593
|
deletedNodeIds: string[];
|
|
446
594
|
}
|
|
447
595
|
//# sourceMappingURL=gcDefinitions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gcDefinitions.d.ts","sourceRoot":"","sources":["../../src/gc/gcDefinitions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EACN,iBAAiB,EACjB,sBAAsB,EACtB,6BAA6B,EAC7B,gBAAgB,EAChB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EACN,mBAAmB,EACnB,KAAK,uBAAuB,EAC5B,MAAM,0CAA0C,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"gcDefinitions.d.ts","sourceRoot":"","sources":["../../src/gc/gcDefinitions.ts"],"names":[],"mappings":"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"}
|
package/lib/gc/gcDefinitions.js
CHANGED
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
/**
|
|
5
|
+
/**
|
|
6
|
+
* The stable/default version of GC Data
|
|
7
|
+
*/
|
|
6
8
|
export const stableGCVersion = 3;
|
|
7
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* The next version of GC Data, to bump to in case we need to regenerate all GC Data across all files.
|
|
11
|
+
*/
|
|
8
12
|
export const nextGCVersion = 4;
|
|
9
13
|
/**
|
|
10
14
|
* This undocumented GC Option (on ContainerRuntime Options) allows configuring which documents can have Sweep enabled.
|
|
@@ -18,13 +22,21 @@ export const nextGCVersion = 4;
|
|
|
18
22
|
* @see GCFeatureMatrix (gcGeneration)
|
|
19
23
|
*/
|
|
20
24
|
export const gcGenerationOptionName = "gcGeneration";
|
|
21
|
-
/**
|
|
25
|
+
/**
|
|
26
|
+
* Config key to turn GC test mode on / off.
|
|
27
|
+
*/
|
|
22
28
|
export const gcTestModeKey = "Fluid.GarbageCollection.GCTestMode";
|
|
23
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
* Config key to expire a session after a set period of time. Defaults to true.
|
|
31
|
+
*/
|
|
24
32
|
export const runSessionExpiryKey = "Fluid.GarbageCollection.RunSessionExpiry";
|
|
25
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Config key to disable throwing an error when tombstone object is loaded (requested).
|
|
35
|
+
*/
|
|
26
36
|
export const disableThrowOnTombstoneLoadKey = "Fluid.GarbageCollection.DisableThrowOnTombstoneLoad";
|
|
27
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* Config key to enable GC version upgrade.
|
|
39
|
+
*/
|
|
28
40
|
export const gcVersionUpgradeToV4Key = "Fluid.GarbageCollection.GCVersionUpgradeToV4";
|
|
29
41
|
// One day in milliseconds.
|
|
30
42
|
export const oneDayMs = 1 * 24 * 60 * 60 * 1000;
|
|
@@ -42,6 +54,7 @@ export const defaultSweepGracePeriodMs = 1 * oneDayMs; // 1 day
|
|
|
42
54
|
* The types of GC nodes in the GC reference graph.
|
|
43
55
|
* @legacy
|
|
44
56
|
* @alpha
|
|
57
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
45
58
|
*/
|
|
46
59
|
export const GCNodeType = {
|
|
47
60
|
// Nodes that are for data stores.
|
|
@@ -58,20 +71,34 @@ export const GCNodeType = {
|
|
|
58
71
|
* @internal
|
|
59
72
|
*/
|
|
60
73
|
export const GarbageCollectionMessageType = {
|
|
61
|
-
/**
|
|
74
|
+
/**
|
|
75
|
+
* Message sent directing GC to delete the given nodes
|
|
76
|
+
*/
|
|
62
77
|
Sweep: "Sweep",
|
|
63
|
-
/**
|
|
78
|
+
/**
|
|
79
|
+
* Message sent notifying GC that a Tombstoned object was Loaded
|
|
80
|
+
*/
|
|
64
81
|
TombstoneLoaded: "TombstoneLoaded",
|
|
65
82
|
};
|
|
66
|
-
/**
|
|
83
|
+
/**
|
|
84
|
+
* The state of node that is unreferenced.
|
|
85
|
+
*/
|
|
67
86
|
export const UnreferencedState = {
|
|
68
|
-
/**
|
|
87
|
+
/**
|
|
88
|
+
* The node is active, i.e., it can become referenced again.
|
|
89
|
+
*/
|
|
69
90
|
Active: "Active",
|
|
70
|
-
/**
|
|
91
|
+
/**
|
|
92
|
+
* The node is inactive, i.e., it should not become referenced.
|
|
93
|
+
*/
|
|
71
94
|
Inactive: "Inactive",
|
|
72
|
-
/**
|
|
95
|
+
/**
|
|
96
|
+
* The node is ready to be tombstoned
|
|
97
|
+
*/
|
|
73
98
|
TombstoneReady: "TombstoneReady",
|
|
74
|
-
/**
|
|
99
|
+
/**
|
|
100
|
+
* The node is ready to be deleted by the sweep phase.
|
|
101
|
+
*/
|
|
75
102
|
SweepReady: "SweepReady",
|
|
76
103
|
};
|
|
77
104
|
//# sourceMappingURL=gcDefinitions.js.map
|