@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
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
import { IDeltaManager, ContainerWarning } from "@fluidframework/container-definitions/internal";
|
|
6
|
-
import type { ISummarizerEvents
|
|
7
|
-
import {
|
|
6
|
+
import type { ISummarizerEvents, SummarizerStopReason } from "@fluidframework/container-runtime-definitions/internal";
|
|
7
|
+
import { IEventProvider, ITelemetryBaseProperties, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
|
|
8
8
|
import { ISummaryTree } from "@fluidframework/driver-definitions";
|
|
9
9
|
import { IDocumentMessage, ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
|
|
10
10
|
import { ISummaryStats } from "@fluidframework/runtime-definitions/internal";
|
|
@@ -17,9 +17,12 @@ import { SummarizeReason } from "./summaryGenerator.js";
|
|
|
17
17
|
* @param T - cancellation reason type
|
|
18
18
|
* @legacy
|
|
19
19
|
* @alpha
|
|
20
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
20
21
|
*/
|
|
21
22
|
export interface ICancellationToken<T> {
|
|
22
|
-
/**
|
|
23
|
+
/**
|
|
24
|
+
* Tells if this cancellable token is cancelled
|
|
25
|
+
*/
|
|
23
26
|
readonly cancelled: boolean;
|
|
24
27
|
/**
|
|
25
28
|
* Promise that gets fulfilled when this cancellable token is cancelled
|
|
@@ -31,31 +34,46 @@ export interface ICancellationToken<T> {
|
|
|
31
34
|
* Similar to AbortSignal, but using promise instead of events
|
|
32
35
|
* @legacy
|
|
33
36
|
* @alpha
|
|
37
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
34
38
|
*/
|
|
35
|
-
export type ISummaryCancellationToken = ICancellationToken<
|
|
39
|
+
export type ISummaryCancellationToken = ICancellationToken<SummarizerStopReason>;
|
|
36
40
|
/**
|
|
37
41
|
* Data required to update internal tracking state after receiving a Summary Ack.
|
|
38
42
|
* @legacy
|
|
39
43
|
* @alpha
|
|
44
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
40
45
|
*/
|
|
41
46
|
export interface IRefreshSummaryAckOptions {
|
|
42
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* Handle from the ack's summary op.
|
|
49
|
+
*/
|
|
43
50
|
readonly proposalHandle: string | undefined;
|
|
44
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* Handle from the summary ack just received
|
|
53
|
+
*/
|
|
45
54
|
readonly ackHandle: string;
|
|
46
|
-
/**
|
|
55
|
+
/**
|
|
56
|
+
* Reference sequence number from the ack's summary op
|
|
57
|
+
*/
|
|
47
58
|
readonly summaryRefSeq: number;
|
|
48
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* Telemetry logger to which telemetry events will be forwarded.
|
|
61
|
+
*/
|
|
49
62
|
readonly summaryLogger: ITelemetryLoggerExt;
|
|
50
63
|
}
|
|
51
64
|
/**
|
|
52
65
|
* @legacy
|
|
53
66
|
* @alpha
|
|
67
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
54
68
|
*/
|
|
55
69
|
export interface ISummarizerInternalsProvider {
|
|
56
|
-
/**
|
|
70
|
+
/**
|
|
71
|
+
* Encapsulates the work to walk the internals of the running container to generate a summary
|
|
72
|
+
*/
|
|
57
73
|
submitSummary(options: ISubmitSummaryOptions): Promise<SubmitSummaryResult>;
|
|
58
|
-
/**
|
|
74
|
+
/**
|
|
75
|
+
* Callback whenever a new SummaryAck is received, to update internal tracking state
|
|
76
|
+
*/
|
|
59
77
|
refreshLatestSummaryAck(options: IRefreshSummaryAckOptions): Promise<void>;
|
|
60
78
|
}
|
|
61
79
|
/**
|
|
@@ -68,6 +86,7 @@ export interface ISummarizingWarning extends ContainerWarning {
|
|
|
68
86
|
/**
|
|
69
87
|
* @legacy
|
|
70
88
|
* @alpha
|
|
89
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
71
90
|
*/
|
|
72
91
|
export interface IConnectableRuntime {
|
|
73
92
|
readonly disposed: boolean;
|
|
@@ -78,10 +97,13 @@ export interface IConnectableRuntime {
|
|
|
78
97
|
/**
|
|
79
98
|
* @legacy
|
|
80
99
|
* @alpha
|
|
100
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
81
101
|
*/
|
|
82
102
|
export interface ISummarizerRuntime extends IConnectableRuntime {
|
|
83
103
|
readonly baseLogger: ITelemetryBaseLogger;
|
|
84
|
-
/**
|
|
104
|
+
/**
|
|
105
|
+
* clientId of parent (non-summarizing) container that owns summarizer container
|
|
106
|
+
*/
|
|
85
107
|
readonly summarizerClientId: string | undefined;
|
|
86
108
|
readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
|
|
87
109
|
disposeFn(): void;
|
|
@@ -95,21 +117,32 @@ export interface ISummarizerRuntime extends IConnectableRuntime {
|
|
|
95
117
|
* @alpha
|
|
96
118
|
*/
|
|
97
119
|
export interface ISummarizeOptions {
|
|
98
|
-
/**
|
|
120
|
+
/**
|
|
121
|
+
* True to generate the full tree with no handle reuse optimizations; defaults to false
|
|
122
|
+
*/
|
|
99
123
|
readonly fullTree?: boolean;
|
|
100
124
|
}
|
|
101
125
|
/**
|
|
102
126
|
* @legacy
|
|
103
127
|
* @alpha
|
|
128
|
+
* @deprecated This type will be moved to internal in 2.30. External usage is not necessary or supported.
|
|
104
129
|
*/
|
|
105
130
|
export interface ISubmitSummaryOptions extends ISummarizeOptions {
|
|
106
|
-
/**
|
|
131
|
+
/**
|
|
132
|
+
* Logger to use for correlated summary events
|
|
133
|
+
*/
|
|
107
134
|
readonly summaryLogger: ITelemetryLoggerExt;
|
|
108
|
-
/**
|
|
135
|
+
/**
|
|
136
|
+
* Tells when summary process should be cancelled
|
|
137
|
+
*/
|
|
109
138
|
readonly cancellationToken: ISummaryCancellationToken;
|
|
110
|
-
/**
|
|
139
|
+
/**
|
|
140
|
+
* Summarization may be attempted multiple times. This tells whether this is the final summarization attempt.
|
|
141
|
+
*/
|
|
111
142
|
readonly finalAttempt?: boolean;
|
|
112
|
-
/**
|
|
143
|
+
/**
|
|
144
|
+
* The sequence number of the latest summary used to validate if summary state is correct before summarizing
|
|
145
|
+
*/
|
|
113
146
|
readonly latestSummaryRefSeqNum: number;
|
|
114
147
|
}
|
|
115
148
|
/**
|
|
@@ -117,9 +150,13 @@ export interface ISubmitSummaryOptions extends ISummarizeOptions {
|
|
|
117
150
|
* @alpha
|
|
118
151
|
*/
|
|
119
152
|
export interface IOnDemandSummarizeOptions extends ISummarizeOptions {
|
|
120
|
-
/**
|
|
153
|
+
/**
|
|
154
|
+
* Reason for generating summary.
|
|
155
|
+
*/
|
|
121
156
|
readonly reason: string;
|
|
122
|
-
/**
|
|
157
|
+
/**
|
|
158
|
+
* In case of a failure, will attempt to retry based on if the failure is retriable.
|
|
159
|
+
*/
|
|
123
160
|
readonly retryOnFailure?: boolean;
|
|
124
161
|
}
|
|
125
162
|
/**
|
|
@@ -128,7 +165,9 @@ export interface IOnDemandSummarizeOptions extends ISummarizeOptions {
|
|
|
128
165
|
* @alpha
|
|
129
166
|
*/
|
|
130
167
|
export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
|
|
131
|
-
/**
|
|
168
|
+
/**
|
|
169
|
+
* If specified, The summarize attempt will not occur until after this sequence number.
|
|
170
|
+
*/
|
|
132
171
|
readonly afterSequenceNumber?: number;
|
|
133
172
|
/**
|
|
134
173
|
* True to override the existing enqueued summarize attempt if there is one.
|
|
@@ -145,17 +184,29 @@ export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
|
|
|
145
184
|
* @alpha
|
|
146
185
|
*/
|
|
147
186
|
export interface IGeneratedSummaryStats extends ISummaryStats {
|
|
148
|
-
/**
|
|
187
|
+
/**
|
|
188
|
+
* The total number of data stores in the container.
|
|
189
|
+
*/
|
|
149
190
|
readonly dataStoreCount: number;
|
|
150
|
-
/**
|
|
191
|
+
/**
|
|
192
|
+
* The number of data stores that were summarized in this summary.
|
|
193
|
+
*/
|
|
151
194
|
readonly summarizedDataStoreCount: number;
|
|
152
|
-
/**
|
|
195
|
+
/**
|
|
196
|
+
* The number of data stores whose GC reference state was updated in this summary.
|
|
197
|
+
*/
|
|
153
198
|
readonly gcStateUpdatedDataStoreCount?: number;
|
|
154
|
-
/**
|
|
199
|
+
/**
|
|
200
|
+
* The size of the gc blobs in this summary.
|
|
201
|
+
*/
|
|
155
202
|
readonly gcTotalBlobsSize?: number;
|
|
156
|
-
/**
|
|
203
|
+
/**
|
|
204
|
+
* The number of gc blobs in this summary.
|
|
205
|
+
*/
|
|
157
206
|
readonly gcBlobNodeCount?: number;
|
|
158
|
-
/**
|
|
207
|
+
/**
|
|
208
|
+
* The summary number for a container's summary. Incremented on summaries throughout its lifetime.
|
|
209
|
+
*/
|
|
159
210
|
readonly summaryNumber: number;
|
|
160
211
|
}
|
|
161
212
|
/**
|
|
@@ -173,9 +224,13 @@ export interface IRetriableFailureError extends Error {
|
|
|
173
224
|
*/
|
|
174
225
|
export interface IBaseSummarizeResult {
|
|
175
226
|
readonly stage: "base";
|
|
176
|
-
/**
|
|
227
|
+
/**
|
|
228
|
+
* Retriable error object related to failed summarize attempt.
|
|
229
|
+
*/
|
|
177
230
|
readonly error: IRetriableFailureError | undefined;
|
|
178
|
-
/**
|
|
231
|
+
/**
|
|
232
|
+
* Reference sequence number as of the generate summary attempt.
|
|
233
|
+
*/
|
|
179
234
|
readonly referenceSequenceNumber: number;
|
|
180
235
|
readonly minimumSequenceNumber: number;
|
|
181
236
|
}
|
|
@@ -186,11 +241,17 @@ export interface IBaseSummarizeResult {
|
|
|
186
241
|
*/
|
|
187
242
|
export interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, "stage"> {
|
|
188
243
|
readonly stage: "generate";
|
|
189
|
-
/**
|
|
244
|
+
/**
|
|
245
|
+
* Generated summary tree.
|
|
246
|
+
*/
|
|
190
247
|
readonly summaryTree: ISummaryTree;
|
|
191
|
-
/**
|
|
248
|
+
/**
|
|
249
|
+
* Stats for generated summary tree.
|
|
250
|
+
*/
|
|
192
251
|
readonly summaryStats: IGeneratedSummaryStats;
|
|
193
|
-
/**
|
|
252
|
+
/**
|
|
253
|
+
* Time it took to generate the summary tree and stats.
|
|
254
|
+
*/
|
|
194
255
|
readonly generateDuration: number;
|
|
195
256
|
}
|
|
196
257
|
/**
|
|
@@ -200,9 +261,13 @@ export interface IGenerateSummaryTreeResult extends Omit<IBaseSummarizeResult, "
|
|
|
200
261
|
*/
|
|
201
262
|
export interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, "stage"> {
|
|
202
263
|
readonly stage: "upload";
|
|
203
|
-
/**
|
|
264
|
+
/**
|
|
265
|
+
* The handle returned by storage pointing to the uploaded summary tree.
|
|
266
|
+
*/
|
|
204
267
|
readonly handle: string;
|
|
205
|
-
/**
|
|
268
|
+
/**
|
|
269
|
+
* Time it took to upload the summary tree to storage.
|
|
270
|
+
*/
|
|
206
271
|
readonly uploadDuration: number;
|
|
207
272
|
}
|
|
208
273
|
/**
|
|
@@ -212,9 +277,13 @@ export interface IUploadSummaryResult extends Omit<IGenerateSummaryTreeResult, "
|
|
|
212
277
|
*/
|
|
213
278
|
export interface ISubmitSummaryOpResult extends Omit<IUploadSummaryResult, "stage" | "error"> {
|
|
214
279
|
readonly stage: "submit";
|
|
215
|
-
/**
|
|
280
|
+
/**
|
|
281
|
+
* The client sequence number of the summarize op submitted for the summary.
|
|
282
|
+
*/
|
|
216
283
|
readonly clientSequenceNumber: number;
|
|
217
|
-
/**
|
|
284
|
+
/**
|
|
285
|
+
* Time it took to submit the summarize op to the broadcasting service.
|
|
286
|
+
*/
|
|
218
287
|
readonly submitOpDuration: number;
|
|
219
288
|
}
|
|
220
289
|
/**
|
|
@@ -292,11 +361,17 @@ export type SummarizeResultPart<TSuccess, TFailure = undefined> = {
|
|
|
292
361
|
* @alpha
|
|
293
362
|
*/
|
|
294
363
|
export interface ISummarizeResults {
|
|
295
|
-
/**
|
|
364
|
+
/**
|
|
365
|
+
* Resolves when we generate, upload, and submit the summary.
|
|
366
|
+
*/
|
|
296
367
|
readonly summarySubmitted: Promise<SummarizeResultPart<SubmitSummaryResult, SubmitSummaryFailureData>>;
|
|
297
|
-
/**
|
|
368
|
+
/**
|
|
369
|
+
* Resolves when we observe our summarize op broadcast.
|
|
370
|
+
*/
|
|
298
371
|
readonly summaryOpBroadcasted: Promise<SummarizeResultPart<IBroadcastSummaryResult>>;
|
|
299
|
-
/**
|
|
372
|
+
/**
|
|
373
|
+
* Resolves when we receive a summaryAck or summaryNack.
|
|
374
|
+
*/
|
|
300
375
|
readonly receivedSummaryAckOrNack: Promise<SummarizeResultPart<IAckSummaryResult, INackSummaryResult>>;
|
|
301
376
|
}
|
|
302
377
|
/**
|
|
@@ -310,7 +385,9 @@ export type EnqueueSummarizeResult = (ISummarizeResults & {
|
|
|
310
385
|
*/
|
|
311
386
|
readonly alreadyEnqueued?: undefined;
|
|
312
387
|
}) | (ISummarizeResults & {
|
|
313
|
-
/**
|
|
388
|
+
/**
|
|
389
|
+
* Indicates that another summarize attempt was already enqueued.
|
|
390
|
+
*/
|
|
314
391
|
readonly alreadyEnqueued: true;
|
|
315
392
|
/**
|
|
316
393
|
* Indicates that the other enqueued summarize attempt was abandoned,
|
|
@@ -318,7 +395,9 @@ export type EnqueueSummarizeResult = (ISummarizeResults & {
|
|
|
318
395
|
*/
|
|
319
396
|
readonly overridden: true;
|
|
320
397
|
}) | {
|
|
321
|
-
/**
|
|
398
|
+
/**
|
|
399
|
+
* Indicates that another summarize attempt was already enqueued.
|
|
400
|
+
*/
|
|
322
401
|
readonly alreadyEnqueued: true;
|
|
323
402
|
/**
|
|
324
403
|
* Indicates that the other enqueued summarize attempt remains enqueued,
|
|
@@ -326,67 +405,18 @@ export type EnqueueSummarizeResult = (ISummarizeResults & {
|
|
|
326
405
|
*/
|
|
327
406
|
readonly overridden?: undefined;
|
|
328
407
|
};
|
|
329
|
-
/**
|
|
330
|
-
* @legacy
|
|
331
|
-
* @alpha
|
|
332
|
-
* @deprecated Use SummarizerStopReason from the "\@fluidframework/container-runtime-definitions" package
|
|
333
|
-
*/
|
|
334
|
-
export type SummarizerStopReason =
|
|
335
|
-
/** Summarizer client failed to summarize in all attempts. */
|
|
336
|
-
"failToSummarize"
|
|
337
|
-
/** Parent client reported that it is no longer connected. */
|
|
338
|
-
| "parentNotConnected"
|
|
339
|
-
/**
|
|
340
|
-
* Parent client reported that it is no longer elected the summarizer.
|
|
341
|
-
* This is the normal flow; a disconnect will always trigger the parent
|
|
342
|
-
* client to no longer be elected as responsible for summaries. Then it
|
|
343
|
-
* tries to stop its spawned summarizer client.
|
|
344
|
-
*/
|
|
345
|
-
| "notElectedParent"
|
|
346
|
-
/**
|
|
347
|
-
* We are not already running the summarizer and we are not the current elected client id.
|
|
348
|
-
*/
|
|
349
|
-
| "notElectedClient"
|
|
350
|
-
/** Summarizer client was disconnected */
|
|
351
|
-
| "summarizerClientDisconnected"
|
|
352
|
-
/** running summarizer threw an exception */
|
|
353
|
-
| "summarizerException"
|
|
354
|
-
/**
|
|
355
|
-
* The previous summary state on the summarizer is not the most recently acked summary. this also happens when the
|
|
356
|
-
* first submitSummary attempt fails for any reason and there's a 2nd summary attempt without an ack
|
|
357
|
-
*/
|
|
358
|
-
| "latestSummaryStateStale";
|
|
359
|
-
/**
|
|
360
|
-
* @legacy
|
|
361
|
-
* @alpha
|
|
362
|
-
* @deprecated Use ISummarizeEventProps from the "\@fluidframework/container-runtime-definitions" package
|
|
363
|
-
*/
|
|
364
|
-
export interface ISummarizeEventProps {
|
|
365
|
-
result: "success" | "failure" | "canceled";
|
|
366
|
-
currentAttempt: number;
|
|
367
|
-
maxAttempts: number;
|
|
368
|
-
error?: any;
|
|
369
|
-
}
|
|
370
|
-
/**
|
|
371
|
-
* @legacy
|
|
372
|
-
* @alpha
|
|
373
|
-
* @deprecated Use ISummarizerEvents from the "\@fluidframework/container-runtime-definitions" package
|
|
374
|
-
*/
|
|
375
|
-
export interface ISummarizerEvents extends IEvent {
|
|
376
|
-
(event: "summarize", listener: (props: ISummarizeEventProps) => void): any;
|
|
377
|
-
}
|
|
378
408
|
/**
|
|
379
409
|
* @legacy
|
|
380
410
|
* @alpha
|
|
381
411
|
*/
|
|
382
|
-
export interface ISummarizer extends IEventProvider<
|
|
412
|
+
export interface ISummarizer extends IEventProvider<ISummarizerEvents> {
|
|
383
413
|
/**
|
|
384
414
|
* Allows {@link ISummarizer} to be used with our {@link @fluidframework/core-interfaces#FluidObject} pattern.
|
|
385
415
|
*/
|
|
386
416
|
readonly ISummarizer?: ISummarizer;
|
|
387
|
-
stop(reason:
|
|
417
|
+
stop(reason: SummarizerStopReason): void;
|
|
388
418
|
close(): void;
|
|
389
|
-
run(onBehalfOf: string): Promise<
|
|
419
|
+
run(onBehalfOf: string): Promise<SummarizerStopReason>;
|
|
390
420
|
/**
|
|
391
421
|
* Attempts to generate a summary on demand. If already running, takes no action.
|
|
392
422
|
* @param options - options controlling the summarize attempt
|
|
@@ -411,30 +441,54 @@ export interface ISummarizer extends IEventProvider<NewISummarizerEvents> {
|
|
|
411
441
|
*/
|
|
412
442
|
enqueueSummarize(options: IEnqueueSummarizeOptions): EnqueueSummarizeResult;
|
|
413
443
|
}
|
|
414
|
-
/**
|
|
444
|
+
/**
|
|
445
|
+
* Data about an attempt to summarize used for heuristics.
|
|
446
|
+
*/
|
|
415
447
|
export interface ISummarizeAttempt {
|
|
416
|
-
/**
|
|
448
|
+
/**
|
|
449
|
+
* Reference sequence number when summary was generated or attempted
|
|
450
|
+
*/
|
|
417
451
|
readonly refSequenceNumber: number;
|
|
418
|
-
/**
|
|
452
|
+
/**
|
|
453
|
+
* Time of summary attempt after it was sent or attempted
|
|
454
|
+
*/
|
|
419
455
|
readonly summaryTime: number;
|
|
420
|
-
/**
|
|
456
|
+
/**
|
|
457
|
+
* Sequence number of summary op
|
|
458
|
+
*/
|
|
421
459
|
summarySequenceNumber?: number;
|
|
422
460
|
}
|
|
423
|
-
/**
|
|
461
|
+
/**
|
|
462
|
+
* Data relevant for summary heuristics.
|
|
463
|
+
*/
|
|
424
464
|
export interface ISummarizeHeuristicData {
|
|
425
|
-
/**
|
|
465
|
+
/**
|
|
466
|
+
* Latest received op sequence number
|
|
467
|
+
*/
|
|
426
468
|
lastOpSequenceNumber: number;
|
|
427
|
-
/**
|
|
469
|
+
/**
|
|
470
|
+
* Most recent summary attempt from this client
|
|
471
|
+
*/
|
|
428
472
|
readonly lastAttempt: ISummarizeAttempt;
|
|
429
|
-
/**
|
|
473
|
+
/**
|
|
474
|
+
* Most recent summary that received an ack
|
|
475
|
+
*/
|
|
430
476
|
readonly lastSuccessfulSummary: Readonly<ISummarizeAttempt>;
|
|
431
|
-
/**
|
|
477
|
+
/**
|
|
478
|
+
* Number of runtime ops since last summary
|
|
479
|
+
*/
|
|
432
480
|
numRuntimeOps: number;
|
|
433
|
-
/**
|
|
481
|
+
/**
|
|
482
|
+
* Number of non-runtime ops since last summary
|
|
483
|
+
*/
|
|
434
484
|
numNonRuntimeOps: number;
|
|
435
|
-
/**
|
|
485
|
+
/**
|
|
486
|
+
* Cumulative size in bytes of all the ops since the last summary
|
|
487
|
+
*/
|
|
436
488
|
totalOpsSize: number;
|
|
437
|
-
/**
|
|
489
|
+
/**
|
|
490
|
+
* Wether or not this instance contains adjusted metrics due to missing op data
|
|
491
|
+
*/
|
|
438
492
|
hasMissingOpData: boolean;
|
|
439
493
|
/**
|
|
440
494
|
* Updates lastAttempt and lastSuccessfulAttempt based on the last summary.
|
|
@@ -448,33 +502,55 @@ export interface ISummarizeHeuristicData {
|
|
|
448
502
|
* @param referenceSequenceNumber - reference sequence number of sent summary
|
|
449
503
|
*/
|
|
450
504
|
recordAttempt(referenceSequenceNumber?: number): void;
|
|
451
|
-
/**
|
|
505
|
+
/**
|
|
506
|
+
* Mark that the last sent summary attempt has received an ack
|
|
507
|
+
*/
|
|
452
508
|
markLastAttemptAsSuccessful(): void;
|
|
453
509
|
opsSinceLastSummary: number;
|
|
454
510
|
}
|
|
455
|
-
/**
|
|
511
|
+
/**
|
|
512
|
+
* Responsible for running heuristics determining when to summarize.
|
|
513
|
+
*/
|
|
456
514
|
export interface ISummarizeHeuristicRunner {
|
|
457
|
-
/**
|
|
515
|
+
/**
|
|
516
|
+
* Start specific heuristic trackers (ex: idle timer)
|
|
517
|
+
*/
|
|
458
518
|
start(): void;
|
|
459
|
-
/**
|
|
519
|
+
/**
|
|
520
|
+
* Runs the heuristics to determine if it should try to summarize
|
|
521
|
+
*/
|
|
460
522
|
run(): void;
|
|
461
|
-
/**
|
|
523
|
+
/**
|
|
524
|
+
* Runs a different heuristic to check if it should summarize before closing
|
|
525
|
+
*/
|
|
462
526
|
shouldRunLastSummary(): boolean;
|
|
463
|
-
/**
|
|
527
|
+
/**
|
|
528
|
+
* Disposes of resources
|
|
529
|
+
*/
|
|
464
530
|
dispose(): void;
|
|
465
531
|
}
|
|
466
532
|
type ISummarizeTelemetryRequiredProperties =
|
|
467
|
-
/**
|
|
533
|
+
/**
|
|
534
|
+
* Reason code for attempting to summarize
|
|
535
|
+
*/
|
|
468
536
|
"summarizeReason";
|
|
469
537
|
type ISummarizeTelemetryOptionalProperties =
|
|
470
|
-
/**
|
|
538
|
+
/**
|
|
539
|
+
* Number of attempts within the last time window, used for calculating the throttle delay.
|
|
540
|
+
*/
|
|
471
541
|
"summaryAttempts"
|
|
472
|
-
/**
|
|
542
|
+
/**
|
|
543
|
+
* Summarization may be attempted multiple times. This tells whether this is the final summarization attempt
|
|
544
|
+
*/
|
|
473
545
|
| "finalAttempt" | keyof ISummarizeOptions;
|
|
474
546
|
export type ISummarizeTelemetryProperties = Pick<ITelemetryBaseProperties, ISummarizeTelemetryRequiredProperties> & Partial<Pick<ITelemetryBaseProperties, ISummarizeTelemetryOptionalProperties>>;
|
|
475
|
-
/**
|
|
547
|
+
/**
|
|
548
|
+
* Strategy used to heuristically determine when we should run a summary
|
|
549
|
+
*/
|
|
476
550
|
export interface ISummaryHeuristicStrategy {
|
|
477
|
-
/**
|
|
551
|
+
/**
|
|
552
|
+
* Summarize reason for this summarize heuristic strategy (ex: "maxTime")
|
|
553
|
+
*/
|
|
478
554
|
summarizeReason: Readonly<SummarizeReason>;
|
|
479
555
|
/**
|
|
480
556
|
* Determines if this strategy's summarize criteria been met
|
|
@@ -484,55 +560,97 @@ export interface ISummaryHeuristicStrategy {
|
|
|
484
560
|
shouldRunSummary(configuration: ISummaryConfigurationHeuristics, heuristicData: ISummarizeHeuristicData): boolean;
|
|
485
561
|
}
|
|
486
562
|
type SummaryGeneratorRequiredTelemetryProperties =
|
|
487
|
-
/**
|
|
563
|
+
/**
|
|
564
|
+
* True to generate the full tree with no handle reuse optimizations
|
|
565
|
+
*/
|
|
488
566
|
"fullTree"
|
|
489
|
-
/**
|
|
567
|
+
/**
|
|
568
|
+
* Time since we last attempted to generate a summary
|
|
569
|
+
*/
|
|
490
570
|
| "timeSinceLastAttempt"
|
|
491
|
-
/**
|
|
571
|
+
/**
|
|
572
|
+
* Time since we last successfully generated a summary
|
|
573
|
+
*/
|
|
492
574
|
| "timeSinceLastSummary";
|
|
493
575
|
type SummaryGeneratorOptionalTelemetryProperties =
|
|
494
|
-
/**
|
|
576
|
+
/**
|
|
577
|
+
* Reference sequence number as of the generate summary attempt.
|
|
578
|
+
*/
|
|
495
579
|
"referenceSequenceNumber"
|
|
496
|
-
/**
|
|
580
|
+
/**
|
|
581
|
+
* minimum sequence number (at the reference sequence number)
|
|
582
|
+
*/
|
|
497
583
|
| "minimumSequenceNumber"
|
|
498
|
-
/**
|
|
584
|
+
/**
|
|
585
|
+
* Delta between the current reference sequence number and the reference sequence number of the last attempt
|
|
586
|
+
*/
|
|
499
587
|
| "opsSinceLastAttempt"
|
|
500
|
-
/**
|
|
588
|
+
/**
|
|
589
|
+
* Delta between the current reference sequence number and the reference sequence number of the last summary
|
|
590
|
+
*/
|
|
501
591
|
| "opsSinceLastSummary"
|
|
502
592
|
/**
|
|
503
593
|
* Delta in sum of op sizes between the current reference sequence number and the reference
|
|
504
594
|
* sequence number of the last summary
|
|
505
595
|
*/
|
|
506
596
|
| "opsSizesSinceLastSummary"
|
|
507
|
-
/**
|
|
597
|
+
/**
|
|
598
|
+
* Delta between the number of non-runtime ops since the last summary
|
|
599
|
+
*/
|
|
508
600
|
| "nonRuntimeOpsSinceLastSummary"
|
|
509
|
-
/**
|
|
601
|
+
/**
|
|
602
|
+
* Delta between the number of runtime ops since the last summary
|
|
603
|
+
*/
|
|
510
604
|
| "runtimeOpsSinceLastSummary"
|
|
511
|
-
/**
|
|
605
|
+
/**
|
|
606
|
+
* Wether or not this instance contains adjusted metrics due to missing op data
|
|
607
|
+
*/
|
|
512
608
|
| "hasMissingOpData"
|
|
513
|
-
/**
|
|
609
|
+
/**
|
|
610
|
+
* Time it took to generate the summary tree and stats.
|
|
611
|
+
*/
|
|
514
612
|
| "generateDuration"
|
|
515
|
-
/**
|
|
613
|
+
/**
|
|
614
|
+
* The handle returned by storage pointing to the uploaded summary tree.
|
|
615
|
+
*/
|
|
516
616
|
| "handle"
|
|
517
|
-
/**
|
|
617
|
+
/**
|
|
618
|
+
* Time it took to upload the summary tree to storage.
|
|
619
|
+
*/
|
|
518
620
|
| "uploadDuration"
|
|
519
|
-
/**
|
|
621
|
+
/**
|
|
622
|
+
* The client sequence number of the summarize op submitted for the summary.
|
|
623
|
+
*/
|
|
520
624
|
| "clientSequenceNumber"
|
|
521
|
-
/**
|
|
625
|
+
/**
|
|
626
|
+
* Time it took for this summary to be acked after it was generated
|
|
627
|
+
*/
|
|
522
628
|
| "ackWaitDuration"
|
|
523
|
-
/**
|
|
629
|
+
/**
|
|
630
|
+
* Reference sequence number of the ack/nack message
|
|
631
|
+
*/
|
|
524
632
|
| "ackNackSequenceNumber"
|
|
525
|
-
/**
|
|
633
|
+
/**
|
|
634
|
+
* Actual sequence number of the summary op proposal.
|
|
635
|
+
*/
|
|
526
636
|
| "summarySequenceNumber"
|
|
527
|
-
/**
|
|
637
|
+
/**
|
|
638
|
+
* Optional Retry-After time in seconds. If specified, the client should wait this many seconds before retrying.
|
|
639
|
+
*/
|
|
528
640
|
| "nackRetryAfter"
|
|
529
|
-
/**
|
|
641
|
+
/**
|
|
642
|
+
* The stage at which the submit summary method failed at. This can help determine what type of failure we have
|
|
643
|
+
*/
|
|
530
644
|
| "stage";
|
|
531
645
|
export type SummaryGeneratorTelemetry = Pick<ITelemetryBaseProperties, SummaryGeneratorRequiredTelemetryProperties> & Partial<Pick<ITelemetryBaseProperties, SummaryGeneratorOptionalTelemetryProperties>>;
|
|
532
646
|
export interface ISummarizeRunnerTelemetry extends ITelemetryLoggerPropertyBag {
|
|
533
|
-
/**
|
|
647
|
+
/**
|
|
648
|
+
* Number of times the summarizer run.
|
|
649
|
+
*/
|
|
534
650
|
summarizeCount: () => number;
|
|
535
|
-
/**
|
|
651
|
+
/**
|
|
652
|
+
* Number of successful attempts to summarize.
|
|
653
|
+
*/
|
|
536
654
|
summarizerSuccessfulAttempts: () => number;
|
|
537
655
|
}
|
|
538
656
|
export {};
|