@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
|
@@ -19,12 +19,17 @@ import { IContainerRuntimeMetadata } from "./summary/index.js";
|
|
|
19
19
|
* @internal
|
|
20
20
|
*/
|
|
21
21
|
export declare enum RuntimeHeaders {
|
|
22
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* True to wait for a data store to be created and loaded before returning it.
|
|
24
|
+
*/
|
|
23
25
|
wait = "wait",
|
|
24
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* True if the request is coming from an IFluidHandle.
|
|
28
|
+
*/
|
|
25
29
|
viaHandle = "viaHandle"
|
|
26
30
|
}
|
|
27
|
-
/**
|
|
31
|
+
/**
|
|
32
|
+
* True if a tombstoned object should be returned without erroring
|
|
28
33
|
* @legacy
|
|
29
34
|
* @alpha
|
|
30
35
|
*/
|
|
@@ -64,7 +69,9 @@ export declare class ChannelCollection implements IFluidDataStoreChannel, IDispo
|
|
|
64
69
|
get aliases(): ReadonlyMap<string, string>;
|
|
65
70
|
get pendingAliases(): Map<string, Promise<AliasResult>>;
|
|
66
71
|
waitIfPendingAlias(maybeAlias: string): Promise<AliasResult>;
|
|
67
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* For sampling. Only log once per container
|
|
74
|
+
*/
|
|
68
75
|
private shouldSendAttachLog;
|
|
69
76
|
protected wrapContextForInnerChannel(id: string): IFluidParentContext;
|
|
70
77
|
/**
|
|
@@ -77,7 +84,9 @@ export declare class ChannelCollection implements IFluidDataStoreChannel, IDispo
|
|
|
77
84
|
private processAliasMessages;
|
|
78
85
|
processAliasMessageCore(internalId: string, alias: string, messageTimestampMs?: number): boolean;
|
|
79
86
|
private alreadyProcessed;
|
|
80
|
-
/**
|
|
87
|
+
/**
|
|
88
|
+
* Package up the context's attach summary etc into an IAttachMessage
|
|
89
|
+
*/
|
|
81
90
|
private generateAttachMessage;
|
|
82
91
|
/**
|
|
83
92
|
* Make the data store locally visible in the container graph by moving the data store context from unbound to
|
|
@@ -104,13 +113,13 @@ export declare class ChannelCollection implements IFluidDataStoreChannel, IDispo
|
|
|
104
113
|
*/
|
|
105
114
|
protected createDataStoreId(): string;
|
|
106
115
|
createDetachedDataStore(pkg: Readonly<string[]>, loadingGroupId?: string): IFluidDataStoreContextDetached;
|
|
107
|
-
createDataStoreContext(pkg: Readonly<string[]>,
|
|
108
|
-
protected createContext<T extends LocalFluidDataStoreContext>(id: string, pkg: Readonly<string[]>, contextCtor: new (props: ILocalDetachedFluidDataStoreContextProps) => T,
|
|
116
|
+
createDataStoreContext(pkg: Readonly<string[]>, loadingGroupId?: string): IFluidDataStoreContextInternal;
|
|
117
|
+
protected createContext<T extends LocalFluidDataStoreContext>(id: string, pkg: Readonly<string[]>, contextCtor: new (props: ILocalDetachedFluidDataStoreContextProps) => T, loadingGroupId?: string): T;
|
|
109
118
|
get disposed(): boolean;
|
|
110
119
|
readonly dispose: () => void;
|
|
111
|
-
reSubmit(type: string, content:
|
|
112
|
-
protected reSubmitChannelOp(type: string, content:
|
|
113
|
-
rollback(type: string, content:
|
|
120
|
+
reSubmit(type: string, content: unknown, localOpMetadata: unknown): void;
|
|
121
|
+
protected reSubmitChannelOp(type: string, content: unknown, localOpMetadata: unknown): void;
|
|
122
|
+
rollback(type: string, content: unknown, localOpMetadata: unknown): void;
|
|
114
123
|
applyStashedOp(content: unknown): Promise<unknown>;
|
|
115
124
|
protected applyStashedChannelChannelOp(envelope: IEnvelope): Promise<unknown>;
|
|
116
125
|
private applyStashedAttachOp;
|
|
@@ -230,14 +239,16 @@ export declare function getSummaryForDatastores(snapshot: ISnapshotTree | undefi
|
|
|
230
239
|
* @internal
|
|
231
240
|
*/
|
|
232
241
|
export declare function detectOutboundReferences(address: string, contents: unknown, addedOutboundReference: (fromNodePath: string, toNodePath: string) => void): void;
|
|
233
|
-
/**
|
|
242
|
+
/**
|
|
243
|
+
* @internal
|
|
244
|
+
*/
|
|
234
245
|
export declare class ChannelCollectionFactory<T extends ChannelCollection = ChannelCollection> implements IFluidDataStoreFactory {
|
|
235
246
|
private readonly provideEntryPoint;
|
|
236
247
|
private readonly ctor;
|
|
237
248
|
readonly type = "ChannelCollectionChannel";
|
|
238
249
|
IFluidDataStoreRegistry: IFluidDataStoreRegistry;
|
|
239
250
|
constructor(registryEntries: NamedFluidDataStoreRegistryEntries, provideEntryPoint: (runtime: IFluidDataStoreChannel) => Promise<FluidObject>, ctor: (...args: ConstructorParameters<typeof ChannelCollection>) => T);
|
|
240
|
-
get IFluidDataStoreFactory():
|
|
251
|
+
get IFluidDataStoreFactory(): ChannelCollectionFactory<T>;
|
|
241
252
|
instantiateDataStore(context: IFluidDataStoreContext, _existing: boolean): Promise<IFluidDataStoreChannel>;
|
|
242
253
|
}
|
|
243
254
|
//# sourceMappingURL=channelCollection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"channelCollection.d.ts","sourceRoot":"","sources":["../src/channelCollection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EACN,WAAW,EACX,WAAW,EACX,QAAQ,EACR,SAAS,EACT,oBAAoB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGrF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EACN,aAAa,EACb,yBAAyB,EACzB,MAAM,6CAA6C,CAAC;AAMrD,OAAO,EACN,qBAAqB,EACrB,iBAAiB,EACjB,sBAAsB,EACtB,WAAW,EAGX,SAAS,EACT,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EAEnB,kCAAkC,EAElC,qBAAqB,EAIrB,KAAK,yBAAyB,EAC9B,MAAM,8CAA8C,CAAC;AAgBtD,OAAO,EAIN,iBAAiB,EAMjB,MAAM,0CAA0C,CAAC;AAGlD,OAAO,
|
|
1
|
+
{"version":3,"file":"channelCollection.d.ts","sourceRoot":"","sources":["../src/channelCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ const dataStore_js_1 = require("./dataStore.js");
|
|
|
18
18
|
const dataStoreContext_js_1 = require("./dataStoreContext.js");
|
|
19
19
|
const dataStoreContexts_js_1 = require("./dataStoreContexts.js");
|
|
20
20
|
const dataStoreRegistry_js_1 = require("./dataStoreRegistry.js");
|
|
21
|
+
// eslint-disable-next-line import/no-deprecated
|
|
21
22
|
const index_js_1 = require("./gc/index.js");
|
|
22
23
|
const messageTypes_js_1 = require("./messageTypes.js");
|
|
23
24
|
const storageServiceWithAttachBlobs_js_1 = require("./storageServiceWithAttachBlobs.js");
|
|
@@ -28,12 +29,17 @@ const index_js_2 = require("./summary/index.js");
|
|
|
28
29
|
*/
|
|
29
30
|
var RuntimeHeaders;
|
|
30
31
|
(function (RuntimeHeaders) {
|
|
31
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* True to wait for a data store to be created and loaded before returning it.
|
|
34
|
+
*/
|
|
32
35
|
RuntimeHeaders["wait"] = "wait";
|
|
33
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* True if the request is coming from an IFluidHandle.
|
|
38
|
+
*/
|
|
34
39
|
RuntimeHeaders["viaHandle"] = "viaHandle";
|
|
35
40
|
})(RuntimeHeaders || (exports.RuntimeHeaders = RuntimeHeaders = {}));
|
|
36
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
* True if a tombstoned object should be returned without erroring
|
|
37
43
|
* @legacy
|
|
38
44
|
* @alpha
|
|
39
45
|
*/
|
|
@@ -160,9 +166,12 @@ class ChannelCollection {
|
|
|
160
166
|
this.pendingAttach = new Map();
|
|
161
167
|
// 0.24 back-compat attachingBeforeSummary
|
|
162
168
|
this.attachOpFiredForDataStore = new Set();
|
|
169
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping -- Property is defined once; no need to extract inner lambda
|
|
163
170
|
this.disposeOnce = new internal_1.Lazy(() => this.contexts.dispose());
|
|
164
171
|
this.pendingAliasMap = new Map();
|
|
165
|
-
/**
|
|
172
|
+
/**
|
|
173
|
+
* For sampling. Only log once per container
|
|
174
|
+
*/
|
|
166
175
|
this.shouldSendAttachLog = true;
|
|
167
176
|
this.dispose = () => this.disposeOnce.value;
|
|
168
177
|
this.mc = (0, internal_6.createChildMonitoringContext)({ logger: baseLogger });
|
|
@@ -186,42 +195,42 @@ class ChannelCollection {
|
|
|
186
195
|
unreferencedDataStoreCount++;
|
|
187
196
|
}
|
|
188
197
|
// If we have a detached container, then create local data store contexts.
|
|
189
|
-
if (this.parentContext.attachState
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
snapshotForRemoteFluidDatastoreContext = {
|
|
193
|
-
...baseSnapshot,
|
|
194
|
-
snapshotTree: value,
|
|
195
|
-
};
|
|
198
|
+
if (this.parentContext.attachState === container_definitions_1.AttachState.Detached) {
|
|
199
|
+
if (typeof value !== "object") {
|
|
200
|
+
throw new internal_6.LoggingError("Snapshot should be there to load from!!");
|
|
196
201
|
}
|
|
197
|
-
|
|
202
|
+
const snapshotTree = value;
|
|
203
|
+
dataStoreContext = new dataStoreContext_js_1.LocalFluidDataStoreContext({
|
|
198
204
|
id: key,
|
|
199
|
-
|
|
205
|
+
pkg: undefined,
|
|
200
206
|
parentContext: this.wrapContextForInnerChannel(key),
|
|
201
207
|
storage: this.parentContext.storage,
|
|
202
208
|
scope: this.parentContext.scope,
|
|
203
209
|
createSummarizerNodeFn: this.parentContext.getCreateChildSummarizerNodeFn(key, {
|
|
204
210
|
type: internal_4.CreateSummarizerNodeSource.FromSummary,
|
|
205
211
|
}),
|
|
206
|
-
|
|
212
|
+
makeLocallyVisibleFn: () => this.makeDataStoreLocallyVisible(key),
|
|
213
|
+
snapshotTree,
|
|
207
214
|
});
|
|
208
215
|
}
|
|
209
216
|
else {
|
|
210
|
-
|
|
211
|
-
|
|
217
|
+
let snapshotForRemoteFluidDatastoreContext = value;
|
|
218
|
+
if ((0, internal_3.isInstanceOfISnapshot)(baseSnapshot)) {
|
|
219
|
+
snapshotForRemoteFluidDatastoreContext = {
|
|
220
|
+
...baseSnapshot,
|
|
221
|
+
snapshotTree: value,
|
|
222
|
+
};
|
|
212
223
|
}
|
|
213
|
-
|
|
214
|
-
dataStoreContext = new dataStoreContext_js_1.LocalFluidDataStoreContext({
|
|
224
|
+
dataStoreContext = new dataStoreContext_js_1.RemoteFluidDataStoreContext({
|
|
215
225
|
id: key,
|
|
216
|
-
|
|
226
|
+
snapshot: snapshotForRemoteFluidDatastoreContext,
|
|
217
227
|
parentContext: this.wrapContextForInnerChannel(key),
|
|
218
228
|
storage: this.parentContext.storage,
|
|
219
229
|
scope: this.parentContext.scope,
|
|
220
230
|
createSummarizerNodeFn: this.parentContext.getCreateChildSummarizerNodeFn(key, {
|
|
221
231
|
type: internal_4.CreateSummarizerNodeSource.FromSummary,
|
|
222
232
|
}),
|
|
223
|
-
|
|
224
|
-
snapshotTree,
|
|
233
|
+
loadingGroupId: value.groupId,
|
|
225
234
|
});
|
|
226
235
|
}
|
|
227
236
|
this.contexts.addBoundOrRemoted(dataStoreContext);
|
|
@@ -371,7 +380,9 @@ class ChannelCollection {
|
|
|
371
380
|
alreadyProcessed(id) {
|
|
372
381
|
return this.aliasMap.get(id) !== undefined || this.contexts.get(id) !== undefined;
|
|
373
382
|
}
|
|
374
|
-
/**
|
|
383
|
+
/**
|
|
384
|
+
* Package up the context's attach summary etc into an IAttachMessage
|
|
385
|
+
*/
|
|
375
386
|
generateAttachMessage(localContext) {
|
|
376
387
|
// Get the attach summary.
|
|
377
388
|
const attachSummary = localContext.getAttachSummary();
|
|
@@ -452,13 +463,12 @@ class ChannelCollection {
|
|
|
452
463
|
return (0, uuid_1.v4)();
|
|
453
464
|
}
|
|
454
465
|
createDetachedDataStore(pkg, loadingGroupId) {
|
|
455
|
-
return this.createContext(this.createDataStoreId(), pkg, dataStoreContext_js_1.LocalDetachedFluidDataStoreContext,
|
|
456
|
-
loadingGroupId);
|
|
466
|
+
return this.createContext(this.createDataStoreId(), pkg, dataStoreContext_js_1.LocalDetachedFluidDataStoreContext, loadingGroupId);
|
|
457
467
|
}
|
|
458
|
-
createDataStoreContext(pkg,
|
|
459
|
-
return this.createContext(this.createDataStoreId(), pkg, dataStoreContext_js_1.LocalFluidDataStoreContext,
|
|
468
|
+
createDataStoreContext(pkg, loadingGroupId) {
|
|
469
|
+
return this.createContext(this.createDataStoreId(), pkg, dataStoreContext_js_1.LocalFluidDataStoreContext, loadingGroupId);
|
|
460
470
|
}
|
|
461
|
-
createContext(id, pkg, contextCtor,
|
|
471
|
+
createContext(id, pkg, contextCtor, loadingGroupId) {
|
|
462
472
|
(0, internal_1.assert)(loadingGroupId !== "", 0x974 /* loadingGroupId should not be the empty string */);
|
|
463
473
|
const context = new contextCtor({
|
|
464
474
|
id,
|
|
@@ -471,7 +481,6 @@ class ChannelCollection {
|
|
|
471
481
|
}),
|
|
472
482
|
makeLocallyVisibleFn: () => this.makeDataStoreLocallyVisible(id),
|
|
473
483
|
snapshotTree: undefined,
|
|
474
|
-
createProps,
|
|
475
484
|
loadingGroupId,
|
|
476
485
|
channelToDataStoreFn: (channel) => (0, dataStore_js_1.channelToDataStore)(channel, id, this, (0, internal_6.createChildLogger)({ logger: this.parentContext.baseLogger })),
|
|
477
486
|
});
|
|
@@ -484,13 +493,16 @@ class ChannelCollection {
|
|
|
484
493
|
reSubmit(type, content, localOpMetadata) {
|
|
485
494
|
switch (type) {
|
|
486
495
|
case messageTypes_js_1.ContainerMessageType.Attach:
|
|
487
|
-
case messageTypes_js_1.ContainerMessageType.Alias:
|
|
496
|
+
case messageTypes_js_1.ContainerMessageType.Alias: {
|
|
488
497
|
this.parentContext.submitMessage(type, content, localOpMetadata);
|
|
489
498
|
return;
|
|
490
|
-
|
|
499
|
+
}
|
|
500
|
+
case messageTypes_js_1.ContainerMessageType.FluidDataStoreOp: {
|
|
491
501
|
return this.reSubmitChannelOp(type, content, localOpMetadata);
|
|
492
|
-
|
|
502
|
+
}
|
|
503
|
+
default: {
|
|
493
504
|
(0, internal_1.assert)(false, 0x907 /* unknown op type */);
|
|
505
|
+
}
|
|
494
506
|
}
|
|
495
507
|
}
|
|
496
508
|
reSubmitChannelOp(type, content, localOpMetadata) {
|
|
@@ -527,14 +539,18 @@ class ChannelCollection {
|
|
|
527
539
|
async applyStashedOp(content) {
|
|
528
540
|
const opContents = content;
|
|
529
541
|
switch (opContents.type) {
|
|
530
|
-
case messageTypes_js_1.ContainerMessageType.Attach:
|
|
542
|
+
case messageTypes_js_1.ContainerMessageType.Attach: {
|
|
531
543
|
return this.applyStashedAttachOp(opContents.contents);
|
|
532
|
-
|
|
544
|
+
}
|
|
545
|
+
case messageTypes_js_1.ContainerMessageType.Alias: {
|
|
533
546
|
return;
|
|
534
|
-
|
|
547
|
+
}
|
|
548
|
+
case messageTypes_js_1.ContainerMessageType.FluidDataStoreOp: {
|
|
535
549
|
return this.applyStashedChannelChannelOp(opContents.contents);
|
|
536
|
-
|
|
550
|
+
}
|
|
551
|
+
default: {
|
|
537
552
|
(0, internal_1.assert)(false, 0x908 /* unknon type of op */);
|
|
553
|
+
}
|
|
538
554
|
}
|
|
539
555
|
}
|
|
540
556
|
async applyStashedChannelChannelOp(envelope) {
|
|
@@ -582,7 +598,7 @@ class ChannelCollection {
|
|
|
582
598
|
// if the client is not detached put in the pending attach list
|
|
583
599
|
// so that on ack of the stashed op, the context is found.
|
|
584
600
|
// detached client don't send ops, so should not expect and ack.
|
|
585
|
-
this.pendingAttach.set(
|
|
601
|
+
this.pendingAttach.set(id, message);
|
|
586
602
|
}
|
|
587
603
|
}
|
|
588
604
|
/**
|
|
@@ -591,17 +607,21 @@ class ChannelCollection {
|
|
|
591
607
|
*/
|
|
592
608
|
processMessages(messageCollection) {
|
|
593
609
|
switch (messageCollection.envelope.type) {
|
|
594
|
-
case messageTypes_js_1.ContainerMessageType.FluidDataStoreOp:
|
|
610
|
+
case messageTypes_js_1.ContainerMessageType.FluidDataStoreOp: {
|
|
595
611
|
this.processChannelMessages(messageCollection);
|
|
596
612
|
break;
|
|
597
|
-
|
|
613
|
+
}
|
|
614
|
+
case messageTypes_js_1.ContainerMessageType.Attach: {
|
|
598
615
|
this.processAttachMessages(messageCollection);
|
|
599
616
|
break;
|
|
600
|
-
|
|
617
|
+
}
|
|
618
|
+
case messageTypes_js_1.ContainerMessageType.Alias: {
|
|
601
619
|
this.processAliasMessages(messageCollection);
|
|
602
620
|
break;
|
|
603
|
-
|
|
621
|
+
}
|
|
622
|
+
default: {
|
|
604
623
|
(0, internal_1.assert)(false, 0x8e9 /* unreached */);
|
|
624
|
+
}
|
|
605
625
|
}
|
|
606
626
|
}
|
|
607
627
|
/**
|
|
@@ -628,7 +648,7 @@ class ChannelCollection {
|
|
|
628
648
|
* @param messageCollection - The collection of messages to process.
|
|
629
649
|
*/
|
|
630
650
|
processChannelMessages(messageCollection) {
|
|
631
|
-
const { messagesContent, local } = messageCollection;
|
|
651
|
+
const { envelope, messagesContent, local } = messageCollection;
|
|
632
652
|
let currentMessageState;
|
|
633
653
|
let currentMessagesContent = [];
|
|
634
654
|
// Helper that sends the current bunch of messages to the data store. It validates that the data stores exists.
|
|
@@ -640,7 +660,7 @@ class ChannelCollection {
|
|
|
640
660
|
const currentContext = this.contexts.get(currentMessageState.address);
|
|
641
661
|
(0, internal_1.assert)(!!currentContext, 0xa66 /* Context not found */);
|
|
642
662
|
currentContext.processMessages({
|
|
643
|
-
envelope: { ...
|
|
663
|
+
envelope: { ...envelope, type: currentMessageState.type },
|
|
644
664
|
messagesContent: currentMessagesContent,
|
|
645
665
|
local,
|
|
646
666
|
});
|
|
@@ -662,10 +682,10 @@ class ChannelCollection {
|
|
|
662
682
|
}
|
|
663
683
|
if (context === undefined) {
|
|
664
684
|
// Former assert 0x162
|
|
665
|
-
throw internal_6.DataProcessingError.create("No context for op", "processFluidDataStoreOp",
|
|
685
|
+
throw internal_6.DataProcessingError.create("No context for op", "processFluidDataStoreOp", envelope, {
|
|
666
686
|
local,
|
|
667
687
|
messageDetails: JSON.stringify({
|
|
668
|
-
type:
|
|
688
|
+
type: envelope.type,
|
|
669
689
|
contentType: typeof contents,
|
|
670
690
|
}),
|
|
671
691
|
...(0, internal_6.tagCodeArtifacts)({ address }),
|
|
@@ -687,10 +707,10 @@ class ChannelCollection {
|
|
|
687
707
|
this.gcNodeUpdated({
|
|
688
708
|
node: { type: "DataStore", path: `/${address}` },
|
|
689
709
|
reason: "Changed",
|
|
690
|
-
timestampMs:
|
|
710
|
+
timestampMs: envelope.timestamp,
|
|
691
711
|
packagePath: context.isLoaded ? context.packagePath : undefined,
|
|
692
712
|
});
|
|
693
|
-
detectOutboundReferences(address, contextContents, (fromPath, toPath) => this.parentContext.addedGCOutboundRoute(fromPath, toPath,
|
|
713
|
+
detectOutboundReferences(address, contextContents, (fromPath, toPath) => this.parentContext.addedGCOutboundRoute(fromPath, toPath, envelope.timestamp));
|
|
694
714
|
}
|
|
695
715
|
// Process the last bunch of messages, if any. Note that there may not be any messages in case all of them are
|
|
696
716
|
// ignored because the data store is deleted.
|
|
@@ -701,6 +721,7 @@ class ChannelCollection {
|
|
|
701
721
|
if (this.checkAndLogIfDeleted(id, this.contexts.get(id), "Requested", "getDataStore", requestHeaderData, originalRequest)) {
|
|
702
722
|
// The requested data store has been deleted by gc. Create a 404 response exception.
|
|
703
723
|
throw (0, internal_5.responseToException)((0, internal_5.createResponseError)(404, "DataStore was deleted", originalRequest, {
|
|
724
|
+
// eslint-disable-next-line import/no-deprecated
|
|
704
725
|
[containerRuntime_js_1.DeletedResponseHeaderKey]: true,
|
|
705
726
|
}), originalRequest);
|
|
706
727
|
}
|
|
@@ -742,7 +763,7 @@ class ChannelCollection {
|
|
|
742
763
|
if (!this.isDataStoreDeleted(dataStoreNodePath)) {
|
|
743
764
|
return false;
|
|
744
765
|
}
|
|
745
|
-
const idToLog = originalRequest
|
|
766
|
+
const idToLog = originalRequest === undefined ? dataStoreNodePath : (0, index_js_1.urlToGCNodePath)(originalRequest.url);
|
|
746
767
|
// Log the package details asynchronously since getInitialSnapshotDetails is async
|
|
747
768
|
const recentlyDeletedContext = this.contexts.getRecentlyDeletedContext(id);
|
|
748
769
|
if (recentlyDeletedContext !== undefined) {
|
|
@@ -781,6 +802,7 @@ class ChannelCollection {
|
|
|
781
802
|
processSignal(messageArg, local) {
|
|
782
803
|
const envelope = messageArg.content;
|
|
783
804
|
const fluidDataStoreId = envelope.address;
|
|
805
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
784
806
|
const message = { ...messageArg, content: envelope.contents };
|
|
785
807
|
const context = this.contexts.get(fluidDataStoreId);
|
|
786
808
|
// If the data store has been deleted, log an error and ignore this message. This helps prevent document
|
|
@@ -864,7 +886,7 @@ class ChannelCollection {
|
|
|
864
886
|
builder.prefixAndAddNodes(contextId, contextGCData.gcNodes);
|
|
865
887
|
});
|
|
866
888
|
// Get the outbound routes (aliased data stores) and add a GC node for this channel.
|
|
867
|
-
builder.addNode("/",
|
|
889
|
+
builder.addNode("/", [...this.aliasedDataStores]);
|
|
868
890
|
return builder.getGCData();
|
|
869
891
|
}
|
|
870
892
|
/**
|
|
@@ -1029,7 +1051,7 @@ class ChannelCollection {
|
|
|
1029
1051
|
}
|
|
1030
1052
|
this.deleteChild(dataStoreId);
|
|
1031
1053
|
}
|
|
1032
|
-
return
|
|
1054
|
+
return [...sweepReadyDataStoreRoutes];
|
|
1033
1055
|
}
|
|
1034
1056
|
/**
|
|
1035
1057
|
* This is called to update objects whose routes are tombstones.
|
|
@@ -1078,12 +1100,14 @@ class ChannelCollection {
|
|
|
1078
1100
|
// If the node belongs to a data store, return its package path. For DDSes, we return the package path of the
|
|
1079
1101
|
// data store that contains it.
|
|
1080
1102
|
const context = this.contexts.get(nodePath.split("/")[1]);
|
|
1081
|
-
|
|
1103
|
+
const initialSnapshotDetails = await context?.getInitialSnapshotDetails();
|
|
1104
|
+
return initialSnapshotDetails?.pkg;
|
|
1082
1105
|
}
|
|
1083
1106
|
/**
|
|
1084
1107
|
* Called by GC to determine if a node is for a data store or for an object within a data store (for e.g. DDS).
|
|
1085
1108
|
* @returns the GC node type if the node belongs to a data store or object within data store, undefined otherwise.
|
|
1086
1109
|
*/
|
|
1110
|
+
// eslint-disable-next-line import/no-deprecated
|
|
1087
1111
|
getGCNodeType(nodePath) {
|
|
1088
1112
|
const pathParts = nodePath.split("/");
|
|
1089
1113
|
if (!this.contexts.has(pathParts[1])) {
|
|
@@ -1092,8 +1116,10 @@ class ChannelCollection {
|
|
|
1092
1116
|
// Data stores paths are of the format "/dataStoreId".
|
|
1093
1117
|
// Sub data store paths are of the format "/dataStoreId/subPath/...".
|
|
1094
1118
|
if (pathParts.length === 2) {
|
|
1119
|
+
// eslint-disable-next-line import/no-deprecated
|
|
1095
1120
|
return index_js_1.GCNodeType.DataStore;
|
|
1096
1121
|
}
|
|
1122
|
+
// eslint-disable-next-line import/no-deprecated
|
|
1097
1123
|
return index_js_1.GCNodeType.SubDataStore;
|
|
1098
1124
|
}
|
|
1099
1125
|
internalId(maybeAlias) {
|
|
@@ -1142,7 +1168,9 @@ class ChannelCollection {
|
|
|
1142
1168
|
}
|
|
1143
1169
|
}
|
|
1144
1170
|
exports.ChannelCollection = ChannelCollection;
|
|
1145
|
-
function getSummaryForDatastores(snapshot,
|
|
1171
|
+
function getSummaryForDatastores(snapshot,
|
|
1172
|
+
// eslint-disable-next-line import/no-deprecated
|
|
1173
|
+
metadata) {
|
|
1146
1174
|
if (!snapshot) {
|
|
1147
1175
|
return undefined;
|
|
1148
1176
|
}
|
|
@@ -1196,10 +1224,14 @@ function detectOutboundReferences(address, contents, addedOutboundReference) {
|
|
|
1196
1224
|
// GC node paths are all absolute paths, hence the "" prefix.
|
|
1197
1225
|
// e.g. this will yield "/dataStoreId/ddsId"
|
|
1198
1226
|
const fromPath = ["", address, ddsAddress].join("/");
|
|
1199
|
-
|
|
1227
|
+
for (const toPath of outboundPaths) {
|
|
1228
|
+
addedOutboundReference(fromPath, toPath);
|
|
1229
|
+
}
|
|
1200
1230
|
}
|
|
1201
1231
|
exports.detectOutboundReferences = detectOutboundReferences;
|
|
1202
|
-
/**
|
|
1232
|
+
/**
|
|
1233
|
+
* @internal
|
|
1234
|
+
*/
|
|
1203
1235
|
class ChannelCollectionFactory {
|
|
1204
1236
|
constructor(registryEntries,
|
|
1205
1237
|
// ADO:7302 We need a better type here
|