@fluidframework/container-runtime 2.0.0-dev-rc.2.0.0.246488 → 2.0.0-dev-rc.3.0.0.253463
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/api-report/container-runtime.api.md +109 -55
- package/dist/batchTracker.d.ts +1 -1
- package/dist/batchTracker.d.ts.map +1 -1
- package/dist/batchTracker.js +4 -4
- package/dist/batchTracker.js.map +1 -1
- package/dist/blobManager.d.ts +33 -25
- package/dist/blobManager.d.ts.map +1 -1
- package/dist/blobManager.js +82 -100
- package/dist/blobManager.js.map +1 -1
- package/dist/channelCollection.d.ts +7 -6
- package/dist/channelCollection.d.ts.map +1 -1
- package/dist/channelCollection.js +110 -77
- package/dist/channelCollection.js.map +1 -1
- package/dist/connectionTelemetry.d.ts +3 -3
- package/dist/connectionTelemetry.d.ts.map +1 -1
- package/dist/connectionTelemetry.js +17 -17
- package/dist/connectionTelemetry.js.map +1 -1
- package/dist/container-runtime-alpha.d.ts +263 -41
- package/dist/container-runtime-beta.d.ts +44 -30
- package/dist/container-runtime-public.d.ts +44 -30
- package/dist/container-runtime-untrimmed.d.ts +265 -56
- package/dist/containerHandleContext.d.ts.map +1 -1
- package/dist/containerHandleContext.js +2 -2
- package/dist/containerHandleContext.js.map +1 -1
- package/dist/containerRuntime.d.ts +40 -30
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +376 -255
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStore.d.ts +1 -1
- package/dist/dataStore.d.ts.map +1 -1
- package/dist/dataStore.js +7 -7
- package/dist/dataStore.js.map +1 -1
- package/dist/dataStoreContext.d.ts +9 -9
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +74 -74
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreContexts.d.ts.map +1 -1
- package/dist/dataStoreContexts.js +11 -11
- 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 +2 -2
- package/dist/dataStoreRegistry.js.map +1 -1
- package/dist/deltaManagerSummarizerProxy.d.ts +1 -1
- package/dist/deltaManagerSummarizerProxy.d.ts.map +1 -1
- package/dist/deltaManagerSummarizerProxy.js.map +1 -1
- package/dist/deltaScheduler.d.ts +1 -1
- package/dist/deltaScheduler.d.ts.map +1 -1
- package/dist/deltaScheduler.js +6 -6
- package/dist/deltaScheduler.js.map +1 -1
- package/dist/error.d.ts +1 -1
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +4 -4
- package/dist/error.js.map +1 -1
- package/dist/gc/garbageCollection.d.ts +3 -2
- package/dist/gc/garbageCollection.d.ts.map +1 -1
- package/dist/gc/garbageCollection.js +21 -21
- package/dist/gc/garbageCollection.js.map +1 -1
- package/dist/gc/gcConfigs.d.ts +2 -2
- package/dist/gc/gcConfigs.d.ts.map +1 -1
- package/dist/gc/gcConfigs.js +4 -5
- package/dist/gc/gcConfigs.js.map +1 -1
- package/dist/gc/gcDefinitions.d.ts +4 -3
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/gcDefinitions.js.map +1 -1
- package/dist/gc/gcHelpers.d.ts +5 -1
- package/dist/gc/gcHelpers.d.ts.map +1 -1
- package/dist/gc/gcHelpers.js +21 -12
- package/dist/gc/gcHelpers.js.map +1 -1
- package/dist/gc/gcSummaryStateTracker.d.ts +2 -2
- package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/dist/gc/gcSummaryStateTracker.js +11 -11
- package/dist/gc/gcSummaryStateTracker.js.map +1 -1
- package/dist/gc/gcTelemetry.d.ts +2 -1
- package/dist/gc/gcTelemetry.d.ts.map +1 -1
- package/dist/gc/gcTelemetry.js +11 -9
- package/dist/gc/gcTelemetry.js.map +1 -1
- package/dist/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
- package/dist/gc/gcUnreferencedStateTracker.js +6 -6
- package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
- package/dist/gc/index.d.ts +1 -1
- package/dist/gc/index.d.ts.map +1 -1
- package/dist/gc/index.js +2 -1
- package/dist/gc/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/messageTypes.d.ts +11 -5
- package/dist/messageTypes.d.ts.map +1 -1
- package/dist/messageTypes.js +4 -0
- package/dist/messageTypes.js.map +1 -1
- package/dist/opLifecycle/batchManager.d.ts.map +1 -1
- package/dist/opLifecycle/batchManager.js.map +1 -1
- package/dist/opLifecycle/definitions.d.ts +2 -20
- package/dist/opLifecycle/definitions.d.ts.map +1 -1
- package/dist/opLifecycle/definitions.js.map +1 -1
- package/dist/opLifecycle/index.d.ts +3 -3
- package/dist/opLifecycle/index.d.ts.map +1 -1
- package/dist/opLifecycle/index.js +3 -1
- package/dist/opLifecycle/index.js.map +1 -1
- package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opCompressor.js +5 -6
- package/dist/opLifecycle/opCompressor.js.map +1 -1
- package/dist/opLifecycle/opDecompressor.d.ts +15 -4
- package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opDecompressor.js +62 -63
- package/dist/opLifecycle/opDecompressor.js.map +1 -1
- package/dist/opLifecycle/opGroupingManager.d.ts +2 -1
- package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/dist/opLifecycle/opGroupingManager.js +14 -16
- package/dist/opLifecycle/opGroupingManager.js.map +1 -1
- package/dist/opLifecycle/opSplitter.d.ts +12 -4
- package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
- package/dist/opLifecycle/opSplitter.js +63 -53
- package/dist/opLifecycle/opSplitter.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +2 -1
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +19 -24
- package/dist/opLifecycle/outbox.js.map +1 -1
- package/dist/opLifecycle/remoteMessageProcessor.d.ts +8 -0
- package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
- package/dist/opLifecycle/remoteMessageProcessor.js +36 -35
- package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -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 +1 -1
- package/dist/pendingStateManager.d.ts.map +1 -1
- package/dist/pendingStateManager.js +18 -18
- package/dist/pendingStateManager.js.map +1 -1
- package/dist/scheduleManager.d.ts +1 -1
- package/dist/scheduleManager.d.ts.map +1 -1
- package/dist/scheduleManager.js +24 -24
- package/dist/scheduleManager.js.map +1 -1
- package/dist/storageServiceWithAttachBlobs.d.ts +2 -2
- package/dist/storageServiceWithAttachBlobs.d.ts.map +1 -1
- package/dist/storageServiceWithAttachBlobs.js +2 -2
- package/dist/storageServiceWithAttachBlobs.js.map +1 -1
- package/dist/summary/documentSchema.d.ts +209 -0
- package/dist/summary/documentSchema.d.ts.map +1 -0
- package/dist/summary/documentSchema.js +382 -0
- package/dist/summary/documentSchema.js.map +1 -0
- package/dist/summary/index.d.ts +2 -1
- package/dist/summary/index.d.ts.map +1 -1
- package/dist/summary/index.js +4 -1
- package/dist/summary/index.js.map +1 -1
- package/dist/summary/orderedClientElection.d.ts +2 -2
- package/dist/summary/orderedClientElection.d.ts.map +1 -1
- package/dist/summary/orderedClientElection.js +8 -7
- package/dist/summary/orderedClientElection.js.map +1 -1
- package/dist/summary/runWhileConnectedCoordinator.d.ts +1 -1
- package/dist/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
- package/dist/summary/runWhileConnectedCoordinator.js +3 -3
- package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/dist/summary/runningSummarizer.d.ts +3 -3
- package/dist/summary/runningSummarizer.d.ts.map +1 -1
- package/dist/summary/runningSummarizer.js +16 -16
- package/dist/summary/runningSummarizer.js.map +1 -1
- package/dist/summary/summarizer.d.ts +3 -2
- package/dist/summary/summarizer.d.ts.map +1 -1
- package/dist/summary/summarizer.js +13 -13
- package/dist/summary/summarizer.js.map +1 -1
- package/dist/summary/summarizerClientElection.d.ts +2 -2
- package/dist/summary/summarizerClientElection.d.ts.map +1 -1
- package/dist/summary/summarizerClientElection.js.map +1 -1
- package/dist/summary/summarizerHeuristics.d.ts +1 -1
- package/dist/summary/summarizerHeuristics.d.ts.map +1 -1
- package/dist/summary/summarizerHeuristics.js +2 -2
- package/dist/summary/summarizerHeuristics.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.d.ts +3 -2
- package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.js +28 -28
- package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +2 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.js +3 -3
- package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js +14 -14
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/dist/summary/summarizerTypes.d.ts +5 -3
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/summarizerTypes.js.map +1 -1
- package/dist/summary/summaryCollection.d.ts +2 -2
- package/dist/summary/summaryCollection.d.ts.map +1 -1
- package/dist/summary/summaryCollection.js +7 -7
- package/dist/summary/summaryCollection.js.map +1 -1
- package/dist/summary/summaryFormat.d.ts +6 -17
- package/dist/summary/summaryFormat.d.ts.map +1 -1
- package/dist/summary/summaryFormat.js +8 -8
- package/dist/summary/summaryFormat.js.map +1 -1
- package/dist/summary/summaryGenerator.d.ts +4 -3
- package/dist/summary/summaryGenerator.d.ts.map +1 -1
- package/dist/summary/summaryGenerator.js +17 -17
- package/dist/summary/summaryGenerator.js.map +1 -1
- package/dist/summary/summaryManager.d.ts +1 -1
- package/dist/summary/summaryManager.d.ts.map +1 -1
- package/dist/summary/summaryManager.js +15 -14
- package/dist/summary/summaryManager.js.map +1 -1
- package/lib/batchTracker.d.ts +1 -1
- package/lib/batchTracker.d.ts.map +1 -1
- package/lib/batchTracker.js +2 -2
- package/lib/batchTracker.js.map +1 -1
- package/lib/blobManager.d.ts +33 -25
- package/lib/blobManager.d.ts.map +1 -1
- package/lib/blobManager.js +48 -66
- package/lib/blobManager.js.map +1 -1
- package/lib/channelCollection.d.ts +7 -6
- package/lib/channelCollection.d.ts.map +1 -1
- package/lib/channelCollection.js +47 -14
- package/lib/channelCollection.js.map +1 -1
- package/lib/connectionTelemetry.d.ts +3 -3
- package/lib/connectionTelemetry.d.ts.map +1 -1
- package/lib/connectionTelemetry.js +3 -3
- package/lib/connectionTelemetry.js.map +1 -1
- package/lib/container-runtime-alpha.d.ts +263 -41
- package/lib/container-runtime-beta.d.ts +44 -30
- package/lib/container-runtime-public.d.ts +44 -30
- package/lib/container-runtime-untrimmed.d.ts +265 -56
- package/lib/containerHandleContext.d.ts.map +1 -1
- package/lib/containerHandleContext.js +1 -1
- package/lib/containerHandleContext.js.map +1 -1
- package/lib/containerRuntime.d.ts +40 -30
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +224 -101
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStore.d.ts +1 -1
- package/lib/dataStore.d.ts.map +1 -1
- package/lib/dataStore.js +2 -2
- package/lib/dataStore.js.map +1 -1
- package/lib/dataStoreContext.d.ts +9 -9
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +8 -8
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/dataStoreContexts.d.ts.map +1 -1
- package/lib/dataStoreContexts.js +2 -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 +1 -1
- package/lib/dataStoreRegistry.js.map +1 -1
- package/lib/deltaManagerSummarizerProxy.d.ts +1 -1
- package/lib/deltaManagerSummarizerProxy.d.ts.map +1 -1
- package/lib/deltaManagerSummarizerProxy.js.map +1 -1
- package/lib/deltaScheduler.d.ts +1 -1
- package/lib/deltaScheduler.d.ts.map +1 -1
- package/lib/deltaScheduler.js +1 -1
- package/lib/deltaScheduler.js.map +1 -1
- package/lib/error.d.ts +1 -1
- package/lib/error.d.ts.map +1 -1
- package/lib/error.js +2 -2
- package/lib/error.js.map +1 -1
- package/lib/gc/garbageCollection.d.ts +3 -2
- package/lib/gc/garbageCollection.d.ts.map +1 -1
- package/lib/gc/garbageCollection.js +6 -6
- package/lib/gc/garbageCollection.js.map +1 -1
- package/lib/gc/gcConfigs.d.ts +2 -2
- package/lib/gc/gcConfigs.d.ts.map +1 -1
- package/lib/gc/gcConfigs.js +4 -5
- package/lib/gc/gcConfigs.js.map +1 -1
- package/lib/gc/gcDefinitions.d.ts +4 -3
- package/lib/gc/gcDefinitions.d.ts.map +1 -1
- package/lib/gc/gcDefinitions.js.map +1 -1
- package/lib/gc/gcHelpers.d.ts +5 -1
- package/lib/gc/gcHelpers.d.ts.map +1 -1
- package/lib/gc/gcHelpers.js +10 -2
- package/lib/gc/gcHelpers.js.map +1 -1
- package/lib/gc/gcSummaryStateTracker.d.ts +2 -2
- package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
- package/lib/gc/gcSummaryStateTracker.js +2 -2
- package/lib/gc/gcSummaryStateTracker.js.map +1 -1
- package/lib/gc/gcTelemetry.d.ts +2 -1
- package/lib/gc/gcTelemetry.d.ts.map +1 -1
- package/lib/gc/gcTelemetry.js +4 -2
- package/lib/gc/gcTelemetry.js.map +1 -1
- package/lib/gc/gcUnreferencedStateTracker.d.ts.map +1 -1
- package/lib/gc/gcUnreferencedStateTracker.js +2 -2
- package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
- package/lib/gc/index.d.ts +1 -1
- package/lib/gc/index.d.ts.map +1 -1
- package/lib/gc/index.js +1 -1
- package/lib/gc/index.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/messageTypes.d.ts +11 -5
- package/lib/messageTypes.d.ts.map +1 -1
- package/lib/messageTypes.js +4 -0
- package/lib/messageTypes.js.map +1 -1
- package/lib/opLifecycle/batchManager.d.ts.map +1 -1
- package/lib/opLifecycle/batchManager.js.map +1 -1
- package/lib/opLifecycle/definitions.d.ts +2 -20
- package/lib/opLifecycle/definitions.d.ts.map +1 -1
- package/lib/opLifecycle/definitions.js.map +1 -1
- package/lib/opLifecycle/index.d.ts +3 -3
- package/lib/opLifecycle/index.d.ts.map +1 -1
- package/lib/opLifecycle/index.js +2 -2
- package/lib/opLifecycle/index.js.map +1 -1
- package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opCompressor.js +2 -3
- package/lib/opLifecycle/opCompressor.js.map +1 -1
- package/lib/opLifecycle/opDecompressor.d.ts +15 -4
- package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opDecompressor.js +61 -62
- package/lib/opLifecycle/opDecompressor.js.map +1 -1
- package/lib/opLifecycle/opGroupingManager.d.ts +2 -1
- package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/lib/opLifecycle/opGroupingManager.js +9 -12
- package/lib/opLifecycle/opGroupingManager.js.map +1 -1
- package/lib/opLifecycle/opSplitter.d.ts +12 -4
- package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
- package/lib/opLifecycle/opSplitter.js +47 -38
- package/lib/opLifecycle/opSplitter.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +2 -1
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +8 -13
- package/lib/opLifecycle/outbox.js.map +1 -1
- package/lib/opLifecycle/remoteMessageProcessor.d.ts +8 -0
- package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
- package/lib/opLifecycle/remoteMessageProcessor.js +36 -35
- 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 +1 -1
- package/lib/pendingStateManager.d.ts.map +1 -1
- package/lib/pendingStateManager.js +2 -2
- package/lib/pendingStateManager.js.map +1 -1
- package/lib/scheduleManager.d.ts +1 -1
- package/lib/scheduleManager.d.ts.map +1 -1
- package/lib/scheduleManager.js +3 -3
- package/lib/scheduleManager.js.map +1 -1
- package/lib/storageServiceWithAttachBlobs.d.ts +2 -2
- package/lib/storageServiceWithAttachBlobs.d.ts.map +1 -1
- package/lib/storageServiceWithAttachBlobs.js +1 -1
- package/lib/storageServiceWithAttachBlobs.js.map +1 -1
- package/lib/summary/documentSchema.d.ts +209 -0
- package/lib/summary/documentSchema.d.ts.map +1 -0
- package/lib/summary/documentSchema.js +378 -0
- package/lib/summary/documentSchema.js.map +1 -0
- package/lib/summary/index.d.ts +2 -1
- package/lib/summary/index.d.ts.map +1 -1
- package/lib/summary/index.js +1 -0
- package/lib/summary/index.js.map +1 -1
- package/lib/summary/orderedClientElection.d.ts +2 -2
- package/lib/summary/orderedClientElection.d.ts.map +1 -1
- package/lib/summary/orderedClientElection.js +3 -2
- package/lib/summary/orderedClientElection.js.map +1 -1
- package/lib/summary/runWhileConnectedCoordinator.d.ts +1 -1
- package/lib/summary/runWhileConnectedCoordinator.d.ts.map +1 -1
- package/lib/summary/runWhileConnectedCoordinator.js +1 -1
- package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
- package/lib/summary/runningSummarizer.d.ts +3 -3
- package/lib/summary/runningSummarizer.d.ts.map +1 -1
- package/lib/summary/runningSummarizer.js +3 -3
- package/lib/summary/runningSummarizer.js.map +1 -1
- package/lib/summary/summarizer.d.ts +3 -2
- package/lib/summary/summarizer.d.ts.map +1 -1
- package/lib/summary/summarizer.js +3 -3
- package/lib/summary/summarizer.js.map +1 -1
- package/lib/summary/summarizerClientElection.d.ts +2 -2
- package/lib/summary/summarizerClientElection.d.ts.map +1 -1
- package/lib/summary/summarizerClientElection.js.map +1 -1
- package/lib/summary/summarizerHeuristics.d.ts +1 -1
- package/lib/summary/summarizerHeuristics.d.ts.map +1 -1
- package/lib/summary/summarizerHeuristics.js +1 -1
- package/lib/summary/summarizerHeuristics.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.d.ts +3 -2
- package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.js +5 -5
- package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +2 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.js +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js +3 -3
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/lib/summary/summarizerTypes.d.ts +5 -3
- package/lib/summary/summarizerTypes.d.ts.map +1 -1
- package/lib/summary/summarizerTypes.js.map +1 -1
- package/lib/summary/summaryCollection.d.ts +2 -2
- package/lib/summary/summaryCollection.d.ts.map +1 -1
- package/lib/summary/summaryCollection.js +1 -1
- package/lib/summary/summaryCollection.js.map +1 -1
- package/lib/summary/summaryFormat.d.ts +6 -17
- package/lib/summary/summaryFormat.d.ts.map +1 -1
- package/lib/summary/summaryFormat.js +3 -3
- package/lib/summary/summaryFormat.js.map +1 -1
- package/lib/summary/summaryGenerator.d.ts +4 -3
- package/lib/summary/summaryGenerator.d.ts.map +1 -1
- package/lib/summary/summaryGenerator.js +4 -4
- package/lib/summary/summaryGenerator.js.map +1 -1
- package/lib/summary/summaryManager.d.ts +1 -1
- package/lib/summary/summaryManager.d.ts.map +1 -1
- package/lib/summary/summaryManager.js +9 -8
- package/lib/summary/summaryManager.js.map +1 -1
- package/lib/tsdoc-metadata.json +11 -0
- package/package.json +34 -32
- package/src/batchTracker.ts +4 -3
- package/src/blobManager.ts +100 -69
- package/src/channelCollection.ts +86 -43
- package/src/connectionTelemetry.ts +12 -12
- package/src/containerHandleContext.ts +3 -2
- package/src/containerRuntime.ts +419 -232
- package/src/dataStore.ts +5 -3
- package/src/dataStoreContext.ts +32 -29
- package/src/dataStoreContexts.ts +4 -2
- package/src/dataStoreRegistry.ts +2 -2
- package/src/deltaManagerSummarizerProxy.ts +1 -1
- package/src/deltaScheduler.ts +2 -1
- package/src/error.ts +2 -2
- package/src/gc/garbageCollection.ts +19 -18
- package/src/gc/gcConfigs.ts +15 -18
- package/src/gc/gcDefinitions.ts +6 -6
- package/src/gc/gcHelpers.ts +22 -5
- package/src/gc/gcSummaryStateTracker.ts +7 -5
- package/src/gc/gcTelemetry.ts +13 -7
- package/src/gc/gcUnreferencedStateTracker.ts +3 -2
- package/src/gc/index.ts +1 -0
- package/src/index.ts +8 -1
- package/src/messageTypes.ts +20 -6
- package/src/opLifecycle/README.md +89 -0
- package/src/opLifecycle/batchManager.ts +1 -0
- package/src/opLifecycle/definitions.ts +3 -21
- package/src/opLifecycle/index.ts +3 -9
- package/src/opLifecycle/opCompressor.ts +6 -5
- package/src/opLifecycle/opDecompressor.ts +84 -100
- package/src/opLifecycle/opGroupingManager.ts +12 -14
- package/src/opLifecycle/opSplitter.ts +76 -48
- package/src/opLifecycle/outbox.ts +17 -32
- package/src/opLifecycle/remoteMessageProcessor.ts +43 -59
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +6 -6
- package/src/scheduleManager.ts +9 -8
- package/src/storageServiceWithAttachBlobs.ts +2 -2
- package/src/summary/documentSchema.ts +612 -0
- package/src/summary/index.ts +10 -1
- package/src/summary/orderedClientElection.ts +6 -7
- package/src/summary/runWhileConnectedCoordinator.ts +3 -2
- package/src/summary/runningSummarizer.ts +22 -20
- package/src/summary/summarizer.ts +17 -15
- package/src/summary/summarizerClientElection.ts +3 -2
- package/src/summary/summarizerHeuristics.ts +4 -2
- package/src/summary/summarizerNode/summarizerNode.ts +20 -18
- package/src/summary/summarizerNode/summarizerNodeUtils.ts +3 -2
- package/src/summary/summarizerNode/summarizerNodeWithGc.ts +16 -8
- package/src/summary/summarizerTypes.ts +7 -3
- package/src/summary/summaryCollection.ts +3 -3
- package/src/summary/summaryFormat.ts +14 -26
- package/src/summary/summaryGenerator.ts +12 -15
- package/src/summary/summaryManager.ts +16 -13
- package/lib/test/batchTracker.spec.js +0 -88
- package/lib/test/batchTracker.spec.js.map +0 -1
- package/lib/test/blobManager.spec.js +0 -835
- package/lib/test/blobManager.spec.js.map +0 -1
- package/lib/test/channelCollection.spec.js +0 -138
- package/lib/test/channelCollection.spec.js.map +0 -1
- package/lib/test/containerRuntime.spec.js +0 -1748
- package/lib/test/containerRuntime.spec.js.map +0 -1
- package/lib/test/dataStoreContext.spec.js +0 -771
- package/lib/test/dataStoreContext.spec.js.map +0 -1
- package/lib/test/dataStoreCreation.spec.js +0 -303
- package/lib/test/dataStoreCreation.spec.js.map +0 -1
- package/lib/test/dataStoreRegistry.spec.js +0 -26
- package/lib/test/dataStoreRegistry.spec.js.map +0 -1
- package/lib/test/fuzz/fuzzUtils.js +0 -66
- package/lib/test/fuzz/fuzzUtils.js.map +0 -1
- package/lib/test/fuzz/summarizer.fuzz.spec.js +0 -31
- package/lib/test/fuzz/summarizer.fuzz.spec.js.map +0 -1
- package/lib/test/fuzz/summarizerFuzzMocks.js +0 -162
- package/lib/test/fuzz/summarizerFuzzMocks.js.map +0 -1
- package/lib/test/fuzz/summarizerFuzzSuite.js +0 -106
- package/lib/test/fuzz/summarizerFuzzSuite.js.map +0 -1
- package/lib/test/gc/garbageCollection.spec.js +0 -1464
- package/lib/test/gc/garbageCollection.spec.js.map +0 -1
- package/lib/test/gc/gcConfigs.spec.js +0 -689
- package/lib/test/gc/gcConfigs.spec.js.map +0 -1
- package/lib/test/gc/gcHelpers.spec.js +0 -110
- package/lib/test/gc/gcHelpers.spec.js.map +0 -1
- package/lib/test/gc/gcReferenceGraphAlgorithm.spec.js +0 -68
- package/lib/test/gc/gcReferenceGraphAlgorithm.spec.js.map +0 -1
- package/lib/test/gc/gcStats.spec.js +0 -390
- package/lib/test/gc/gcStats.spec.js.map +0 -1
- package/lib/test/gc/gcSummaryStateTracker.spec.js +0 -228
- package/lib/test/gc/gcSummaryStateTracker.spec.js.map +0 -1
- package/lib/test/gc/gcTelemetry.spec.js +0 -530
- package/lib/test/gc/gcTelemetry.spec.js.map +0 -1
- package/lib/test/gc/gcUnitTestHelpers.js +0 -29
- package/lib/test/gc/gcUnitTestHelpers.js.map +0 -1
- package/lib/test/gc/gcUnreferencedStateTracker.spec.js +0 -192
- package/lib/test/gc/gcUnreferencedStateTracker.spec.js.map +0 -1
- package/lib/test/getPendingBlobs.spec.js +0 -193
- package/lib/test/getPendingBlobs.spec.js.map +0 -1
- package/lib/test/hardwareStats.spec.js +0 -93
- package/lib/test/hardwareStats.spec.js.map +0 -1
- package/lib/test/index.js +0 -6
- package/lib/test/index.js.map +0 -1
- package/lib/test/opLifecycle/OpGroupingManager.spec.js +0 -225
- package/lib/test/opLifecycle/OpGroupingManager.spec.js.map +0 -1
- package/lib/test/opLifecycle/batchManager.spec.js +0 -189
- package/lib/test/opLifecycle/batchManager.spec.js.map +0 -1
- package/lib/test/opLifecycle/opCompressor.spec.js +0 -74
- package/lib/test/opLifecycle/opCompressor.spec.js.map +0 -1
- package/lib/test/opLifecycle/opDecompressor.spec.js +0 -218
- package/lib/test/opLifecycle/opDecompressor.spec.js.map +0 -1
- package/lib/test/opLifecycle/opSplitter.spec.js +0 -272
- package/lib/test/opLifecycle/opSplitter.spec.js.map +0 -1
- package/lib/test/opLifecycle/outbox.spec.js +0 -675
- package/lib/test/opLifecycle/outbox.spec.js.map +0 -1
- package/lib/test/opLifecycle/remoteMessageProcessor.spec.js +0 -196
- package/lib/test/opLifecycle/remoteMessageProcessor.spec.js.map +0 -1
- package/lib/test/pendingStateManager.spec.js +0 -329
- package/lib/test/pendingStateManager.spec.js.map +0 -1
- package/lib/test/scheduleManager.spec.js +0 -270
- package/lib/test/scheduleManager.spec.js.map +0 -1
- package/lib/test/summarizerNode.spec.js +0 -326
- package/lib/test/summarizerNode.spec.js.map +0 -1
- package/lib/test/summarizerNodeWithGc.spec.js +0 -318
- package/lib/test/summarizerNodeWithGc.spec.js.map +0 -1
- package/lib/test/summary/orderedClientElection.spec.js +0 -535
- package/lib/test/summary/orderedClientElection.spec.js.map +0 -1
- package/lib/test/summary/runningSummarizer.spec.js +0 -1349
- package/lib/test/summary/runningSummarizer.spec.js.map +0 -1
- package/lib/test/summary/summarizer.spec.js +0 -29
- package/lib/test/summary/summarizer.spec.js.map +0 -1
- package/lib/test/summary/summarizerClientElection.spec.js +0 -436
- package/lib/test/summary/summarizerClientElection.spec.js.map +0 -1
- package/lib/test/summary/summarizerHeuristics.spec.js +0 -289
- package/lib/test/summary/summarizerHeuristics.spec.js.map +0 -1
- package/lib/test/summary/summaryCollection.spec.js +0 -200
- package/lib/test/summary/summaryCollection.spec.js.map +0 -1
- package/lib/test/summary/summaryManager.spec.js +0 -430
- package/lib/test/summary/summaryManager.spec.js.map +0 -1
- package/lib/test/summary/testQuorumClients.js +0 -34
- package/lib/test/summary/testQuorumClients.js.map +0 -1
- package/lib/test/throttler.spec.js +0 -175
- package/lib/test/throttler.spec.js.map +0 -1
- package/lib/test/types/validateContainerRuntimePrevious.generated.js +0 -180
- package/lib/test/types/validateContainerRuntimePrevious.generated.js.map +0 -1
package/src/dataStore.ts
CHANGED
|
@@ -3,15 +3,17 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { ITelemetryLoggerExt, TelemetryDataTag, UsageError } from "@fluidframework/telemetry-utils";
|
|
7
|
-
import { assert, unreachableCase } from "@fluidframework/core-utils";
|
|
8
6
|
import { AttachState } from "@fluidframework/container-definitions";
|
|
9
7
|
import { FluidObject, IFluidHandle } from "@fluidframework/core-interfaces";
|
|
8
|
+
import { assert, unreachableCase } from "@fluidframework/core-utils/internal";
|
|
10
9
|
import {
|
|
11
10
|
AliasResult,
|
|
12
11
|
IDataStore,
|
|
13
12
|
IFluidDataStoreChannel,
|
|
14
|
-
} from "@fluidframework/runtime-definitions";
|
|
13
|
+
} from "@fluidframework/runtime-definitions/internal";
|
|
14
|
+
import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
|
|
15
|
+
import { TelemetryDataTag, UsageError } from "@fluidframework/telemetry-utils/internal";
|
|
16
|
+
|
|
15
17
|
import { ChannelCollection } from "./channelCollection.js";
|
|
16
18
|
import { ContainerMessageType } from "./messageTypes.js";
|
|
17
19
|
|
package/src/dataStoreContext.ts
CHANGED
|
@@ -3,21 +3,21 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import { TypedEventEmitter } from "@fluid-internal/client-utils";
|
|
7
|
+
import { AttachState, IAudience, IDeltaManager } from "@fluidframework/container-definitions";
|
|
6
8
|
import {
|
|
7
|
-
IDisposable,
|
|
8
9
|
FluidObject,
|
|
10
|
+
IDisposable,
|
|
11
|
+
IFluidHandle,
|
|
9
12
|
IRequest,
|
|
10
13
|
IResponse,
|
|
11
|
-
IFluidHandle,
|
|
12
14
|
ITelemetryBaseProperties,
|
|
15
|
+
IEvent,
|
|
13
16
|
} from "@fluidframework/core-interfaces";
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import { IDocumentStorageService } from "@fluidframework/driver-definitions";
|
|
18
|
-
import { BlobTreeEntry, readAndParse } from "@fluidframework/driver-utils";
|
|
17
|
+
import { assert, LazyPromise, unreachableCase } from "@fluidframework/core-utils/internal";
|
|
18
|
+
import { IDocumentStorageService } from "@fluidframework/driver-definitions/internal";
|
|
19
|
+
import { BlobTreeEntry, readAndParse } from "@fluidframework/driver-utils/internal";
|
|
19
20
|
import type { IIdCompressor } from "@fluidframework/id-compressor";
|
|
20
|
-
import { IEvent } from "@fluidframework/core-interfaces";
|
|
21
21
|
import {
|
|
22
22
|
IClientDetails,
|
|
23
23
|
IDocumentMessage,
|
|
@@ -27,52 +27,55 @@ import {
|
|
|
27
27
|
ITreeEntry,
|
|
28
28
|
} from "@fluidframework/protocol-definitions";
|
|
29
29
|
import {
|
|
30
|
-
|
|
30
|
+
IGarbageCollectionData,
|
|
31
|
+
IInboundSignalMessage,
|
|
32
|
+
ISummaryTreeWithStats,
|
|
33
|
+
ITelemetryContext,
|
|
34
|
+
} from "@fluidframework/runtime-definitions";
|
|
35
|
+
import {
|
|
31
36
|
CreateChildSummarizerNodeFn,
|
|
32
37
|
CreateChildSummarizerNodeParam,
|
|
33
38
|
FluidDataStoreRegistryEntry,
|
|
39
|
+
IContainerRuntimeBase,
|
|
40
|
+
IDataStore,
|
|
34
41
|
IFluidDataStoreChannel,
|
|
35
42
|
IFluidDataStoreContext,
|
|
36
|
-
IFluidParentContext,
|
|
37
|
-
IContainerRuntimeBase,
|
|
38
43
|
IFluidDataStoreContextDetached,
|
|
39
44
|
IFluidDataStoreRegistry,
|
|
40
|
-
|
|
45
|
+
IFluidParentContext,
|
|
41
46
|
IGarbageCollectionDetailsBase,
|
|
42
|
-
IInboundSignalMessage,
|
|
43
47
|
IProvideFluidDataStoreFactory,
|
|
44
48
|
ISummarizeInternalResult,
|
|
45
49
|
ISummarizeResult,
|
|
46
50
|
ISummarizerNodeWithGC,
|
|
47
51
|
SummarizeInternalFn,
|
|
48
|
-
|
|
49
|
-
ISummaryTreeWithStats,
|
|
50
|
-
IDataStore,
|
|
52
|
+
channelsTreeName,
|
|
51
53
|
gcDataBlobKey,
|
|
52
|
-
} from "@fluidframework/runtime-definitions";
|
|
53
|
-
import { addBlobToSummary } from "@fluidframework/runtime-utils";
|
|
54
|
+
} from "@fluidframework/runtime-definitions/internal";
|
|
55
|
+
import { addBlobToSummary } from "@fluidframework/runtime-utils/internal";
|
|
54
56
|
import {
|
|
55
|
-
createChildMonitoringContext,
|
|
56
57
|
DataCorruptionError,
|
|
57
58
|
DataProcessingError,
|
|
58
|
-
extractSafePropertiesFromMessage,
|
|
59
|
-
generateStack,
|
|
60
59
|
LoggingError,
|
|
61
60
|
MonitoringContext,
|
|
62
|
-
tagCodeArtifacts,
|
|
63
61
|
ThresholdCounter,
|
|
64
|
-
|
|
62
|
+
createChildMonitoringContext,
|
|
63
|
+
extractSafePropertiesFromMessage,
|
|
64
|
+
generateStack,
|
|
65
|
+
tagCodeArtifacts,
|
|
66
|
+
} from "@fluidframework/telemetry-utils/internal";
|
|
67
|
+
|
|
68
|
+
import { detectOutboundRoutesViaDDSKey, sendGCUnexpectedUsageEvent } from "./gc/index.js";
|
|
65
69
|
import {
|
|
66
|
-
dataStoreAttributesBlobName,
|
|
67
|
-
hasIsolatedChannels,
|
|
68
|
-
wrapSummaryInChannelsTree,
|
|
69
70
|
ReadFluidDataStoreAttributes,
|
|
70
71
|
WriteFluidDataStoreAttributes,
|
|
72
|
+
dataStoreAttributesBlobName,
|
|
71
73
|
getAttributesFormatVersion,
|
|
72
74
|
getFluidDataStoreAttributes,
|
|
75
|
+
hasIsolatedChannels,
|
|
73
76
|
summarizerClientType,
|
|
77
|
+
wrapSummaryInChannelsTree,
|
|
74
78
|
} from "./summary/index.js";
|
|
75
|
-
import { detectOutboundRoutesViaDDSKey, sendGCUnexpectedUsageEvent } from "./gc/index.js";
|
|
76
79
|
|
|
77
80
|
function createAttributes(
|
|
78
81
|
pkg: readonly string[],
|
|
@@ -799,10 +802,10 @@ export abstract class FluidDataStoreContext
|
|
|
799
802
|
/**
|
|
800
803
|
* Submits the signal to be sent to other clients.
|
|
801
804
|
* @param type - Type of the signal.
|
|
802
|
-
* @param content - Content of the signal.
|
|
805
|
+
* @param content - Content of the signal. Should be a JSON serializable object or primitive.
|
|
803
806
|
* @param targetClientId - When specified, the signal is only sent to the provided client id.
|
|
804
807
|
*/
|
|
805
|
-
public submitSignal(type: string, content:
|
|
808
|
+
public submitSignal(type: string, content: unknown, targetClientId?: string) {
|
|
806
809
|
this.verifyNotClosed("submitSignal");
|
|
807
810
|
|
|
808
811
|
assert(!!this.channel, 0x147 /* "Channel must exist on submitting signal" */);
|
package/src/dataStoreContexts.ts
CHANGED
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { assert, Deferred, Lazy } from "@fluidframework/core-utils";
|
|
7
6
|
import { IDisposable, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
|
|
8
|
-
import {
|
|
7
|
+
import { assert, Deferred, Lazy } from "@fluidframework/core-utils/internal";
|
|
8
|
+
import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
|
|
9
|
+
import { createChildLogger } from "@fluidframework/telemetry-utils/internal";
|
|
10
|
+
|
|
9
11
|
import { FluidDataStoreContext, LocalFluidDataStoreContext } from "./dataStoreContext.js";
|
|
10
12
|
|
|
11
13
|
/** @internal */
|
package/src/dataStoreRegistry.ts
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { UsageError } from "@fluidframework/telemetry-utils";
|
|
7
6
|
import {
|
|
8
7
|
FluidDataStoreRegistryEntry,
|
|
9
8
|
IFluidDataStoreRegistry,
|
|
10
9
|
NamedFluidDataStoreRegistryEntries,
|
|
11
|
-
} from "@fluidframework/runtime-definitions";
|
|
10
|
+
} from "@fluidframework/runtime-definitions/internal";
|
|
11
|
+
import { UsageError } from "@fluidframework/telemetry-utils/internal";
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* @internal
|
|
@@ -139,7 +139,7 @@ export class DeltaManagerSummarizerProxy
|
|
|
139
139
|
this.deltaManager.off("readonly", this.onReadonly);
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
public submitSignal(content:
|
|
142
|
+
public submitSignal(content: string, targetClientId?: string): void {
|
|
143
143
|
return this.deltaManager.submitSignal(content, targetClientId);
|
|
144
144
|
}
|
|
145
145
|
|
package/src/deltaScheduler.ts
CHANGED
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { ITelemetryLoggerExt, formatTick } from "@fluidframework/telemetry-utils";
|
|
7
6
|
import { performance } from "@fluid-internal/client-utils";
|
|
8
7
|
import { IDeltaManager } from "@fluidframework/container-definitions";
|
|
9
8
|
import { IDocumentMessage, ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
|
|
9
|
+
import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
|
|
10
|
+
import { formatTick } from "@fluidframework/telemetry-utils/internal";
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* DeltaScheduler is responsible for the scheduling of inbound delta queue in cases where there
|
package/src/error.ts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { ContainerErrorTypes } from "@fluidframework/container-definitions";
|
|
7
|
-
import { IFluidErrorBase, LoggingError } from "@fluidframework/telemetry-utils";
|
|
6
|
+
import { ContainerErrorTypes } from "@fluidframework/container-definitions/internal";
|
|
7
|
+
import { IFluidErrorBase, LoggingError } from "@fluidframework/telemetry-utils/internal";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Error indicating that a client's session has reached its time limit and is closed.
|
|
@@ -3,25 +3,25 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { assert, LazyPromise, Timer } from "@fluidframework/core-utils";
|
|
7
6
|
import { IRequest } from "@fluidframework/core-interfaces";
|
|
7
|
+
import { assert, LazyPromise, Timer } from "@fluidframework/core-utils/internal";
|
|
8
|
+
import { IGarbageCollectionData, ITelemetryContext } from "@fluidframework/runtime-definitions";
|
|
8
9
|
import {
|
|
9
|
-
gcTreeKey,
|
|
10
|
-
IGarbageCollectionData,
|
|
11
10
|
IGarbageCollectionDetailsBase,
|
|
12
11
|
ISummarizeResult,
|
|
13
|
-
|
|
14
|
-
} from "@fluidframework/runtime-definitions";
|
|
15
|
-
import { createResponseError, responseToException } from "@fluidframework/runtime-utils";
|
|
12
|
+
gcTreeKey,
|
|
13
|
+
} from "@fluidframework/runtime-definitions/internal";
|
|
14
|
+
import { createResponseError, responseToException } from "@fluidframework/runtime-utils/internal";
|
|
15
|
+
import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
|
|
16
16
|
import {
|
|
17
|
-
createChildLogger,
|
|
18
|
-
createChildMonitoringContext,
|
|
19
17
|
DataProcessingError,
|
|
20
|
-
ITelemetryLoggerExt,
|
|
21
18
|
MonitoringContext,
|
|
22
19
|
PerformanceEvent,
|
|
20
|
+
createChildLogger,
|
|
21
|
+
createChildMonitoringContext,
|
|
23
22
|
tagCodeArtifacts,
|
|
24
|
-
} from "@fluidframework/telemetry-utils";
|
|
23
|
+
} from "@fluidframework/telemetry-utils/internal";
|
|
24
|
+
|
|
25
25
|
import { BlobManager } from "../blobManager.js";
|
|
26
26
|
import {
|
|
27
27
|
InactiveResponseHeaderKey,
|
|
@@ -31,21 +31,22 @@ import {
|
|
|
31
31
|
import { ClientSessionExpiredError } from "../error.js";
|
|
32
32
|
import { ContainerMessageType, ContainerRuntimeGCMessage } from "../messageTypes.js";
|
|
33
33
|
import { IRefreshSummaryResult } from "../summary/index.js";
|
|
34
|
+
|
|
34
35
|
import { generateGCConfigs } from "./gcConfigs.js";
|
|
35
36
|
import {
|
|
36
37
|
GCNodeType,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
GarbageCollectionMessage,
|
|
39
|
+
GarbageCollectionMessageType,
|
|
40
|
+
IGCMetadata,
|
|
40
41
|
IGCResult,
|
|
41
42
|
IGCStats,
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
IGarbageCollectionRuntime,
|
|
44
|
+
IGarbageCollector,
|
|
44
45
|
IGarbageCollectorConfigs,
|
|
46
|
+
IGarbageCollectorCreateParams,
|
|
45
47
|
IMarkPhaseStats,
|
|
46
48
|
ISweepPhaseStats,
|
|
47
|
-
|
|
48
|
-
GarbageCollectionMessageType,
|
|
49
|
+
UnreferencedState,
|
|
49
50
|
disableAutoRecoveryKey,
|
|
50
51
|
} from "./gcDefinitions.js";
|
|
51
52
|
import {
|
|
@@ -57,11 +58,11 @@ import {
|
|
|
57
58
|
import { runGarbageCollection } from "./gcReferenceGraphAlgorithm.js";
|
|
58
59
|
import { IGarbageCollectionSnapshotData, IGarbageCollectionState } from "./gcSummaryDefinitions.js";
|
|
59
60
|
import { GCSummaryStateTracker } from "./gcSummaryStateTracker.js";
|
|
61
|
+
import { GCTelemetryTracker } from "./gcTelemetry.js";
|
|
60
62
|
import {
|
|
61
63
|
UnreferencedStateTracker,
|
|
62
64
|
UnreferencedStateTrackerMap,
|
|
63
65
|
} from "./gcUnreferencedStateTracker.js";
|
|
64
|
-
import { GCTelemetryTracker } from "./gcTelemetry.js";
|
|
65
66
|
|
|
66
67
|
/**
|
|
67
68
|
* The garbage collector for the container runtime. It consolidates the garbage collection functionality and maintains
|
package/src/gc/gcConfigs.ts
CHANGED
|
@@ -7,35 +7,34 @@ import {
|
|
|
7
7
|
MonitoringContext,
|
|
8
8
|
UsageError,
|
|
9
9
|
validatePrecondition,
|
|
10
|
-
} from "@fluidframework/telemetry-utils";
|
|
10
|
+
} from "@fluidframework/telemetry-utils/internal";
|
|
11
|
+
|
|
11
12
|
import { IContainerRuntimeMetadata } from "../summary/index.js";
|
|
13
|
+
|
|
12
14
|
import {
|
|
13
|
-
|
|
15
|
+
GCFeatureMatrix,
|
|
16
|
+
GCVersion,
|
|
17
|
+
IGCMetadata_Deprecated,
|
|
18
|
+
IGCRuntimeOptions,
|
|
19
|
+
IGarbageCollectorConfigs,
|
|
14
20
|
defaultInactiveTimeoutMs,
|
|
15
21
|
defaultSessionExpiryDurationMs,
|
|
22
|
+
defaultSweepGracePeriodMs,
|
|
23
|
+
disableDatastoreSweepKey,
|
|
16
24
|
disableTombstoneKey,
|
|
17
|
-
|
|
25
|
+
gcDisableDataStoreSweepOptionName,
|
|
26
|
+
gcDisableThrowOnTombstoneLoadOptionName,
|
|
27
|
+
gcGenerationOptionName,
|
|
18
28
|
gcTestModeKey,
|
|
19
|
-
GCVersion,
|
|
20
|
-
gcVersionUpgradeToV4Key,
|
|
21
|
-
IGarbageCollectorConfigs,
|
|
22
|
-
IGCRuntimeOptions,
|
|
23
29
|
maxSnapshotCacheExpiryMs,
|
|
24
30
|
oneDayMs,
|
|
25
31
|
runGCKey,
|
|
26
32
|
runSessionExpiryKey,
|
|
27
33
|
runSweepKey,
|
|
28
|
-
stableGCVersion,
|
|
29
34
|
throwOnTombstoneLoadOverrideKey,
|
|
30
35
|
throwOnTombstoneUsageKey,
|
|
31
|
-
gcDisableThrowOnTombstoneLoadOptionName,
|
|
32
|
-
defaultSweepGracePeriodMs,
|
|
33
|
-
gcGenerationOptionName,
|
|
34
|
-
IGCMetadata_Deprecated,
|
|
35
|
-
disableDatastoreSweepKey,
|
|
36
|
-
gcDisableDataStoreSweepOptionName,
|
|
37
36
|
} from "./gcDefinitions.js";
|
|
38
|
-
import { getGCVersion, shouldAllowGcSweep } from "./gcHelpers.js";
|
|
37
|
+
import { getGCVersion, getGCVersionInEffect, shouldAllowGcSweep } from "./gcHelpers.js";
|
|
39
38
|
|
|
40
39
|
/**
|
|
41
40
|
* Generates configurations for the Garbage Collector that it uses to determine what to run and how.
|
|
@@ -113,9 +112,7 @@ export function generateGCConfigs(
|
|
|
113
112
|
createParams.gcOptions[gcGenerationOptionName] /* currentGeneration */,
|
|
114
113
|
);
|
|
115
114
|
|
|
116
|
-
|
|
117
|
-
const gcVersionInEffect =
|
|
118
|
-
mc.config.getBoolean(gcVersionUpgradeToV4Key) === true ? nextGCVersion : stableGCVersion;
|
|
115
|
+
const gcVersionInEffect = getGCVersionInEffect(mc.config);
|
|
119
116
|
|
|
120
117
|
// The GC version is up-to-date if the GC version in effect is at least equal to the GC version in base snapshot.
|
|
121
118
|
// If it is not up-to-date, there is a newer version of GC out there which is more reliable than this. So, GC
|
package/src/gc/gcDefinitions.ts
CHANGED
|
@@ -6,21 +6,21 @@
|
|
|
6
6
|
import { ICriticalContainerError } from "@fluidframework/container-definitions";
|
|
7
7
|
import { IRequest } from "@fluidframework/core-interfaces";
|
|
8
8
|
import { ISnapshotTree } from "@fluidframework/protocol-definitions";
|
|
9
|
+
import { IGarbageCollectionData, ITelemetryContext } from "@fluidframework/runtime-definitions";
|
|
9
10
|
import {
|
|
10
|
-
IGarbageCollectionData,
|
|
11
11
|
IGarbageCollectionDetailsBase,
|
|
12
12
|
ISummarizeResult,
|
|
13
|
-
|
|
14
|
-
} from "@fluidframework/runtime-
|
|
15
|
-
import { ReadAndParseBlob } from "@fluidframework/runtime-utils";
|
|
13
|
+
} from "@fluidframework/runtime-definitions/internal";
|
|
14
|
+
import { ReadAndParseBlob } from "@fluidframework/runtime-utils/internal";
|
|
16
15
|
import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils";
|
|
16
|
+
|
|
17
|
+
import { RuntimeHeaderData } from "../containerRuntime.js";
|
|
18
|
+
import { ContainerRuntimeGCMessage } from "../messageTypes.js";
|
|
17
19
|
import {
|
|
18
20
|
IContainerRuntimeMetadata,
|
|
19
21
|
ICreateContainerMetadata,
|
|
20
22
|
IRefreshSummaryResult,
|
|
21
23
|
} from "../summary/index.js";
|
|
22
|
-
import { RuntimeHeaderData } from "../containerRuntime.js";
|
|
23
|
-
import { ContainerRuntimeGCMessage } from "../messageTypes.js";
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* @alpha
|
package/src/gc/gcHelpers.ts
CHANGED
|
@@ -3,16 +3,25 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { assert } from "@fluidframework/core-utils";
|
|
6
|
+
import { assert } from "@fluidframework/core-utils/internal";
|
|
7
7
|
import { ISnapshotTree } from "@fluidframework/protocol-definitions";
|
|
8
|
+
import { IGarbageCollectionData } from "@fluidframework/runtime-definitions";
|
|
8
9
|
import {
|
|
10
|
+
IGarbageCollectionDetailsBase,
|
|
9
11
|
gcBlobPrefix,
|
|
10
12
|
gcDeletedBlobKey,
|
|
11
13
|
gcTombstoneBlobKey,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
import {
|
|
14
|
+
} from "@fluidframework/runtime-definitions/internal";
|
|
15
|
+
import type { IConfigProvider } from "@fluidframework/telemetry-utils/internal";
|
|
16
|
+
|
|
17
|
+
import {
|
|
18
|
+
GCFeatureMatrix,
|
|
19
|
+
GCVersion,
|
|
20
|
+
IGCMetadata,
|
|
21
|
+
gcVersionUpgradeToV4Key,
|
|
22
|
+
nextGCVersion,
|
|
23
|
+
stableGCVersion,
|
|
24
|
+
} from "./gcDefinitions.js";
|
|
16
25
|
import {
|
|
17
26
|
IGarbageCollectionNodeData,
|
|
18
27
|
IGarbageCollectionSnapshotData,
|
|
@@ -27,6 +36,14 @@ export function getGCVersion(metadata?: IGCMetadata): GCVersion {
|
|
|
27
36
|
return metadata.gcFeature ?? 0;
|
|
28
37
|
}
|
|
29
38
|
|
|
39
|
+
/** Indicates what GC version is in effect for new GC data being written in this session */
|
|
40
|
+
export function getGCVersionInEffect(configProvider: IConfigProvider): number {
|
|
41
|
+
// If version upgrade is not enabled, fall back to the stable GC version.
|
|
42
|
+
return configProvider.getBoolean(gcVersionUpgradeToV4Key) === true
|
|
43
|
+
? nextGCVersion
|
|
44
|
+
: stableGCVersion;
|
|
45
|
+
}
|
|
46
|
+
|
|
30
47
|
/**
|
|
31
48
|
* Indicates whether Sweep is allowed for this document based on the persisted GC Feature Matrix and current gcGeneration.
|
|
32
49
|
* This applies to the entire Sweep Phase the same - both Tombstone Enforcement (i.e. should loading a Tombstone fail?) and Deletion.
|
|
@@ -4,17 +4,19 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { SummaryType } from "@fluidframework/protocol-definitions";
|
|
7
|
+
import { ISummaryTreeWithStats } from "@fluidframework/runtime-definitions";
|
|
7
8
|
import {
|
|
9
|
+
ISummarizeResult,
|
|
8
10
|
gcBlobPrefix,
|
|
9
11
|
gcDeletedBlobKey,
|
|
10
12
|
gcTombstoneBlobKey,
|
|
11
13
|
gcTreeKey,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
import { mergeStats, SummaryTreeBuilder } from "@fluidframework/runtime-utils";
|
|
14
|
+
} from "@fluidframework/runtime-definitions/internal";
|
|
15
|
+
import { SummaryTreeBuilder, mergeStats } from "@fluidframework/runtime-utils/internal";
|
|
16
|
+
|
|
16
17
|
import { IRefreshSummaryResult } from "../summary/index.js";
|
|
17
|
-
|
|
18
|
+
|
|
19
|
+
import { GCVersion, IGCStats, IGarbageCollectorConfigs } from "./gcDefinitions.js";
|
|
18
20
|
import { generateSortedGCState } from "./gcHelpers.js";
|
|
19
21
|
import { IGarbageCollectionSnapshotData, IGarbageCollectionState } from "./gcSummaryDefinitions.js";
|
|
20
22
|
|
package/src/gc/gcTelemetry.ts
CHANGED
|
@@ -5,24 +5,29 @@
|
|
|
5
5
|
|
|
6
6
|
import { IGarbageCollectionData } from "@fluidframework/runtime-definitions";
|
|
7
7
|
import {
|
|
8
|
-
|
|
8
|
+
type ITelemetryGenericEventExt,
|
|
9
9
|
ITelemetryLoggerExt,
|
|
10
|
+
} from "@fluidframework/telemetry-utils";
|
|
11
|
+
import {
|
|
10
12
|
MonitoringContext,
|
|
13
|
+
generateStack,
|
|
11
14
|
tagCodeArtifacts,
|
|
12
|
-
|
|
13
|
-
|
|
15
|
+
} from "@fluidframework/telemetry-utils/internal";
|
|
16
|
+
|
|
14
17
|
import { RuntimeHeaderData } from "../containerRuntime.js";
|
|
15
18
|
import { ICreateContainerMetadata } from "../summary/index.js";
|
|
19
|
+
|
|
16
20
|
import {
|
|
21
|
+
GCFeatureMatrix,
|
|
17
22
|
GCNodeType,
|
|
18
|
-
UnreferencedState,
|
|
19
23
|
IGarbageCollectorConfigs,
|
|
24
|
+
UnreferencedState,
|
|
20
25
|
disableTombstoneKey,
|
|
21
|
-
throwOnTombstoneUsageKey,
|
|
22
|
-
throwOnTombstoneLoadOverrideKey,
|
|
23
26
|
runSweepKey,
|
|
24
|
-
|
|
27
|
+
throwOnTombstoneLoadOverrideKey,
|
|
28
|
+
throwOnTombstoneUsageKey,
|
|
25
29
|
} from "./gcDefinitions.js";
|
|
30
|
+
import { getGCVersionInEffect } from "./gcHelpers.js";
|
|
26
31
|
import { UnreferencedStateTracker } from "./gcUnreferencedStateTracker.js";
|
|
27
32
|
|
|
28
33
|
type NodeUsageType = "Changed" | "Loaded" | "Revived";
|
|
@@ -429,6 +434,7 @@ export function sendGCUnexpectedUsageEvent(
|
|
|
429
434
|
event.sweepFlags = JSON.stringify({
|
|
430
435
|
EnableSweepFlag: mc.config.getBoolean(runSweepKey),
|
|
431
436
|
});
|
|
437
|
+
event.gcVersion = getGCVersionInEffect(mc.config);
|
|
432
438
|
|
|
433
439
|
mc.logger.sendTelemetryEvent(event, error);
|
|
434
440
|
}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { assert, Timer } from "@fluidframework/core-utils";
|
|
7
|
-
import { validatePrecondition } from "@fluidframework/telemetry-utils";
|
|
6
|
+
import { assert, Timer } from "@fluidframework/core-utils/internal";
|
|
7
|
+
import { validatePrecondition } from "@fluidframework/telemetry-utils/internal";
|
|
8
|
+
|
|
8
9
|
import { UnreferencedState } from "./gcDefinitions.js";
|
|
9
10
|
|
|
10
11
|
/** A wrapper around common-utils Timer that requires the timeout when calling start/restart */
|
package/src/gc/index.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -11,7 +11,6 @@ export {
|
|
|
11
11
|
ISummaryConfigurationDisableHeuristics,
|
|
12
12
|
IContainerRuntimeOptions,
|
|
13
13
|
isRuntimeMessage,
|
|
14
|
-
RuntimeMessage,
|
|
15
14
|
agentSchedulerId,
|
|
16
15
|
ContainerRuntime,
|
|
17
16
|
TombstoneResponseHeaderKey,
|
|
@@ -21,6 +20,7 @@ export {
|
|
|
21
20
|
ICompressionRuntimeOptions,
|
|
22
21
|
CompressionAlgorithms,
|
|
23
22
|
RuntimeHeaderData,
|
|
23
|
+
disabledCompressionConfig,
|
|
24
24
|
} from "./containerRuntime.js";
|
|
25
25
|
export {
|
|
26
26
|
ContainerMessageType,
|
|
@@ -98,6 +98,13 @@ export {
|
|
|
98
98
|
IRetriableFailureResult,
|
|
99
99
|
ISummarizeEventProps,
|
|
100
100
|
IdCompressorMode,
|
|
101
|
+
IDocumentSchema,
|
|
102
|
+
DocumentSchemaValueType,
|
|
103
|
+
IDocumentSchemaCurrent,
|
|
104
|
+
currentDocumentVersionSchema,
|
|
105
|
+
DocumentsSchemaController,
|
|
106
|
+
IDocumentSchemaChangeMessage,
|
|
107
|
+
IDocumentSchemaFeatures,
|
|
101
108
|
} from "./summary/index.js";
|
|
102
109
|
export { IChunkedOp, unpackRuntimeMessage } from "./opLifecycle/index.js";
|
|
103
110
|
export { ChannelCollection } from "./channelCollection.js";
|
package/src/messageTypes.ts
CHANGED
|
@@ -3,16 +3,18 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import type { IdCreationRange } from "@fluidframework/id-compressor/internal";
|
|
6
7
|
import { ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
|
|
7
8
|
import {
|
|
9
|
+
IAttachMessage,
|
|
8
10
|
IEnvelope,
|
|
9
11
|
InboundAttachMessage,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
import type { IdCreationRange } from "@fluidframework/id-compressor";
|
|
12
|
+
} from "@fluidframework/runtime-definitions/internal";
|
|
13
|
+
|
|
13
14
|
import { IDataStoreAliasMessage } from "./dataStore.js";
|
|
14
15
|
import { GarbageCollectionMessage } from "./gc/index.js";
|
|
15
16
|
import { IChunkedOp } from "./opLifecycle/index.js";
|
|
17
|
+
import { IDocumentSchemaChangeMessage } from "./summary/index.js";
|
|
16
18
|
|
|
17
19
|
/**
|
|
18
20
|
* @alpha
|
|
@@ -43,6 +45,11 @@ export enum ContainerMessageType {
|
|
|
43
45
|
*/
|
|
44
46
|
IdAllocation = "idAllocation",
|
|
45
47
|
|
|
48
|
+
/**
|
|
49
|
+
* An op that changes document schema
|
|
50
|
+
*/
|
|
51
|
+
DocumentSchemaChange = "schema",
|
|
52
|
+
|
|
46
53
|
/**
|
|
47
54
|
* Garbage collection specific op. This is sent by the summarizer client when GC runs. It's used to synchronize GC
|
|
48
55
|
* state across all clients.
|
|
@@ -131,6 +138,10 @@ export type ContainerRuntimeGCMessage = TypedContainerRuntimeMessage<
|
|
|
131
138
|
ContainerMessageType.GC,
|
|
132
139
|
GarbageCollectionMessage
|
|
133
140
|
>;
|
|
141
|
+
export type ContainerRuntimeDocumentSchemaMessage = TypedContainerRuntimeMessage<
|
|
142
|
+
ContainerMessageType.DocumentSchemaChange,
|
|
143
|
+
IDocumentSchemaChangeMessage
|
|
144
|
+
>;
|
|
134
145
|
|
|
135
146
|
/**
|
|
136
147
|
* Represents an unrecognized TypedContainerRuntimeMessage, e.g. a message from a future version of the container runtime.
|
|
@@ -161,7 +172,8 @@ export type InboundContainerRuntimeMessage =
|
|
|
161
172
|
| ContainerRuntimeIdAllocationMessage
|
|
162
173
|
| ContainerRuntimeGCMessage
|
|
163
174
|
// Inbound messages may include unknown types from other clients, so we include that as a special case here
|
|
164
|
-
| UnknownContainerRuntimeMessage
|
|
175
|
+
| UnknownContainerRuntimeMessage
|
|
176
|
+
| ContainerRuntimeDocumentSchemaMessage;
|
|
165
177
|
|
|
166
178
|
/** A {@link TypedContainerRuntimeMessage} that has been generated by the container runtime but is not yet being sent to the server. */
|
|
167
179
|
export type LocalContainerRuntimeMessage =
|
|
@@ -174,7 +186,8 @@ export type LocalContainerRuntimeMessage =
|
|
|
174
186
|
| ContainerRuntimeIdAllocationMessage
|
|
175
187
|
| ContainerRuntimeGCMessage
|
|
176
188
|
// In rare cases (e.g. related to stashed ops) we could have a local message of an unknown type
|
|
177
|
-
| UnknownContainerRuntimeMessage
|
|
189
|
+
| UnknownContainerRuntimeMessage
|
|
190
|
+
| ContainerRuntimeDocumentSchemaMessage;
|
|
178
191
|
|
|
179
192
|
/** A {@link TypedContainerRuntimeMessage} that is being sent to the server from the container runtime. */
|
|
180
193
|
export type OutboundContainerRuntimeMessage =
|
|
@@ -185,7 +198,8 @@ export type OutboundContainerRuntimeMessage =
|
|
|
185
198
|
| ContainerRuntimeRejoinMessage
|
|
186
199
|
| ContainerRuntimeAliasMessage
|
|
187
200
|
| ContainerRuntimeIdAllocationMessage
|
|
188
|
-
| ContainerRuntimeGCMessage
|
|
201
|
+
| ContainerRuntimeGCMessage
|
|
202
|
+
| ContainerRuntimeDocumentSchemaMessage;
|
|
189
203
|
|
|
190
204
|
/**
|
|
191
205
|
* An unpacked ISequencedDocumentMessage with the inner TypedContainerRuntimeMessage type/contents/etc
|