@fluidframework/container-runtime 2.0.0-dev.4.4.0.162574 → 2.0.0-dev.5.3.2.178189
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/CHANGELOG.md +69 -0
- package/dist/batchTracker.d.ts +4 -4
- package/dist/batchTracker.d.ts.map +1 -1
- package/dist/batchTracker.js +2 -2
- package/dist/batchTracker.js.map +1 -1
- package/dist/blobManager.d.ts +5 -2
- package/dist/blobManager.d.ts.map +1 -1
- package/dist/blobManager.js +53 -24
- package/dist/blobManager.js.map +1 -1
- package/dist/connectionTelemetry.d.ts +2 -2
- package/dist/connectionTelemetry.d.ts.map +1 -1
- package/dist/connectionTelemetry.js +8 -1
- package/dist/connectionTelemetry.js.map +1 -1
- package/dist/containerRuntime.d.ts +19 -7
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/containerRuntime.js +98 -22
- package/dist/containerRuntime.js.map +1 -1
- package/dist/dataStore.d.ts +2 -2
- package/dist/dataStore.d.ts.map +1 -1
- package/dist/dataStore.js +1 -1
- package/dist/dataStore.js.map +1 -1
- package/dist/dataStoreContext.d.ts +3 -4
- package/dist/dataStoreContext.d.ts.map +1 -1
- package/dist/dataStoreContext.js +5 -5
- package/dist/dataStoreContext.js.map +1 -1
- package/dist/dataStoreContexts.d.ts +2 -1
- package/dist/dataStoreContexts.d.ts.map +1 -1
- package/dist/dataStoreContexts.js +2 -1
- package/dist/dataStoreContexts.js.map +1 -1
- package/dist/dataStores.d.ts +1 -1
- package/dist/dataStores.d.ts.map +1 -1
- package/dist/dataStores.js +2 -1
- package/dist/dataStores.js.map +1 -1
- package/dist/deltaScheduler.d.ts +2 -2
- package/dist/deltaScheduler.d.ts.map +1 -1
- package/dist/deltaScheduler.js +1 -1
- package/dist/deltaScheduler.js.map +1 -1
- package/dist/gc/garbageCollection.d.ts +2 -2
- package/dist/gc/garbageCollection.d.ts.map +1 -1
- package/dist/gc/garbageCollection.js +4 -3
- package/dist/gc/garbageCollection.js.map +1 -1
- package/dist/gc/gcDefinitions.d.ts +3 -4
- package/dist/gc/gcDefinitions.d.ts.map +1 -1
- package/dist/gc/gcDefinitions.js.map +1 -1
- package/dist/gc/gcTelemetry.d.ts +5 -5
- package/dist/gc/gcTelemetry.d.ts.map +1 -1
- package/dist/gc/gcTelemetry.js.map +1 -1
- package/dist/id-compressor/idCompressor.d.ts +2 -2
- package/dist/id-compressor/idCompressor.d.ts.map +1 -1
- package/dist/id-compressor/idCompressor.js.map +1 -1
- package/dist/id-compressor/uuidUtilities.d.ts +0 -2
- package/dist/id-compressor/uuidUtilities.d.ts.map +1 -1
- package/dist/id-compressor/uuidUtilities.js +1 -3
- package/dist/id-compressor/uuidUtilities.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/metadata.d.ts +18 -0
- package/dist/metadata.d.ts.map +1 -0
- package/dist/metadata.js +7 -0
- package/dist/metadata.js.map +1 -0
- package/dist/opLifecycle/batchManager.d.ts +2 -1
- package/dist/opLifecycle/batchManager.d.ts.map +1 -1
- package/dist/opLifecycle/batchManager.js +5 -1
- package/dist/opLifecycle/batchManager.js.map +1 -1
- package/dist/opLifecycle/definitions.d.ts +13 -2
- package/dist/opLifecycle/definitions.d.ts.map +1 -1
- package/dist/opLifecycle/definitions.js.map +1 -1
- package/dist/opLifecycle/index.d.ts +1 -1
- package/dist/opLifecycle/index.d.ts.map +1 -1
- package/dist/opLifecycle/index.js +2 -1
- package/dist/opLifecycle/index.js.map +1 -1
- package/dist/opLifecycle/opCompressor.d.ts +2 -2
- package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opCompressor.js +3 -6
- package/dist/opLifecycle/opCompressor.js.map +1 -1
- package/dist/opLifecycle/opDecompressor.d.ts +2 -2
- package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/dist/opLifecycle/opDecompressor.js +14 -8
- package/dist/opLifecycle/opDecompressor.js.map +1 -1
- package/dist/opLifecycle/opGroupingManager.d.ts +1 -1
- package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/dist/opLifecycle/opGroupingManager.js +6 -11
- package/dist/opLifecycle/opGroupingManager.js.map +1 -1
- package/dist/opLifecycle/opSplitter.d.ts +2 -2
- package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
- package/dist/opLifecycle/opSplitter.js +5 -3
- package/dist/opLifecycle/opSplitter.js.map +1 -1
- package/dist/opLifecycle/outbox.d.ts +35 -4
- package/dist/opLifecycle/outbox.d.ts.map +1 -1
- package/dist/opLifecycle/outbox.js +135 -45
- package/dist/opLifecycle/outbox.js.map +1 -1
- 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/packageVersion.d.ts +1 -1
- package/dist/packageVersion.js +1 -1
- package/dist/packageVersion.js.map +1 -1
- package/dist/pendingStateManager.d.ts +24 -15
- package/dist/pendingStateManager.d.ts.map +1 -1
- package/dist/pendingStateManager.js +67 -72
- package/dist/pendingStateManager.js.map +1 -1
- package/dist/scheduleManager.d.ts +2 -2
- package/dist/scheduleManager.d.ts.map +1 -1
- package/dist/scheduleManager.js +8 -2
- package/dist/scheduleManager.js.map +1 -1
- package/dist/summary/index.d.ts +2 -2
- package/dist/summary/index.d.ts.map +1 -1
- package/dist/summary/index.js +2 -1
- package/dist/summary/index.js.map +1 -1
- package/dist/summary/orderedClientElection.d.ts +4 -3
- package/dist/summary/orderedClientElection.d.ts.map +1 -1
- package/dist/summary/orderedClientElection.js +3 -18
- package/dist/summary/orderedClientElection.js.map +1 -1
- package/dist/summary/runningSummarizer.d.ts +4 -3
- package/dist/summary/runningSummarizer.d.ts.map +1 -1
- package/dist/summary/runningSummarizer.js +5 -6
- package/dist/summary/runningSummarizer.js.map +1 -1
- package/dist/summary/summarizer.d.ts +2 -3
- package/dist/summary/summarizer.d.ts.map +1 -1
- package/dist/summary/summarizer.js +2 -3
- package/dist/summary/summarizer.js.map +1 -1
- package/dist/summary/summarizerClientElection.d.ts +3 -2
- package/dist/summary/summarizerClientElection.d.ts.map +1 -1
- package/dist/summary/summarizerClientElection.js.map +1 -1
- package/dist/summary/summarizerHeuristics.d.ts +2 -2
- package/dist/summary/summarizerHeuristics.d.ts.map +1 -1
- package/dist/summary/summarizerHeuristics.js.map +1 -1
- package/dist/summary/summarizerNode/index.d.ts +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 +41 -14
- package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNode.js +91 -23
- package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +24 -4
- package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +23 -8
- package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js +60 -23
- package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/dist/summary/summarizerTypes.d.ts +16 -9
- package/dist/summary/summarizerTypes.d.ts.map +1 -1
- package/dist/summary/summarizerTypes.js.map +1 -1
- package/dist/summary/summaryCollection.d.ts +4 -2
- package/dist/summary/summaryCollection.d.ts.map +1 -1
- package/dist/summary/summaryCollection.js +4 -0
- package/dist/summary/summaryCollection.js.map +1 -1
- package/dist/summary/summaryFormat.d.ts +1 -0
- package/dist/summary/summaryFormat.d.ts.map +1 -1
- package/dist/summary/summaryFormat.js +2 -1
- package/dist/summary/summaryFormat.js.map +1 -1
- package/dist/summary/summaryGenerator.d.ts +14 -5
- package/dist/summary/summaryGenerator.d.ts.map +1 -1
- package/dist/summary/summaryGenerator.js +23 -9
- package/dist/summary/summaryGenerator.js.map +1 -1
- package/dist/summary/summaryManager.d.ts +4 -2
- package/dist/summary/summaryManager.d.ts.map +1 -1
- package/dist/summary/summaryManager.js.map +1 -1
- package/dist/tsdoc-metadata.json +11 -0
- package/lib/batchTracker.d.ts +4 -4
- 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 +5 -2
- package/lib/blobManager.d.ts.map +1 -1
- package/lib/blobManager.js +53 -24
- package/lib/blobManager.js.map +1 -1
- package/lib/connectionTelemetry.d.ts +2 -2
- package/lib/connectionTelemetry.d.ts.map +1 -1
- package/lib/connectionTelemetry.js +8 -1
- package/lib/connectionTelemetry.js.map +1 -1
- package/lib/containerRuntime.d.ts +19 -7
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/containerRuntime.js +101 -25
- package/lib/containerRuntime.js.map +1 -1
- package/lib/dataStore.d.ts +2 -2
- package/lib/dataStore.d.ts.map +1 -1
- package/lib/dataStore.js +1 -1
- package/lib/dataStore.js.map +1 -1
- package/lib/dataStoreContext.d.ts +3 -4
- package/lib/dataStoreContext.d.ts.map +1 -1
- package/lib/dataStoreContext.js +5 -5
- package/lib/dataStoreContext.js.map +1 -1
- package/lib/dataStoreContexts.d.ts +2 -1
- package/lib/dataStoreContexts.d.ts.map +1 -1
- package/lib/dataStoreContexts.js +2 -1
- package/lib/dataStoreContexts.js.map +1 -1
- package/lib/dataStores.d.ts +1 -1
- package/lib/dataStores.d.ts.map +1 -1
- package/lib/dataStores.js +2 -1
- package/lib/dataStores.js.map +1 -1
- package/lib/deltaScheduler.d.ts +2 -2
- package/lib/deltaScheduler.d.ts.map +1 -1
- package/lib/deltaScheduler.js +1 -1
- package/lib/deltaScheduler.js.map +1 -1
- package/lib/gc/garbageCollection.d.ts +2 -2
- package/lib/gc/garbageCollection.d.ts.map +1 -1
- package/lib/gc/garbageCollection.js +2 -1
- package/lib/gc/garbageCollection.js.map +1 -1
- package/lib/gc/gcDefinitions.d.ts +3 -4
- package/lib/gc/gcDefinitions.d.ts.map +1 -1
- package/lib/gc/gcDefinitions.js.map +1 -1
- package/lib/gc/gcTelemetry.d.ts +5 -5
- package/lib/gc/gcTelemetry.d.ts.map +1 -1
- package/lib/gc/gcTelemetry.js +1 -1
- package/lib/gc/gcTelemetry.js.map +1 -1
- package/lib/id-compressor/idCompressor.d.ts +2 -2
- package/lib/id-compressor/idCompressor.d.ts.map +1 -1
- package/lib/id-compressor/idCompressor.js.map +1 -1
- package/lib/id-compressor/uuidUtilities.d.ts +0 -2
- package/lib/id-compressor/uuidUtilities.d.ts.map +1 -1
- package/lib/id-compressor/uuidUtilities.js +1 -3
- package/lib/id-compressor/uuidUtilities.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/metadata.d.ts +18 -0
- package/lib/metadata.d.ts.map +1 -0
- package/lib/metadata.js +6 -0
- package/lib/metadata.js.map +1 -0
- package/lib/opLifecycle/batchManager.d.ts +2 -1
- package/lib/opLifecycle/batchManager.d.ts.map +1 -1
- package/lib/opLifecycle/batchManager.js +5 -1
- package/lib/opLifecycle/batchManager.js.map +1 -1
- package/lib/opLifecycle/definitions.d.ts +13 -2
- package/lib/opLifecycle/definitions.d.ts.map +1 -1
- package/lib/opLifecycle/definitions.js.map +1 -1
- package/lib/opLifecycle/index.d.ts +1 -1
- package/lib/opLifecycle/index.d.ts.map +1 -1
- package/lib/opLifecycle/index.js +1 -1
- package/lib/opLifecycle/index.js.map +1 -1
- package/lib/opLifecycle/opCompressor.d.ts +2 -2
- package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opCompressor.js +3 -6
- package/lib/opLifecycle/opCompressor.js.map +1 -1
- package/lib/opLifecycle/opDecompressor.d.ts +2 -2
- package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
- package/lib/opLifecycle/opDecompressor.js +14 -8
- package/lib/opLifecycle/opDecompressor.js.map +1 -1
- package/lib/opLifecycle/opGroupingManager.d.ts +1 -1
- package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
- package/lib/opLifecycle/opGroupingManager.js +6 -11
- package/lib/opLifecycle/opGroupingManager.js.map +1 -1
- package/lib/opLifecycle/opSplitter.d.ts +2 -2
- package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
- package/lib/opLifecycle/opSplitter.js +5 -3
- package/lib/opLifecycle/opSplitter.js.map +1 -1
- package/lib/opLifecycle/outbox.d.ts +35 -4
- package/lib/opLifecycle/outbox.d.ts.map +1 -1
- package/lib/opLifecycle/outbox.js +133 -44
- package/lib/opLifecycle/outbox.js.map +1 -1
- 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 +24 -15
- package/lib/pendingStateManager.d.ts.map +1 -1
- package/lib/pendingStateManager.js +67 -72
- package/lib/pendingStateManager.js.map +1 -1
- package/lib/scheduleManager.d.ts +2 -2
- package/lib/scheduleManager.d.ts.map +1 -1
- package/lib/scheduleManager.js +8 -2
- package/lib/scheduleManager.js.map +1 -1
- package/lib/summary/index.d.ts +2 -2
- package/lib/summary/index.d.ts.map +1 -1
- package/lib/summary/index.js +1 -1
- package/lib/summary/index.js.map +1 -1
- package/lib/summary/orderedClientElection.d.ts +4 -3
- package/lib/summary/orderedClientElection.d.ts.map +1 -1
- package/lib/summary/orderedClientElection.js +3 -18
- package/lib/summary/orderedClientElection.js.map +1 -1
- package/lib/summary/runningSummarizer.d.ts +4 -3
- package/lib/summary/runningSummarizer.d.ts.map +1 -1
- package/lib/summary/runningSummarizer.js +5 -6
- package/lib/summary/runningSummarizer.js.map +1 -1
- package/lib/summary/summarizer.d.ts +2 -3
- package/lib/summary/summarizer.d.ts.map +1 -1
- package/lib/summary/summarizer.js +2 -3
- package/lib/summary/summarizer.js.map +1 -1
- package/lib/summary/summarizerClientElection.d.ts +3 -2
- package/lib/summary/summarizerClientElection.d.ts.map +1 -1
- package/lib/summary/summarizerClientElection.js.map +1 -1
- package/lib/summary/summarizerHeuristics.d.ts +2 -2
- package/lib/summary/summarizerHeuristics.d.ts.map +1 -1
- package/lib/summary/summarizerHeuristics.js.map +1 -1
- package/lib/summary/summarizerNode/index.d.ts +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 +41 -14
- package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNode.js +91 -23
- package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +24 -4
- package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +23 -8
- package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js +59 -22
- package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
- package/lib/summary/summarizerTypes.d.ts +16 -9
- package/lib/summary/summarizerTypes.d.ts.map +1 -1
- package/lib/summary/summarizerTypes.js.map +1 -1
- package/lib/summary/summaryCollection.d.ts +4 -2
- package/lib/summary/summaryCollection.d.ts.map +1 -1
- package/lib/summary/summaryCollection.js +4 -0
- package/lib/summary/summaryCollection.js.map +1 -1
- package/lib/summary/summaryFormat.d.ts +1 -0
- package/lib/summary/summaryFormat.d.ts.map +1 -1
- package/lib/summary/summaryFormat.js +2 -1
- package/lib/summary/summaryFormat.js.map +1 -1
- package/lib/summary/summaryGenerator.d.ts +14 -5
- package/lib/summary/summaryGenerator.d.ts.map +1 -1
- package/lib/summary/summaryGenerator.js +21 -8
- package/lib/summary/summaryGenerator.js.map +1 -1
- package/lib/summary/summaryManager.d.ts +4 -2
- package/lib/summary/summaryManager.d.ts.map +1 -1
- package/lib/summary/summaryManager.js +1 -1
- package/lib/summary/summaryManager.js.map +1 -1
- package/package.json +25 -41
- package/src/batchTracker.ts +5 -6
- package/src/blobManager.ts +70 -29
- package/src/connectionTelemetry.ts +14 -6
- package/src/containerRuntime.ts +124 -38
- package/src/dataStore.ts +3 -4
- package/src/dataStoreContext.ts +12 -9
- package/src/dataStoreContexts.ts +6 -8
- package/src/dataStores.ts +8 -3
- package/src/deltaScheduler.ts +2 -3
- package/src/gc/garbageCollection.ts +7 -6
- package/src/gc/gcDefinitions.ts +3 -4
- package/src/gc/gcTelemetry.ts +9 -5
- package/src/id-compressor/idCompressor.ts +2 -2
- package/src/id-compressor/uuidUtilities.ts +1 -4
- package/src/index.ts +2 -0
- package/src/metadata.ts +19 -0
- package/src/opLifecycle/README.md +20 -0
- package/src/opLifecycle/batchManager.ts +9 -1
- package/src/opLifecycle/definitions.ts +13 -2
- package/src/opLifecycle/index.ts +1 -1
- package/src/opLifecycle/opCompressor.ts +4 -8
- package/src/opLifecycle/opDecompressor.ts +43 -16
- package/src/opLifecycle/opGroupingManager.ts +19 -13
- package/src/opLifecycle/opSplitter.ts +7 -6
- package/src/opLifecycle/outbox.ts +172 -57
- package/src/opLifecycle/remoteMessageProcessor.ts +5 -1
- package/src/packageVersion.ts +1 -1
- package/src/pendingStateManager.ts +113 -129
- package/src/scheduleManager.ts +18 -10
- package/src/summary/index.ts +3 -1
- package/src/summary/orderedClientElection.ts +7 -20
- package/src/summary/runningSummarizer.ts +11 -10
- package/src/summary/summarizer.ts +8 -8
- package/src/summary/summarizerClientElection.ts +3 -2
- package/src/summary/summarizerHeuristics.ts +2 -2
- package/src/summary/summarizerNode/index.ts +1 -0
- package/src/summary/summarizerNode/summarizerNode.ts +121 -38
- package/src/summary/summarizerNode/summarizerNodeUtils.ts +27 -4
- package/src/summary/summarizerNode/summarizerNodeWithGc.ts +73 -27
- package/src/summary/summarizerTypes.ts +19 -14
- package/src/summary/summaryCollection.ts +10 -4
- package/src/summary/summaryFormat.ts +5 -1
- package/src/summary/summaryGenerator.ts +38 -11
- package/src/summary/summaryManager.ts +9 -9
package/dist/containerRuntime.js
CHANGED
|
@@ -18,10 +18,22 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
18
18
|
__setModuleDefault(result, mod);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
22
|
+
var t = {};
|
|
23
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
24
|
+
t[p] = s[p];
|
|
25
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
26
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
27
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
28
|
+
t[p[i]] = s[p[i]];
|
|
29
|
+
}
|
|
30
|
+
return t;
|
|
31
|
+
};
|
|
21
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
33
|
exports.ContainerRuntime = exports.getDeviceSpec = exports.agentSchedulerId = exports.isRuntimeMessage = exports.RuntimeMessage = exports.CompressionAlgorithms = exports.defaultRuntimeHeaderData = exports.TombstoneResponseHeaderKey = exports.AllowTombstoneRequestHeaderKey = exports.RuntimeHeaders = exports.DefaultSummaryConfiguration = exports.ContainerMessageType = void 0;
|
|
23
34
|
const container_definitions_1 = require("@fluidframework/container-definitions");
|
|
24
35
|
const common_utils_1 = require("@fluidframework/common-utils");
|
|
36
|
+
const core_utils_1 = require("@fluidframework/core-utils");
|
|
25
37
|
const telemetry_utils_1 = require("@fluidframework/telemetry-utils");
|
|
26
38
|
const driver_definitions_1 = require("@fluidframework/driver-definitions");
|
|
27
39
|
const driver_utils_1 = require("@fluidframework/driver-utils");
|
|
@@ -175,7 +187,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
175
187
|
* @internal
|
|
176
188
|
*/
|
|
177
189
|
constructor(context, registry, metadata, electedSummarizerData, chunks, dataStoreAliasMap, runtimeOptions, containerScope, logger, existing, blobManagerSnapshot, _storage, idCompressor, requestHandler, summaryConfiguration, initializeEntryPoint) {
|
|
178
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
190
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
179
191
|
if (summaryConfiguration === void 0) { summaryConfiguration = Object.assign(Object.assign({}, exports.DefaultSummaryConfiguration), (_a = runtimeOptions.summaryOptions) === null || _a === void 0 ? void 0 : _a.summaryConfigOverrides); }
|
|
180
192
|
super();
|
|
181
193
|
this.context = context;
|
|
@@ -327,7 +339,6 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
327
339
|
getNodePackagePath: async (nodePath) => this.getGCNodePackagePath(nodePath),
|
|
328
340
|
getLastSummaryTimestampMs: () => { var _a; return (_a = this.messageAtLastSummary) === null || _a === void 0 ? void 0 : _a.timestamp; },
|
|
329
341
|
readAndParseBlob: async (id) => (0, driver_utils_1.readAndParse)(this.storage, id),
|
|
330
|
-
getContainerDiagnosticId: () => this.context.id,
|
|
331
342
|
// GC runs in summarizer client and needs access to the real (non-proxy) active information. The proxy
|
|
332
343
|
// delta manager would always return false for summarizer client.
|
|
333
344
|
activeConnection: () => this.innerDeltaManager.active,
|
|
@@ -372,8 +383,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
372
383
|
close: this.closeFn,
|
|
373
384
|
connected: () => this.connected,
|
|
374
385
|
reSubmit: this.reSubmit.bind(this),
|
|
375
|
-
|
|
376
|
-
orderSequentially: this.orderSequentially.bind(this),
|
|
386
|
+
reSubmitBatch: this.reSubmitBatch.bind(this),
|
|
377
387
|
}, pendingRuntimeState === null || pendingRuntimeState === void 0 ? void 0 : pendingRuntimeState.pending);
|
|
378
388
|
const disableCompression = this.mc.config.getBoolean("Fluid.ContainerRuntime.CompressionDisabled");
|
|
379
389
|
const compressionOptions = disableCompression === true
|
|
@@ -393,6 +403,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
393
403
|
compressionOptions,
|
|
394
404
|
maxBatchSizeInBytes: runtimeOptions.maxBatchSizeInBytes,
|
|
395
405
|
disablePartialFlush: disablePartialFlush === true,
|
|
406
|
+
enableGroupedBatching: this.groupedBatchingEnabled,
|
|
396
407
|
},
|
|
397
408
|
logger: this.mc.logger,
|
|
398
409
|
groupingManager: opGroupingManager,
|
|
@@ -400,13 +411,18 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
400
411
|
referenceSequenceNumber: this.deltaManager.lastSequenceNumber,
|
|
401
412
|
clientSequenceNumber: this._processedClientSequenceNumber,
|
|
402
413
|
}),
|
|
414
|
+
reSubmit: this.reSubmit.bind(this),
|
|
415
|
+
opReentrancy: () => this.ensureNoDataModelChangesCalls > 0,
|
|
416
|
+
closeContainer: this.closeFn,
|
|
403
417
|
});
|
|
404
418
|
this.context.quorum.on("removeMember", (clientId) => {
|
|
405
419
|
this.remoteMessageProcessor.clearPartialMessagesFor(clientId);
|
|
406
420
|
});
|
|
407
|
-
this.summaryStateUpdateMethod = this.mc.config.getString("Fluid.ContainerRuntime.Test.
|
|
421
|
+
this.summaryStateUpdateMethod = this.mc.config.getString("Fluid.ContainerRuntime.Test.SummaryStateUpdateMethodV2");
|
|
408
422
|
const closeSummarizerDelayOverride = this.mc.config.getNumber("Fluid.ContainerRuntime.Test.CloseSummarizerDelayOverrideMs");
|
|
409
423
|
this.closeSummarizerDelayMs = closeSummarizerDelayOverride !== null && closeSummarizerDelayOverride !== void 0 ? closeSummarizerDelayOverride : defaultCloseSummarizerDelayMs;
|
|
424
|
+
this.validateSummaryBeforeUpload =
|
|
425
|
+
(_l = this.mc.config.getBoolean("Fluid.ContainerRuntime.Test.ValidateSummaryBeforeUpload")) !== null && _l !== void 0 ? _l : false;
|
|
410
426
|
this.summaryCollection = new summary_1.SummaryCollection(this.deltaManager, this.logger);
|
|
411
427
|
this.dirtyContainer =
|
|
412
428
|
this.context.attachState !== container_definitions_1.AttachState.Attached ||
|
|
@@ -490,7 +506,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
490
506
|
}), telemetryDocumentId: this.telemetryDocumentId, groupedBatchingEnabled: this.groupedBatchingEnabled }));
|
|
491
507
|
(0, connectionTelemetry_1.ReportOpPerfTelemetry)(this.context.clientId, this.deltaManager, this.logger);
|
|
492
508
|
(0, batchTracker_1.BindBatchTracker)(this, this.logger);
|
|
493
|
-
this.entryPoint = new
|
|
509
|
+
this.entryPoint = new core_utils_1.LazyPromise(async () => {
|
|
494
510
|
if (this.context.clientDetails.type === summary_1.summarizerClientType) {
|
|
495
511
|
(0, common_utils_1.assert)(this._summarizer !== undefined, 0x5bf /* Summarizer object is undefined in a summarizer client */);
|
|
496
512
|
return this._summarizer;
|
|
@@ -498,9 +514,6 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
498
514
|
return initializeEntryPoint === null || initializeEntryPoint === void 0 ? void 0 : initializeEntryPoint(this);
|
|
499
515
|
});
|
|
500
516
|
}
|
|
501
|
-
get IContainerRuntime() {
|
|
502
|
-
return this;
|
|
503
|
-
}
|
|
504
517
|
get IFluidRouter() {
|
|
505
518
|
return this;
|
|
506
519
|
}
|
|
@@ -649,7 +662,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
649
662
|
}
|
|
650
663
|
get reSubmitFn() {
|
|
651
664
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
652
|
-
return this.
|
|
665
|
+
return this.reSubmitCore;
|
|
653
666
|
}
|
|
654
667
|
get disposeFn() {
|
|
655
668
|
var _a;
|
|
@@ -657,6 +670,10 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
657
670
|
return (_a = this.context.disposeFn) !== null && _a !== void 0 ? _a : this.context.closeFn;
|
|
658
671
|
}
|
|
659
672
|
get closeFn() {
|
|
673
|
+
if (this._summarizer !== undefined) {
|
|
674
|
+
// In cases of summarizer, we want to dispose instead since consumer doesn't interact with this container
|
|
675
|
+
return this.disposeFn;
|
|
676
|
+
}
|
|
660
677
|
// Also call disposeFn to retain functionality of runtime being disposed on close
|
|
661
678
|
return (error) => {
|
|
662
679
|
var _a, _b;
|
|
@@ -924,8 +941,14 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
924
941
|
}
|
|
925
942
|
return this.consecutiveReconnects < this.maxConsecutiveReconnects;
|
|
926
943
|
}
|
|
927
|
-
resetReconnectCount() {
|
|
928
|
-
|
|
944
|
+
resetReconnectCount(message) {
|
|
945
|
+
// Chunked ops don't count towards making progress as they are sent
|
|
946
|
+
// in their own batches before the originating batch is sent.
|
|
947
|
+
// Therefore, receiving them while attempting to send the originating batch
|
|
948
|
+
// does not mean that the container is making any progress.
|
|
949
|
+
if ((message === null || message === void 0 ? void 0 : message.type) !== ContainerMessageType.ChunkedOp) {
|
|
950
|
+
this.consecutiveReconnects = 0;
|
|
951
|
+
}
|
|
929
952
|
}
|
|
930
953
|
replayPendingStates() {
|
|
931
954
|
// We need to be able to send ops to replay states
|
|
@@ -967,7 +990,19 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
967
990
|
const { IdCompressor } = await Promise.resolve().then(() => __importStar(require("./id-compressor")));
|
|
968
991
|
this.idCompressor = IdCompressor.deserialize(op.stashedState);
|
|
969
992
|
}
|
|
970
|
-
|
|
993
|
+
/**
|
|
994
|
+
* Parse an op's type and actual content from given serialized content
|
|
995
|
+
* ! Note: this format needs to be in-line with what is set in the "ContainerRuntime.submit(...)" method
|
|
996
|
+
*/
|
|
997
|
+
parseOpContent(serializedContent) {
|
|
998
|
+
(0, common_utils_1.assert)(serializedContent !== undefined, 0x6d5 /* content must be defined */);
|
|
999
|
+
const parsed = JSON.parse(serializedContent);
|
|
1000
|
+
(0, common_utils_1.assert)(parsed.type !== undefined, 0x6d6 /* incorrect op content format */);
|
|
1001
|
+
return { type: parsed.type, contents: parsed.contents };
|
|
1002
|
+
}
|
|
1003
|
+
async applyStashedOp(op) {
|
|
1004
|
+
// Need to parse from string for back-compat
|
|
1005
|
+
const { type, contents } = this.parseOpContent(op);
|
|
971
1006
|
switch (type) {
|
|
972
1007
|
case ContainerMessageType.FluidDataStoreOp:
|
|
973
1008
|
return this.dataStores.applyStashedOp(contents);
|
|
@@ -1126,7 +1161,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1126
1161
|
// If we have processed a local op, this means that the container is
|
|
1127
1162
|
// making progress and we can reset the counter for how many times
|
|
1128
1163
|
// we have consecutively replayed the pending states
|
|
1129
|
-
this.resetReconnectCount();
|
|
1164
|
+
this.resetReconnectCount(message);
|
|
1130
1165
|
}
|
|
1131
1166
|
}
|
|
1132
1167
|
catch (e) {
|
|
@@ -1226,7 +1261,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1226
1261
|
if (checkpoint) {
|
|
1227
1262
|
// This will throw and close the container if rollback fails
|
|
1228
1263
|
try {
|
|
1229
|
-
checkpoint.rollback((message) => this.rollback(message.
|
|
1264
|
+
checkpoint.rollback((message) => this.rollback(message.contents, message.localOpMetadata));
|
|
1230
1265
|
}
|
|
1231
1266
|
catch (err) {
|
|
1232
1267
|
const error2 = (0, telemetry_utils_1.wrapError)(err, (message) => {
|
|
@@ -1700,6 +1735,16 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1700
1735
|
generateDuration: trace.trace().duration,
|
|
1701
1736
|
forcedFullTree,
|
|
1702
1737
|
};
|
|
1738
|
+
// If validateSummaryBeforeUpload is true, validate that the summary generated by the summarizer nodes is
|
|
1739
|
+
// correct before this summary is uploaded.
|
|
1740
|
+
if (this.validateSummaryBeforeUpload) {
|
|
1741
|
+
const validateResult = this.summarizerNode.validateSummary();
|
|
1742
|
+
if (!validateResult.success) {
|
|
1743
|
+
const { success } = validateResult, loggingProps = __rest(validateResult, ["success"]);
|
|
1744
|
+
const error = new summary_1.RetriableSummaryError(validateResult.reason, validateResult.retryAfterSeconds, Object.assign({}, loggingProps));
|
|
1745
|
+
return Object.assign(Object.assign({ stage: "base" }, generateSummaryData), { error });
|
|
1746
|
+
}
|
|
1747
|
+
}
|
|
1703
1748
|
continueResult = checkContinue();
|
|
1704
1749
|
if (!continueResult.continue) {
|
|
1705
1750
|
return Object.assign(Object.assign({ stage: "generate" }, generateSummaryData), { error: continueResult.error });
|
|
@@ -1760,7 +1805,13 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1760
1805
|
return Object.assign(Object.assign({ stage: "upload" }, uploadData), { error });
|
|
1761
1806
|
}
|
|
1762
1807
|
const submitData = Object.assign(Object.assign({ stage: "submit" }, uploadData), { clientSequenceNumber, submitOpDuration: trace.trace().duration });
|
|
1763
|
-
|
|
1808
|
+
try {
|
|
1809
|
+
// If validateSummaryBeforeUpload is false, the summary should be validated in this step.
|
|
1810
|
+
this.summarizerNode.completeSummary(handle, !this.validateSummaryBeforeUpload /* validate */);
|
|
1811
|
+
}
|
|
1812
|
+
catch (error) {
|
|
1813
|
+
return Object.assign(Object.assign({ stage: "upload" }, uploadData), { error });
|
|
1814
|
+
}
|
|
1764
1815
|
return submitData;
|
|
1765
1816
|
}
|
|
1766
1817
|
finally {
|
|
@@ -1831,10 +1882,10 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1831
1882
|
};
|
|
1832
1883
|
idAllocationBatchMessage = {
|
|
1833
1884
|
contents: JSON.stringify(idAllocationMessage),
|
|
1834
|
-
deserializedContent: idAllocationMessage,
|
|
1835
1885
|
referenceSequenceNumber: this.deltaManager.lastSequenceNumber,
|
|
1836
1886
|
metadata: undefined,
|
|
1837
1887
|
localOpMetadata: (_b = this.idCompressor) === null || _b === void 0 ? void 0 : _b.serialize(true),
|
|
1888
|
+
type: ContainerMessageType.IdAllocation,
|
|
1838
1889
|
};
|
|
1839
1890
|
}
|
|
1840
1891
|
if (idAllocationBatchMessage !== undefined) {
|
|
@@ -1858,7 +1909,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1858
1909
|
}
|
|
1859
1910
|
const message = {
|
|
1860
1911
|
contents: serializedContent,
|
|
1861
|
-
|
|
1912
|
+
type,
|
|
1862
1913
|
metadata,
|
|
1863
1914
|
localOpMetadata,
|
|
1864
1915
|
referenceSequenceNumber: this.deltaManager.lastSequenceNumber,
|
|
@@ -1894,6 +1945,10 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1894
1945
|
this.disableAttachReorder !== true) {
|
|
1895
1946
|
this.outbox.submitAttach(message);
|
|
1896
1947
|
}
|
|
1948
|
+
else if (type === ContainerMessageType.BlobAttach) {
|
|
1949
|
+
// BlobAttach ops must have their metadata visible and cannot be grouped (see opGroupingManager.ts)
|
|
1950
|
+
this.outbox.submitBlobAttach(message);
|
|
1951
|
+
}
|
|
1897
1952
|
else {
|
|
1898
1953
|
this.outbox.submit(message);
|
|
1899
1954
|
}
|
|
@@ -1970,7 +2025,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1970
2025
|
if (this.opReentryCallsToReport > 0) {
|
|
1971
2026
|
this.mc.logger.sendTelemetryEvent({ eventName: "OpReentry" },
|
|
1972
2027
|
// We need to capture the call stack in order to inspect the source of this usage pattern
|
|
1973
|
-
new container_utils_1.UsageError(errorMessage));
|
|
2028
|
+
(0, opLifecycle_1.getLongStack)(() => new container_utils_1.UsageError(errorMessage)));
|
|
1974
2029
|
this.opReentryCallsToReport--;
|
|
1975
2030
|
}
|
|
1976
2031
|
// Creating ops while processing ops can lead
|
|
@@ -1990,13 +2045,26 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
1990
2045
|
}
|
|
1991
2046
|
}
|
|
1992
2047
|
}
|
|
2048
|
+
reSubmitBatch(batch) {
|
|
2049
|
+
this.orderSequentially(() => {
|
|
2050
|
+
for (const message of batch) {
|
|
2051
|
+
this.reSubmit(message);
|
|
2052
|
+
}
|
|
2053
|
+
});
|
|
2054
|
+
this.flush();
|
|
2055
|
+
}
|
|
2056
|
+
reSubmit(message) {
|
|
2057
|
+
// Need to parse from string for back-compat
|
|
2058
|
+
const { contents, type } = this.parseOpContent(message.content);
|
|
2059
|
+
this.reSubmitCore(type, contents, message.localOpMetadata, message.opMetadata);
|
|
2060
|
+
}
|
|
1993
2061
|
/**
|
|
1994
2062
|
* Finds the right store and asks it to resubmit the message. This typically happens when we
|
|
1995
2063
|
* reconnect and there are pending messages.
|
|
1996
2064
|
* @param content - The content of the original message.
|
|
1997
2065
|
* @param localOpMetadata - The local metadata associated with the original message.
|
|
1998
2066
|
*/
|
|
1999
|
-
|
|
2067
|
+
reSubmitCore(type, content, localOpMetadata, opMetadata) {
|
|
2000
2068
|
switch (type) {
|
|
2001
2069
|
case ContainerMessageType.FluidDataStoreOp:
|
|
2002
2070
|
// For Operations, call resubmitDataStoreOp which will find the right store
|
|
@@ -2005,7 +2073,13 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
2005
2073
|
break;
|
|
2006
2074
|
case ContainerMessageType.Attach:
|
|
2007
2075
|
case ContainerMessageType.Alias:
|
|
2076
|
+
this.submit(type, content, localOpMetadata);
|
|
2077
|
+
break;
|
|
2008
2078
|
case ContainerMessageType.IdAllocation:
|
|
2079
|
+
// Remove the stashedState from the op if it's a stashed op
|
|
2080
|
+
if (content.stashedState !== undefined) {
|
|
2081
|
+
delete content.stashedState;
|
|
2082
|
+
}
|
|
2009
2083
|
this.submit(type, content, localOpMetadata);
|
|
2010
2084
|
break;
|
|
2011
2085
|
case ContainerMessageType.ChunkedOp:
|
|
@@ -2020,12 +2094,14 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
|
|
|
2020
2094
|
(0, common_utils_1.unreachableCase)(type, `Unknown ContainerMessageType: ${type}`);
|
|
2021
2095
|
}
|
|
2022
2096
|
}
|
|
2023
|
-
rollback(
|
|
2097
|
+
rollback(content, localOpMetadata) {
|
|
2098
|
+
// Need to parse from string for back-compat
|
|
2099
|
+
const { type, contents } = this.parseOpContent(content);
|
|
2024
2100
|
switch (type) {
|
|
2025
2101
|
case ContainerMessageType.FluidDataStoreOp:
|
|
2026
2102
|
// For operations, call rollbackDataStoreOp which will find the right store
|
|
2027
2103
|
// and trigger rollback on it.
|
|
2028
|
-
this.dataStores.rollbackDataStoreOp(
|
|
2104
|
+
this.dataStores.rollbackDataStoreOp(contents, localOpMetadata);
|
|
2029
2105
|
break;
|
|
2030
2106
|
default:
|
|
2031
2107
|
throw new Error(`Can't rollback ${type}`);
|