@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
|
@@ -8,11 +8,10 @@ import {
|
|
|
8
8
|
ContainerWarning,
|
|
9
9
|
} from "@fluidframework/container-definitions/internal";
|
|
10
10
|
import type {
|
|
11
|
-
ISummarizerEvents
|
|
12
|
-
SummarizerStopReason
|
|
11
|
+
ISummarizerEvents,
|
|
12
|
+
SummarizerStopReason,
|
|
13
13
|
} from "@fluidframework/container-runtime-definitions/internal";
|
|
14
14
|
import {
|
|
15
|
-
IEvent,
|
|
16
15
|
IEventProvider,
|
|
17
16
|
ITelemetryBaseProperties,
|
|
18
17
|
ITelemetryBaseLogger,
|
|
@@ -42,9 +41,12 @@ import { SummarizeReason } from "./summaryGenerator.js";
|
|
|
42
41
|
* @param T - cancellation reason type
|
|
43
42
|
* @legacy
|
|
44
43
|
* @alpha
|
|
44
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
45
45
|
*/
|
|
46
46
|
export interface ICancellationToken<T> {
|
|
47
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* Tells if this cancellable token is cancelled
|
|
49
|
+
*/
|
|
48
50
|
readonly cancelled: boolean;
|
|
49
51
|
/**
|
|
50
52
|
* Promise that gets fulfilled when this cancellable token is cancelled
|
|
@@ -57,34 +59,49 @@ export interface ICancellationToken<T> {
|
|
|
57
59
|
* Similar to AbortSignal, but using promise instead of events
|
|
58
60
|
* @legacy
|
|
59
61
|
* @alpha
|
|
62
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
60
63
|
*/
|
|
61
|
-
export type ISummaryCancellationToken = ICancellationToken<
|
|
64
|
+
export type ISummaryCancellationToken = ICancellationToken<SummarizerStopReason>;
|
|
62
65
|
|
|
63
66
|
/**
|
|
64
67
|
* Data required to update internal tracking state after receiving a Summary Ack.
|
|
65
68
|
* @legacy
|
|
66
69
|
* @alpha
|
|
70
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
67
71
|
*/
|
|
68
72
|
export interface IRefreshSummaryAckOptions {
|
|
69
|
-
/**
|
|
73
|
+
/**
|
|
74
|
+
* Handle from the ack's summary op.
|
|
75
|
+
*/
|
|
70
76
|
readonly proposalHandle: string | undefined;
|
|
71
|
-
/**
|
|
77
|
+
/**
|
|
78
|
+
* Handle from the summary ack just received
|
|
79
|
+
*/
|
|
72
80
|
readonly ackHandle: string;
|
|
73
|
-
/**
|
|
81
|
+
/**
|
|
82
|
+
* Reference sequence number from the ack's summary op
|
|
83
|
+
*/
|
|
74
84
|
readonly summaryRefSeq: number;
|
|
75
|
-
/**
|
|
85
|
+
/**
|
|
86
|
+
* Telemetry logger to which telemetry events will be forwarded.
|
|
87
|
+
*/
|
|
76
88
|
readonly summaryLogger: ITelemetryLoggerExt;
|
|
77
89
|
}
|
|
78
90
|
|
|
79
91
|
/**
|
|
80
92
|
* @legacy
|
|
81
93
|
* @alpha
|
|
94
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
82
95
|
*/
|
|
83
96
|
export interface ISummarizerInternalsProvider {
|
|
84
|
-
/**
|
|
97
|
+
/**
|
|
98
|
+
* Encapsulates the work to walk the internals of the running container to generate a summary
|
|
99
|
+
*/
|
|
85
100
|
submitSummary(options: ISubmitSummaryOptions): Promise<SubmitSummaryResult>;
|
|
86
101
|
|
|
87
|
-
/**
|
|
102
|
+
/**
|
|
103
|
+
* Callback whenever a new SummaryAck is received, to update internal tracking state
|
|
104
|
+
*/
|
|
88
105
|
refreshLatestSummaryAck(options: IRefreshSummaryAckOptions): Promise<void>;
|
|
89
106
|
}
|
|
90
107
|
|
|
@@ -99,6 +116,7 @@ export interface ISummarizingWarning extends ContainerWarning {
|
|
|
99
116
|
/**
|
|
100
117
|
* @legacy
|
|
101
118
|
* @alpha
|
|
119
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
102
120
|
*/
|
|
103
121
|
export interface IConnectableRuntime {
|
|
104
122
|
readonly disposed: boolean;
|
|
@@ -110,10 +128,13 @@ export interface IConnectableRuntime {
|
|
|
110
128
|
/**
|
|
111
129
|
* @legacy
|
|
112
130
|
* @alpha
|
|
131
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
113
132
|
*/
|
|
114
133
|
export interface ISummarizerRuntime extends IConnectableRuntime {
|
|
115
134
|
readonly baseLogger: ITelemetryBaseLogger;
|
|
116
|
-
/**
|
|
135
|
+
/**
|
|
136
|
+
* clientId of parent (non-summarizing) container that owns summarizer container
|
|
137
|
+
*/
|
|
117
138
|
readonly summarizerClientId: string | undefined;
|
|
118
139
|
readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
|
|
119
140
|
disposeFn(): void;
|
|
@@ -134,22 +155,33 @@ export interface ISummarizerRuntime extends IConnectableRuntime {
|
|
|
134
155
|
* @alpha
|
|
135
156
|
*/
|
|
136
157
|
export interface ISummarizeOptions {
|
|
137
|
-
/**
|
|
158
|
+
/**
|
|
159
|
+
* True to generate the full tree with no handle reuse optimizations; defaults to false
|
|
160
|
+
*/
|
|
138
161
|
readonly fullTree?: boolean;
|
|
139
162
|
}
|
|
140
163
|
|
|
141
164
|
/**
|
|
142
165
|
* @legacy
|
|
143
166
|
* @alpha
|
|
167
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
144
168
|
*/
|
|
145
169
|
export interface ISubmitSummaryOptions extends ISummarizeOptions {
|
|
146
|
-
/**
|
|
170
|
+
/**
|
|
171
|
+
* Logger to use for correlated summary events
|
|
172
|
+
*/
|
|
147
173
|
readonly summaryLogger: ITelemetryLoggerExt;
|
|
148
|
-
/**
|
|
174
|
+
/**
|
|
175
|
+
* Tells when summary process should be cancelled
|
|
176
|
+
*/
|
|
149
177
|
readonly cancellationToken: ISummaryCancellationToken;
|
|
150
|
-
/**
|
|
178
|
+
/**
|
|
179
|
+
* Summarization may be attempted multiple times. This tells whether this is the final summarization attempt.
|
|
180
|
+
*/
|
|
151
181
|
readonly finalAttempt?: boolean;
|
|
152
|
-
/**
|
|
182
|
+
/**
|
|
183
|
+
* The sequence number of the latest summary used to validate if summary state is correct before summarizing
|
|
184
|
+
*/
|
|
153
185
|
readonly latestSummaryRefSeqNum: number;
|
|
154
186
|
}
|
|
155
187
|
|
|
@@ -158,9 +190,13 @@ export interface ISubmitSummaryOptions extends ISummarizeOptions {
|
|
|
158
190
|
* @alpha
|
|
159
191
|
*/
|
|
160
192
|
export interface IOnDemandSummarizeOptions extends ISummarizeOptions {
|
|
161
|
-
/**
|
|
193
|
+
/**
|
|
194
|
+
* Reason for generating summary.
|
|
195
|
+
*/
|
|
162
196
|
readonly reason: string;
|
|
163
|
-
/**
|
|
197
|
+
/**
|
|
198
|
+
* In case of a failure, will attempt to retry based on if the failure is retriable.
|
|
199
|
+
*/
|
|
164
200
|
readonly retryOnFailure?: boolean;
|
|
165
201
|
}
|
|
166
202
|
|
|
@@ -170,7 +206,9 @@ export interface IOnDemandSummarizeOptions extends ISummarizeOptions {
|
|
|
170
206
|
* @alpha
|
|
171
207
|
*/
|
|
172
208
|
export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
|
|
173
|
-
/**
|
|
209
|
+
/**
|
|
210
|
+
* If specified, The summarize attempt will not occur until after this sequence number.
|
|
211
|
+
*/
|
|
174
212
|
readonly afterSequenceNumber?: number;
|
|
175
213
|
|
|
176
214
|
/**
|
|
@@ -189,17 +227,29 @@ export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
|
|
|
189
227
|
* @alpha
|
|
190
228
|
*/
|
|
191
229
|
export interface IGeneratedSummaryStats extends ISummaryStats {
|
|
192
|
-
/**
|
|
230
|
+
/**
|
|
231
|
+
* The total number of data stores in the container.
|
|
232
|
+
*/
|
|
193
233
|
readonly dataStoreCount: number;
|
|
194
|
-
/**
|
|
234
|
+
/**
|
|
235
|
+
* The number of data stores that were summarized in this summary.
|
|
236
|
+
*/
|
|
195
237
|
readonly summarizedDataStoreCount: number;
|
|
196
|
-
/**
|
|
238
|
+
/**
|
|
239
|
+
* The number of data stores whose GC reference state was updated in this summary.
|
|
240
|
+
*/
|
|
197
241
|
readonly gcStateUpdatedDataStoreCount?: number;
|
|
198
|
-
/**
|
|
242
|
+
/**
|
|
243
|
+
* The size of the gc blobs in this summary.
|
|
244
|
+
*/
|
|
199
245
|
readonly gcTotalBlobsSize?: number;
|
|
200
|
-
/**
|
|
246
|
+
/**
|
|
247
|
+
* The number of gc blobs in this summary.
|
|
248
|
+
*/
|
|
201
249
|
readonly gcBlobNodeCount?: number;
|
|
202
|
-
/**
|
|
250
|
+
/**
|
|
251
|
+
* The summary number for a container's summary. Incremented on summaries throughout its lifetime.
|
|
252
|
+
*/
|
|
203
253
|
readonly summaryNumber: number;
|
|
204
254
|
}
|
|
205
255
|
|
|
@@ -219,9 +269,13 @@ export interface IRetriableFailureError extends Error {
|
|
|
219
269
|
*/
|
|
220
270
|
export interface IBaseSummarizeResult {
|
|
221
271
|
readonly stage: "base";
|
|
222
|
-
/**
|
|
272
|
+
/**
|
|
273
|
+
* Retriable error object related to failed summarize attempt.
|
|
274
|
+
*/
|
|
223
275
|
readonly error: IRetriableFailureError | undefined;
|
|
224
|
-
/**
|
|
276
|
+
/**
|
|
277
|
+
* Reference sequence number as of the generate summary attempt.
|
|
278
|
+
*/
|
|
225
279
|
readonly referenceSequenceNumber: number;
|
|
226
280
|
readonly minimumSequenceNumber: number;
|
|
227
281
|
}
|
|
@@ -233,11 +287,17 @@ export interface IBaseSummarizeResult {
|
|
|
233
287
|
*/
|
|
234
288
|
export interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, "stage"> {
|
|
235
289
|
readonly stage: "generate";
|
|
236
|
-
/**
|
|
290
|
+
/**
|
|
291
|
+
* Generated summary tree.
|
|
292
|
+
*/
|
|
237
293
|
readonly summaryTree: ISummaryTree;
|
|
238
|
-
/**
|
|
294
|
+
/**
|
|
295
|
+
* Stats for generated summary tree.
|
|
296
|
+
*/
|
|
239
297
|
readonly summaryStats: IGeneratedSummaryStats;
|
|
240
|
-
/**
|
|
298
|
+
/**
|
|
299
|
+
* Time it took to generate the summary tree and stats.
|
|
300
|
+
*/
|
|
241
301
|
readonly generateDuration: number;
|
|
242
302
|
}
|
|
243
303
|
|
|
@@ -248,9 +308,13 @@ export interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, "
|
|
|
248
308
|
*/
|
|
249
309
|
export interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, "stage"> {
|
|
250
310
|
readonly stage: "upload";
|
|
251
|
-
/**
|
|
311
|
+
/**
|
|
312
|
+
* The handle returned by storage pointing to the uploaded summary tree.
|
|
313
|
+
*/
|
|
252
314
|
readonly handle: string;
|
|
253
|
-
/**
|
|
315
|
+
/**
|
|
316
|
+
* Time it took to upload the summary tree to storage.
|
|
317
|
+
*/
|
|
254
318
|
readonly uploadDuration: number;
|
|
255
319
|
}
|
|
256
320
|
|
|
@@ -261,9 +325,13 @@ export interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, "
|
|
|
261
325
|
*/
|
|
262
326
|
export interface ISubmitSummaryOpResult extends Omit<IUploadSummaryResult, "stage" | "error"> {
|
|
263
327
|
readonly stage: "submit";
|
|
264
|
-
/**
|
|
328
|
+
/**
|
|
329
|
+
* The client sequence number of the summarize op submitted for the summary.
|
|
330
|
+
*/
|
|
265
331
|
readonly clientSequenceNumber: number;
|
|
266
|
-
/**
|
|
332
|
+
/**
|
|
333
|
+
* Time it took to submit the summarize op to the broadcasting service.
|
|
334
|
+
*/
|
|
267
335
|
readonly submitOpDuration: number;
|
|
268
336
|
}
|
|
269
337
|
|
|
@@ -355,13 +423,19 @@ export type SummarizeResultPart<TSuccess, TFailure = undefined> =
|
|
|
355
423
|
* @alpha
|
|
356
424
|
*/
|
|
357
425
|
export interface ISummarizeResults {
|
|
358
|
-
/**
|
|
426
|
+
/**
|
|
427
|
+
* Resolves when we generate, upload, and submit the summary.
|
|
428
|
+
*/
|
|
359
429
|
readonly summarySubmitted: Promise<
|
|
360
430
|
SummarizeResultPart<SubmitSummaryResult, SubmitSummaryFailureData>
|
|
361
431
|
>;
|
|
362
|
-
/**
|
|
432
|
+
/**
|
|
433
|
+
* Resolves when we observe our summarize op broadcast.
|
|
434
|
+
*/
|
|
363
435
|
readonly summaryOpBroadcasted: Promise<SummarizeResultPart<IBroadcastSummaryResult>>;
|
|
364
|
-
/**
|
|
436
|
+
/**
|
|
437
|
+
* Resolves when we receive a summaryAck or summaryNack.
|
|
438
|
+
*/
|
|
365
439
|
readonly receivedSummaryAckOrNack: Promise<
|
|
366
440
|
SummarizeResultPart<IAckSummaryResult, INackSummaryResult>
|
|
367
441
|
>;
|
|
@@ -380,7 +454,9 @@ export type EnqueueSummarizeResult =
|
|
|
380
454
|
readonly alreadyEnqueued?: undefined;
|
|
381
455
|
})
|
|
382
456
|
| (ISummarizeResults & {
|
|
383
|
-
/**
|
|
457
|
+
/**
|
|
458
|
+
* Indicates that another summarize attempt was already enqueued.
|
|
459
|
+
*/
|
|
384
460
|
readonly alreadyEnqueued: true;
|
|
385
461
|
/**
|
|
386
462
|
* Indicates that the other enqueued summarize attempt was abandoned,
|
|
@@ -389,7 +465,9 @@ export type EnqueueSummarizeResult =
|
|
|
389
465
|
readonly overridden: true;
|
|
390
466
|
})
|
|
391
467
|
| {
|
|
392
|
-
/**
|
|
468
|
+
/**
|
|
469
|
+
* Indicates that another summarize attempt was already enqueued.
|
|
470
|
+
*/
|
|
393
471
|
readonly alreadyEnqueued: true;
|
|
394
472
|
/**
|
|
395
473
|
* Indicates that the other enqueued summarize attempt remains enqueued,
|
|
@@ -401,60 +479,8 @@ export type EnqueueSummarizeResult =
|
|
|
401
479
|
/**
|
|
402
480
|
* @legacy
|
|
403
481
|
* @alpha
|
|
404
|
-
* @deprecated Use SummarizerStopReason from the "\@fluidframework/container-runtime-definitions" package
|
|
405
482
|
*/
|
|
406
|
-
export
|
|
407
|
-
/** Summarizer client failed to summarize in all attempts. */
|
|
408
|
-
| "failToSummarize"
|
|
409
|
-
/** Parent client reported that it is no longer connected. */
|
|
410
|
-
| "parentNotConnected"
|
|
411
|
-
/**
|
|
412
|
-
* Parent client reported that it is no longer elected the summarizer.
|
|
413
|
-
* This is the normal flow; a disconnect will always trigger the parent
|
|
414
|
-
* client to no longer be elected as responsible for summaries. Then it
|
|
415
|
-
* tries to stop its spawned summarizer client.
|
|
416
|
-
*/
|
|
417
|
-
| "notElectedParent"
|
|
418
|
-
/**
|
|
419
|
-
* We are not already running the summarizer and we are not the current elected client id.
|
|
420
|
-
*/
|
|
421
|
-
| "notElectedClient"
|
|
422
|
-
/** Summarizer client was disconnected */
|
|
423
|
-
| "summarizerClientDisconnected"
|
|
424
|
-
/** running summarizer threw an exception */
|
|
425
|
-
| "summarizerException"
|
|
426
|
-
/**
|
|
427
|
-
* The previous summary state on the summarizer is not the most recently acked summary. this also happens when the
|
|
428
|
-
* first submitSummary attempt fails for any reason and there's a 2nd summary attempt without an ack
|
|
429
|
-
*/
|
|
430
|
-
| "latestSummaryStateStale";
|
|
431
|
-
|
|
432
|
-
/**
|
|
433
|
-
* @legacy
|
|
434
|
-
* @alpha
|
|
435
|
-
* @deprecated Use ISummarizeEventProps from the "\@fluidframework/container-runtime-definitions" package
|
|
436
|
-
*/
|
|
437
|
-
export interface ISummarizeEventProps {
|
|
438
|
-
result: "success" | "failure" | "canceled";
|
|
439
|
-
currentAttempt: number;
|
|
440
|
-
maxAttempts: number;
|
|
441
|
-
error?: any;
|
|
442
|
-
}
|
|
443
|
-
|
|
444
|
-
/**
|
|
445
|
-
* @legacy
|
|
446
|
-
* @alpha
|
|
447
|
-
* @deprecated Use ISummarizerEvents from the "\@fluidframework/container-runtime-definitions" package
|
|
448
|
-
*/
|
|
449
|
-
export interface ISummarizerEvents extends IEvent {
|
|
450
|
-
(event: "summarize", listener: (props: ISummarizeEventProps) => void);
|
|
451
|
-
}
|
|
452
|
-
|
|
453
|
-
/**
|
|
454
|
-
* @legacy
|
|
455
|
-
* @alpha
|
|
456
|
-
*/
|
|
457
|
-
export interface ISummarizer extends IEventProvider<NewISummarizerEvents> {
|
|
483
|
+
export interface ISummarizer extends IEventProvider<ISummarizerEvents> {
|
|
458
484
|
/**
|
|
459
485
|
* Allows {@link ISummarizer} to be used with our {@link @fluidframework/core-interfaces#FluidObject} pattern.
|
|
460
486
|
*/
|
|
@@ -465,12 +491,12 @@ export interface ISummarizer extends IEventProvider<NewISummarizerEvents> {
|
|
|
465
491
|
* Summarizer will finish current processes, which may take a while.
|
|
466
492
|
* For example, summarizer may complete last summary before exiting.
|
|
467
493
|
*/
|
|
468
|
-
stop(reason:
|
|
494
|
+
stop(reason: SummarizerStopReason): void;
|
|
469
495
|
|
|
470
496
|
/* Closes summarizer. Any pending processes (summary in flight) are abandoned. */
|
|
471
497
|
close(): void;
|
|
472
498
|
|
|
473
|
-
run(onBehalfOf: string): Promise<
|
|
499
|
+
run(onBehalfOf: string): Promise<SummarizerStopReason>;
|
|
474
500
|
|
|
475
501
|
/**
|
|
476
502
|
* Attempts to generate a summary on demand. If already running, takes no action.
|
|
@@ -497,39 +523,63 @@ export interface ISummarizer extends IEventProvider<NewISummarizerEvents> {
|
|
|
497
523
|
enqueueSummarize(options: IEnqueueSummarizeOptions): EnqueueSummarizeResult;
|
|
498
524
|
}
|
|
499
525
|
|
|
500
|
-
/**
|
|
526
|
+
/**
|
|
527
|
+
* Data about an attempt to summarize used for heuristics.
|
|
528
|
+
*/
|
|
501
529
|
export interface ISummarizeAttempt {
|
|
502
|
-
/**
|
|
530
|
+
/**
|
|
531
|
+
* Reference sequence number when summary was generated or attempted
|
|
532
|
+
*/
|
|
503
533
|
readonly refSequenceNumber: number;
|
|
504
534
|
|
|
505
|
-
/**
|
|
535
|
+
/**
|
|
536
|
+
* Time of summary attempt after it was sent or attempted
|
|
537
|
+
*/
|
|
506
538
|
readonly summaryTime: number;
|
|
507
539
|
|
|
508
|
-
/**
|
|
540
|
+
/**
|
|
541
|
+
* Sequence number of summary op
|
|
542
|
+
*/
|
|
509
543
|
summarySequenceNumber?: number;
|
|
510
544
|
}
|
|
511
545
|
|
|
512
|
-
/**
|
|
546
|
+
/**
|
|
547
|
+
* Data relevant for summary heuristics.
|
|
548
|
+
*/
|
|
513
549
|
export interface ISummarizeHeuristicData {
|
|
514
|
-
/**
|
|
550
|
+
/**
|
|
551
|
+
* Latest received op sequence number
|
|
552
|
+
*/
|
|
515
553
|
lastOpSequenceNumber: number;
|
|
516
554
|
|
|
517
|
-
/**
|
|
555
|
+
/**
|
|
556
|
+
* Most recent summary attempt from this client
|
|
557
|
+
*/
|
|
518
558
|
readonly lastAttempt: ISummarizeAttempt;
|
|
519
559
|
|
|
520
|
-
/**
|
|
560
|
+
/**
|
|
561
|
+
* Most recent summary that received an ack
|
|
562
|
+
*/
|
|
521
563
|
readonly lastSuccessfulSummary: Readonly<ISummarizeAttempt>;
|
|
522
564
|
|
|
523
|
-
/**
|
|
565
|
+
/**
|
|
566
|
+
* Number of runtime ops since last summary
|
|
567
|
+
*/
|
|
524
568
|
numRuntimeOps: number;
|
|
525
569
|
|
|
526
|
-
/**
|
|
570
|
+
/**
|
|
571
|
+
* Number of non-runtime ops since last summary
|
|
572
|
+
*/
|
|
527
573
|
numNonRuntimeOps: number;
|
|
528
574
|
|
|
529
|
-
/**
|
|
575
|
+
/**
|
|
576
|
+
* Cumulative size in bytes of all the ops since the last summary
|
|
577
|
+
*/
|
|
530
578
|
totalOpsSize: number;
|
|
531
579
|
|
|
532
|
-
/**
|
|
580
|
+
/**
|
|
581
|
+
* Wether or not this instance contains adjusted metrics due to missing op data
|
|
582
|
+
*/
|
|
533
583
|
hasMissingOpData: boolean;
|
|
534
584
|
|
|
535
585
|
/**
|
|
@@ -546,35 +596,53 @@ export interface ISummarizeHeuristicData {
|
|
|
546
596
|
*/
|
|
547
597
|
recordAttempt(referenceSequenceNumber?: number): void;
|
|
548
598
|
|
|
549
|
-
/**
|
|
599
|
+
/**
|
|
600
|
+
* Mark that the last sent summary attempt has received an ack
|
|
601
|
+
*/
|
|
550
602
|
markLastAttemptAsSuccessful(): void;
|
|
551
603
|
|
|
552
604
|
opsSinceLastSummary: number;
|
|
553
605
|
}
|
|
554
606
|
|
|
555
|
-
/**
|
|
607
|
+
/**
|
|
608
|
+
* Responsible for running heuristics determining when to summarize.
|
|
609
|
+
*/
|
|
556
610
|
export interface ISummarizeHeuristicRunner {
|
|
557
|
-
/**
|
|
611
|
+
/**
|
|
612
|
+
* Start specific heuristic trackers (ex: idle timer)
|
|
613
|
+
*/
|
|
558
614
|
start(): void;
|
|
559
615
|
|
|
560
|
-
/**
|
|
616
|
+
/**
|
|
617
|
+
* Runs the heuristics to determine if it should try to summarize
|
|
618
|
+
*/
|
|
561
619
|
run(): void;
|
|
562
620
|
|
|
563
|
-
/**
|
|
621
|
+
/**
|
|
622
|
+
* Runs a different heuristic to check if it should summarize before closing
|
|
623
|
+
*/
|
|
564
624
|
shouldRunLastSummary(): boolean;
|
|
565
625
|
|
|
566
|
-
/**
|
|
626
|
+
/**
|
|
627
|
+
* Disposes of resources
|
|
628
|
+
*/
|
|
567
629
|
dispose(): void;
|
|
568
630
|
}
|
|
569
631
|
|
|
570
632
|
type ISummarizeTelemetryRequiredProperties =
|
|
571
|
-
/**
|
|
633
|
+
/**
|
|
634
|
+
* Reason code for attempting to summarize
|
|
635
|
+
*/
|
|
572
636
|
"summarizeReason";
|
|
573
637
|
|
|
574
638
|
type ISummarizeTelemetryOptionalProperties =
|
|
575
|
-
/**
|
|
639
|
+
/**
|
|
640
|
+
* Number of attempts within the last time window, used for calculating the throttle delay.
|
|
641
|
+
*/
|
|
576
642
|
| "summaryAttempts"
|
|
577
|
-
/**
|
|
643
|
+
/**
|
|
644
|
+
* Summarization may be attempted multiple times. This tells whether this is the final summarization attempt
|
|
645
|
+
*/
|
|
578
646
|
| "finalAttempt"
|
|
579
647
|
| keyof ISummarizeOptions;
|
|
580
648
|
|
|
@@ -584,9 +652,13 @@ export type ISummarizeTelemetryProperties = Pick<
|
|
|
584
652
|
> &
|
|
585
653
|
Partial<Pick<ITelemetryBaseProperties, ISummarizeTelemetryOptionalProperties>>;
|
|
586
654
|
|
|
587
|
-
/**
|
|
655
|
+
/**
|
|
656
|
+
* Strategy used to heuristically determine when we should run a summary
|
|
657
|
+
*/
|
|
588
658
|
export interface ISummaryHeuristicStrategy {
|
|
589
|
-
/**
|
|
659
|
+
/**
|
|
660
|
+
* Summarize reason for this summarize heuristic strategy (ex: "maxTime")
|
|
661
|
+
*/
|
|
590
662
|
summarizeReason: Readonly<SummarizeReason>;
|
|
591
663
|
|
|
592
664
|
/**
|
|
@@ -601,50 +673,88 @@ export interface ISummaryHeuristicStrategy {
|
|
|
601
673
|
}
|
|
602
674
|
|
|
603
675
|
type SummaryGeneratorRequiredTelemetryProperties =
|
|
604
|
-
/**
|
|
676
|
+
/**
|
|
677
|
+
* True to generate the full tree with no handle reuse optimizations
|
|
678
|
+
*/
|
|
605
679
|
| "fullTree"
|
|
606
|
-
/**
|
|
680
|
+
/**
|
|
681
|
+
* Time since we last attempted to generate a summary
|
|
682
|
+
*/
|
|
607
683
|
| "timeSinceLastAttempt"
|
|
608
|
-
/**
|
|
684
|
+
/**
|
|
685
|
+
* Time since we last successfully generated a summary
|
|
686
|
+
*/
|
|
609
687
|
| "timeSinceLastSummary";
|
|
610
688
|
|
|
611
689
|
type SummaryGeneratorOptionalTelemetryProperties =
|
|
612
|
-
/**
|
|
690
|
+
/**
|
|
691
|
+
* Reference sequence number as of the generate summary attempt.
|
|
692
|
+
*/
|
|
613
693
|
| "referenceSequenceNumber"
|
|
614
|
-
/**
|
|
694
|
+
/**
|
|
695
|
+
* minimum sequence number (at the reference sequence number)
|
|
696
|
+
*/
|
|
615
697
|
| "minimumSequenceNumber"
|
|
616
|
-
/**
|
|
698
|
+
/**
|
|
699
|
+
* Delta between the current reference sequence number and the reference sequence number of the last attempt
|
|
700
|
+
*/
|
|
617
701
|
| "opsSinceLastAttempt"
|
|
618
|
-
/**
|
|
702
|
+
/**
|
|
703
|
+
* Delta between the current reference sequence number and the reference sequence number of the last summary
|
|
704
|
+
*/
|
|
619
705
|
| "opsSinceLastSummary"
|
|
620
706
|
/**
|
|
621
707
|
* Delta in sum of op sizes between the current reference sequence number and the reference
|
|
622
708
|
* sequence number of the last summary
|
|
623
709
|
*/
|
|
624
710
|
| "opsSizesSinceLastSummary"
|
|
625
|
-
/**
|
|
711
|
+
/**
|
|
712
|
+
* Delta between the number of non-runtime ops since the last summary
|
|
713
|
+
*/
|
|
626
714
|
| "nonRuntimeOpsSinceLastSummary"
|
|
627
|
-
/**
|
|
715
|
+
/**
|
|
716
|
+
* Delta between the number of runtime ops since the last summary
|
|
717
|
+
*/
|
|
628
718
|
| "runtimeOpsSinceLastSummary"
|
|
629
|
-
/**
|
|
719
|
+
/**
|
|
720
|
+
* Wether or not this instance contains adjusted metrics due to missing op data
|
|
721
|
+
*/
|
|
630
722
|
| "hasMissingOpData"
|
|
631
|
-
/**
|
|
723
|
+
/**
|
|
724
|
+
* Time it took to generate the summary tree and stats.
|
|
725
|
+
*/
|
|
632
726
|
| "generateDuration"
|
|
633
|
-
/**
|
|
727
|
+
/**
|
|
728
|
+
* The handle returned by storage pointing to the uploaded summary tree.
|
|
729
|
+
*/
|
|
634
730
|
| "handle"
|
|
635
|
-
/**
|
|
731
|
+
/**
|
|
732
|
+
* Time it took to upload the summary tree to storage.
|
|
733
|
+
*/
|
|
636
734
|
| "uploadDuration"
|
|
637
|
-
/**
|
|
735
|
+
/**
|
|
736
|
+
* The client sequence number of the summarize op submitted for the summary.
|
|
737
|
+
*/
|
|
638
738
|
| "clientSequenceNumber"
|
|
639
|
-
/**
|
|
739
|
+
/**
|
|
740
|
+
* Time it took for this summary to be acked after it was generated
|
|
741
|
+
*/
|
|
640
742
|
| "ackWaitDuration"
|
|
641
|
-
/**
|
|
743
|
+
/**
|
|
744
|
+
* Reference sequence number of the ack/nack message
|
|
745
|
+
*/
|
|
642
746
|
| "ackNackSequenceNumber"
|
|
643
|
-
/**
|
|
747
|
+
/**
|
|
748
|
+
* Actual sequence number of the summary op proposal.
|
|
749
|
+
*/
|
|
644
750
|
| "summarySequenceNumber"
|
|
645
|
-
/**
|
|
751
|
+
/**
|
|
752
|
+
* Optional Retry-After time in seconds. If specified, the client should wait this many seconds before retrying.
|
|
753
|
+
*/
|
|
646
754
|
| "nackRetryAfter"
|
|
647
|
-
/**
|
|
755
|
+
/**
|
|
756
|
+
* The stage at which the submit summary method failed at. This can help determine what type of failure we have
|
|
757
|
+
*/
|
|
648
758
|
| "stage";
|
|
649
759
|
|
|
650
760
|
export type SummaryGeneratorTelemetry = Pick<
|
|
@@ -654,8 +764,12 @@ export type SummaryGeneratorTelemetry = Pick<
|
|
|
654
764
|
Partial<Pick<ITelemetryBaseProperties, SummaryGeneratorOptionalTelemetryProperties>>;
|
|
655
765
|
|
|
656
766
|
export interface ISummarizeRunnerTelemetry extends ITelemetryLoggerPropertyBag {
|
|
657
|
-
/**
|
|
767
|
+
/**
|
|
768
|
+
* Number of times the summarizer run.
|
|
769
|
+
*/
|
|
658
770
|
summarizeCount: () => number;
|
|
659
|
-
/**
|
|
771
|
+
/**
|
|
772
|
+
* Number of successful attempts to summarize.
|
|
773
|
+
*/
|
|
660
774
|
summarizerSuccessfulAttempts: () => number;
|
|
661
775
|
}
|