@fluidframework/container-runtime 0.49.2 → 0.50.1

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.
Files changed (61) hide show
  1. package/dist/containerRuntime.d.ts +2 -2
  2. package/dist/containerRuntime.d.ts.map +1 -1
  3. package/dist/containerRuntime.js +73 -71
  4. package/dist/containerRuntime.js.map +1 -1
  5. package/dist/dataStoreContext.d.ts.map +1 -1
  6. package/dist/dataStoreContext.js +2 -1
  7. package/dist/dataStoreContext.js.map +1 -1
  8. package/dist/dataStores.d.ts.map +1 -1
  9. package/dist/dataStores.js.map +1 -1
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/packageVersion.d.ts +1 -1
  14. package/dist/packageVersion.js +1 -1
  15. package/dist/packageVersion.js.map +1 -1
  16. package/dist/summarizer.d.ts +4 -1
  17. package/dist/summarizer.d.ts.map +1 -1
  18. package/dist/summarizer.js +3 -3
  19. package/dist/summarizer.js.map +1 -1
  20. package/dist/summarizerClientElection.d.ts +1 -1
  21. package/dist/summarizerClientElection.js +1 -1
  22. package/dist/summarizerClientElection.js.map +1 -1
  23. package/dist/summaryManager.d.ts +10 -3
  24. package/dist/summaryManager.d.ts.map +1 -1
  25. package/dist/summaryManager.js +9 -6
  26. package/dist/summaryManager.js.map +1 -1
  27. package/lib/containerRuntime.d.ts +2 -2
  28. package/lib/containerRuntime.d.ts.map +1 -1
  29. package/lib/containerRuntime.js +73 -71
  30. package/lib/containerRuntime.js.map +1 -1
  31. package/lib/dataStoreContext.d.ts.map +1 -1
  32. package/lib/dataStoreContext.js +2 -1
  33. package/lib/dataStoreContext.js.map +1 -1
  34. package/lib/dataStores.d.ts.map +1 -1
  35. package/lib/dataStores.js.map +1 -1
  36. package/lib/index.d.ts +1 -1
  37. package/lib/index.d.ts.map +1 -1
  38. package/lib/index.js.map +1 -1
  39. package/lib/packageVersion.d.ts +1 -1
  40. package/lib/packageVersion.js +1 -1
  41. package/lib/packageVersion.js.map +1 -1
  42. package/lib/summarizer.d.ts +4 -1
  43. package/lib/summarizer.d.ts.map +1 -1
  44. package/lib/summarizer.js +3 -3
  45. package/lib/summarizer.js.map +1 -1
  46. package/lib/summarizerClientElection.d.ts +1 -1
  47. package/lib/summarizerClientElection.js +1 -1
  48. package/lib/summarizerClientElection.js.map +1 -1
  49. package/lib/summaryManager.d.ts +10 -3
  50. package/lib/summaryManager.d.ts.map +1 -1
  51. package/lib/summaryManager.js +9 -6
  52. package/lib/summaryManager.js.map +1 -1
  53. package/package.json +16 -16
  54. package/src/containerRuntime.ts +106 -96
  55. package/src/dataStoreContext.ts +2 -1
  56. package/src/dataStores.ts +1 -1
  57. package/src/index.ts +1 -1
  58. package/src/packageVersion.ts +1 -1
  59. package/src/summarizer.ts +5 -2
  60. package/src/summarizerClientElection.ts +1 -1
  61. package/src/summaryManager.ts +17 -7
@@ -168,13 +168,13 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
168
168
  readonly IFluidSerializer: IFluidSerializer;
169
169
  readonly IFluidHandleContext: IFluidHandleContext;
170
170
  private readonly _logger;
171
- private readonly summarizerClientElection;
171
+ private readonly summarizerClientElection?;
172
172
  /**
173
173
  * summaryManager will only be created if this client is permitted to spawn a summarizing client
174
174
  * It is created only by interactive client, i.e. summarizer client, as well as non-interactive bots
175
175
  * do not create it (see SummarizerClientElection.clientDetailsPermitElection() for details)
176
176
  */
177
- private readonly summaryManager;
177
+ private readonly summaryManager?;
178
178
  private readonly summaryCollection;
179
179
  private readonly summarizerNode;
180
180
  private _orderSequentiallyCalls;
@@ -1 +1 @@
1
- {"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,7 @@ const localStorageFeatureGates_1 = require("./localStorageFeatureGates");
32
32
  const orderedClientElection_1 = require("./orderedClientElection");
33
33
  const summarizerClientElection_1 = require("./summarizerClientElection");
34
34
  const throttler_1 = require("./throttler");
35
+ const runWhileConnectedCoordinator_1 = require("./runWhileConnectedCoordinator");
35
36
  var ContainerMessageType;
36
37
  (function (ContainerMessageType) {
37
38
  // An op to be delivered to store
@@ -297,6 +298,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
297
298
  this.closeFn(telemetry_utils_1.normalizeError(error));
298
299
  });
299
300
  };
301
+ // @deprecated Needs to become private
300
302
  this.raiseContainerWarning = (warning) => {
301
303
  this.context.raiseContainerWarning(warning);
302
304
  };
@@ -390,40 +392,45 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
390
392
  }
391
393
  });
392
394
  this.summaryCollection = new summaryCollection_1.SummaryCollection(this.deltaManager, this.logger);
393
- const maxOpsSinceLastSummary = (_d = this.runtimeOptions.summaryOptions.maxOpsSinceLastSummary) !== null && _d !== void 0 ? _d : 7000;
394
- const defaultAction = () => {
395
- if (this.summaryCollection.opsSinceLastAck > maxOpsSinceLastSummary) {
396
- this.logger.sendErrorEvent({ eventName: "SummaryStatus:Behind" });
397
- // unregister default to no log on every op after falling behind
398
- // and register summary ack handler to re-register this handler
399
- // after successful summary
400
- this.summaryCollection.once(protocol_definitions_1.MessageType.SummaryAck, () => {
401
- this.logger.sendTelemetryEvent({ eventName: "SummaryStatus:CaughtUp" });
402
- // we've caught up, so re-register the default action to monitor for
403
- // falling behind, and unregister ourself
404
- this.summaryCollection.on("default", defaultAction);
405
- });
406
- this.summaryCollection.off("default", defaultAction);
407
- }
408
- };
409
- this.summaryCollection.on("default", defaultAction);
410
- const orderedClientLogger = telemetry_utils_1.ChildLogger.create(this.logger, "OrderedClientElection");
411
- const orderedClientCollection = new orderedClientElection_1.OrderedClientCollection(orderedClientLogger, this.context.deltaManager, this.context.quorum);
412
- const orderedClientElectionForSummarizer = new orderedClientElection_1.OrderedClientElection(orderedClientLogger, orderedClientCollection, electedSummarizerData !== null && electedSummarizerData !== void 0 ? electedSummarizerData : this.context.deltaManager.lastSequenceNumber, summarizerClientElection_1.SummarizerClientElection.isClientEligible);
413
- const summarizerClientElectionEnabled = (_e = localStorageFeatureGates_1.getLocalStorageFeatureGate("summarizerClientElection")) !== null && _e !== void 0 ? _e : ((_f = this.runtimeOptions.summaryOptions) === null || _f === void 0 ? void 0 : _f.summarizerClientElection) === true;
414
- this.summarizerClientElection = new summarizerClientElection_1.SummarizerClientElection(orderedClientLogger, this.summaryCollection, orderedClientElectionForSummarizer, maxOpsSinceLastSummary, summarizerClientElectionEnabled);
415
395
  // Only create a SummaryManager if summaries are enabled and we are not the summarizer client
416
396
  if (this.runtimeOptions.summaryOptions.generateSummaries === false) {
417
397
  this._logger.sendTelemetryEvent({ eventName: "SummariesDisabled" });
418
398
  }
419
399
  else {
400
+ const maxOpsSinceLastSummary = (_d = this.runtimeOptions.summaryOptions.maxOpsSinceLastSummary) !== null && _d !== void 0 ? _d : 7000;
401
+ const defaultAction = () => {
402
+ if (this.summaryCollection.opsSinceLastAck > maxOpsSinceLastSummary) {
403
+ this.logger.sendErrorEvent({ eventName: "SummaryStatus:Behind" });
404
+ // unregister default to no log on every op after falling behind
405
+ // and register summary ack handler to re-register this handler
406
+ // after successful summary
407
+ this.summaryCollection.once(protocol_definitions_1.MessageType.SummaryAck, () => {
408
+ this.logger.sendTelemetryEvent({ eventName: "SummaryStatus:CaughtUp" });
409
+ // we've caught up, so re-register the default action to monitor for
410
+ // falling behind, and unregister ourself
411
+ this.summaryCollection.on("default", defaultAction);
412
+ });
413
+ this.summaryCollection.off("default", defaultAction);
414
+ }
415
+ };
416
+ this.summaryCollection.on("default", defaultAction);
417
+ const orderedClientLogger = telemetry_utils_1.ChildLogger.create(this.logger, "OrderedClientElection");
418
+ const orderedClientCollection = new orderedClientElection_1.OrderedClientCollection(orderedClientLogger, this.context.deltaManager, this.context.quorum);
419
+ const orderedClientElectionForSummarizer = new orderedClientElection_1.OrderedClientElection(orderedClientLogger, orderedClientCollection, electedSummarizerData !== null && electedSummarizerData !== void 0 ? electedSummarizerData : this.context.deltaManager.lastSequenceNumber, summarizerClientElection_1.SummarizerClientElection.isClientEligible);
420
+ const summarizerClientElectionEnabled = (_e = localStorageFeatureGates_1.getLocalStorageFeatureGate("summarizerClientElection")) !== null && _e !== void 0 ? _e : ((_f = this.runtimeOptions.summaryOptions) === null || _f === void 0 ? void 0 : _f.summarizerClientElection) === true;
421
+ this.summarizerClientElection = new summarizerClientElection_1.SummarizerClientElection(orderedClientLogger, this.summaryCollection, orderedClientElectionForSummarizer, maxOpsSinceLastSummary, summarizerClientElectionEnabled);
420
422
  if (this.context.clientDetails.type === summarizerClientElection_1.summarizerClientType) {
421
- this._summarizer = new summarizer_1.Summarizer("/_summarizer", this /* ISummarizerRuntime */, () => this.summaryConfiguration, this /* ISummarizerInternalsProvider */, this.IFluidHandleContext, this.summaryCollection);
423
+ this._summarizer = new summarizer_1.Summarizer("/_summarizer", this /* ISummarizerRuntime */, () => this.summaryConfiguration, this /* ISummarizerInternalsProvider */, this.IFluidHandleContext, this.summaryCollection, async (runtime) => runWhileConnectedCoordinator_1.RunWhileConnectedCoordinator.create(runtime));
422
424
  }
423
425
  else if (summarizerClientElection_1.SummarizerClientElection.clientDetailsPermitElection(this.context.clientDetails)) {
424
426
  // Create the SummaryManager and mark the initial state
427
+ const requestOptions = {
428
+ cache: false,
429
+ reconnect: false,
430
+ summarizingClient: true,
431
+ };
425
432
  this.summaryManager = new summaryManager_1.SummaryManager(this.summarizerClientElection, this, // IConnectedState
426
- this.summaryCollection, this.logger, summaryManager_1.formRequestSummarizerFn(this.context.loader, this.context.deltaManager), new throttler_1.Throttler(60 * 1000, // 60 sec delay window
433
+ this.summaryCollection, this.logger, summaryManager_1.formRequestSummarizerFn(this.context.loader, this.context.deltaManager.lastSequenceNumber, requestOptions), new throttler_1.Throttler(60 * 1000, // 60 sec delay window
427
434
  30 * 1000, // 30 sec max delay
428
435
  // throttling function increases exponentially (0ms, 40ms, 80ms, 160ms, etc)
429
436
  throttler_1.formExponentialFn({ coefficient: 20, initialDelay: 0 })), {
@@ -598,7 +605,8 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
598
605
  }
599
606
  /** clientId of parent (non-summarizing) container that owns summarizer container */
600
607
  get summarizerClientId() {
601
- return this.summarizerClientElection.electedClientId;
608
+ var _a;
609
+ return (_a = this.summarizerClientElection) === null || _a === void 0 ? void 0 : _a.electedClientId;
602
610
  }
603
611
  get summaryConfiguration() {
604
612
  var _a, _b, _c;
@@ -796,6 +804,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
796
804
  return root;
797
805
  }
798
806
  addContainerBlobsToSummary(summaryTree) {
807
+ var _a;
799
808
  if (this.shouldWriteMetadata) {
800
809
  runtime_utils_1.addBlobToSummary(summaryTree, summaryFormat_1.metadataBlobName, JSON.stringify(this.formMetadata()));
801
810
  }
@@ -803,8 +812,10 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
803
812
  const content = JSON.stringify([...this.chunkMap]);
804
813
  runtime_utils_1.addBlobToSummary(summaryTree, summaryFormat_1.chunksBlobName, content);
805
814
  }
806
- const electedSummarizerContent = JSON.stringify(this.summarizerClientElection.serialize());
807
- runtime_utils_1.addBlobToSummary(summaryTree, summaryFormat_1.electedSummarizerBlobName, electedSummarizerContent);
815
+ if (this.summarizerClientElection) {
816
+ const electedSummarizerContent = JSON.stringify((_a = this.summarizerClientElection) === null || _a === void 0 ? void 0 : _a.serialize());
817
+ runtime_utils_1.addBlobToSummary(summaryTree, summaryFormat_1.electedSummarizerBlobName, electedSummarizerContent);
818
+ }
808
819
  const snapshot = this.blobManager.snapshot();
809
820
  // Some storage (like git) doesn't allow empty tree, so we can omit it.
810
821
  // and the blob manager can handle the tree not existing when loading
@@ -1013,7 +1024,7 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
1013
1024
  }
1014
1025
  async createRootDataStore(pkg, rootDataStoreId) {
1015
1026
  const fluidDataStore = await this._createDataStore(pkg, true /* isRoot */, rootDataStoreId);
1016
- fluidDataStore.bindToContext();
1027
+ fluidDataStore.attachGraph();
1017
1028
  return fluidDataStore;
1018
1029
  }
1019
1030
  createDetachedRootDataStore(pkg, rootDataStoreId) {
@@ -1023,7 +1034,11 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
1023
1034
  return this.dataStores.createDetachedDataStoreCore(pkg, false);
1024
1035
  }
1025
1036
  async _createDataStoreWithProps(pkg, props, id = uuid_1.v4(), isRoot = false) {
1026
- return this.dataStores._createFluidDataStoreContext(Array.isArray(pkg) ? pkg : [pkg], id, isRoot, props).realize();
1037
+ const fluidDataStore = await this.dataStores._createFluidDataStoreContext(Array.isArray(pkg) ? pkg : [pkg], id, isRoot, props).realize();
1038
+ if (isRoot) {
1039
+ fluidDataStore.attachGraph();
1040
+ }
1041
+ return fluidDataStore;
1027
1042
  }
1028
1043
  async _createDataStore(pkg, isRoot, id = uuid_1.v4()) {
1029
1044
  return this.dataStores._createFluidDataStoreContext(Array.isArray(pkg) ? pkg : [pkg], id, isRoot).realize();
@@ -1122,39 +1137,33 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
1122
1137
  return telemetry_utils_1.PerformanceEvent.timedExecAsync(logger, { eventName: "GarbageCollection" }, async (event) => {
1123
1138
  var _a;
1124
1139
  const gcStats = {};
1125
- try {
1126
- // Get the container's GC data and run GC on the reference graph in it.
1127
- const gcData = await this.dataStores.getGCData(fullGC);
1128
- const { referencedNodeIds, deletedNodeIds } = garbage_collector_1.runGarbageCollection(gcData.gcNodes, ["/"], this.logger);
1129
- // Update our summarizer node's used routes. Updating used routes in summarizer node before
1130
- // summarizing is required and asserted by the the summarizer node. We are the root and are
1131
- // always referenced, so the used routes is only self-route (empty string).
1132
- this.summarizerNode.updateUsedRoutes([""]);
1133
- // Remove this node's route ("/") and notify data stores of routes that are used in it.
1134
- const usedRoutes = referencedNodeIds.filter((id) => { return id !== "/"; });
1135
- const { dataStoreCount, unusedDataStoreCount } = this.dataStores.updateUsedRoutes(usedRoutes, (_a =
1136
- // For now, we use the timestamp of the last op for gcTimestamp. However, there can be cases where
1137
- // we don't have an op (on demand summaries for instance). In those cases, we will use the timestamp
1138
- // of this client's connection - https://github.com/microsoft/FluidFramework/issues/7152.
1139
- this.deltaManager.lastMessage) === null || _a === void 0 ? void 0 : _a.timestamp);
1140
- // Update stats to be reported in the peformance event.
1141
- gcStats.deletedNodes = deletedNodeIds.length;
1142
- gcStats.totalNodes = referencedNodeIds.length + deletedNodeIds.length;
1143
- gcStats.deletedDataStores = unusedDataStoreCount;
1144
- gcStats.totalDataStores = dataStoreCount;
1145
- // If we are running in GC test mode, delete objects for unused routes. This enables testing scenarios
1146
- // involving access to deleted data.
1147
- if (this.gcTestMode) {
1148
- this.dataStores.deleteUnusedRoutes(deletedNodeIds);
1149
- }
1150
- }
1151
- catch (error) {
1152
- event.cancel(gcStats, error);
1153
- throw error;
1140
+ // Get the container's GC data and run GC on the reference graph in it.
1141
+ const gcData = await this.dataStores.getGCData(fullGC);
1142
+ const { referencedNodeIds, deletedNodeIds } = garbage_collector_1.runGarbageCollection(gcData.gcNodes, ["/"], this.logger);
1143
+ // Update our summarizer node's used routes. Updating used routes in summarizer node before
1144
+ // summarizing is required and asserted by the the summarizer node. We are the root and are
1145
+ // always referenced, so the used routes is only self-route (empty string).
1146
+ this.summarizerNode.updateUsedRoutes([""]);
1147
+ // Remove this node's route ("/") and notify data stores of routes that are used in it.
1148
+ const usedRoutes = referencedNodeIds.filter((id) => { return id !== "/"; });
1149
+ const { dataStoreCount, unusedDataStoreCount } = this.dataStores.updateUsedRoutes(usedRoutes, (_a =
1150
+ // For now, we use the timestamp of the last op for gcTimestamp. However, there can be cases where
1151
+ // we don't have an op (on demand summaries for instance). In those cases, we will use the timestamp
1152
+ // of this client's connection - https://github.com/microsoft/FluidFramework/issues/7152.
1153
+ this.deltaManager.lastMessage) === null || _a === void 0 ? void 0 : _a.timestamp);
1154
+ // Update stats to be reported in the peformance event.
1155
+ gcStats.deletedNodes = deletedNodeIds.length;
1156
+ gcStats.totalNodes = referencedNodeIds.length + deletedNodeIds.length;
1157
+ gcStats.deletedDataStores = unusedDataStoreCount;
1158
+ gcStats.totalDataStores = dataStoreCount;
1159
+ // If we are running in GC test mode, delete objects for unused routes. This enables testing scenarios
1160
+ // involving access to deleted data.
1161
+ if (this.gcTestMode) {
1162
+ this.dataStores.deleteUnusedRoutes(deletedNodeIds);
1154
1163
  }
1155
1164
  event.end(gcStats);
1156
1165
  return gcStats;
1157
- });
1166
+ }, { end: true, cancel: "error" });
1158
1167
  }
1159
1168
  async summarizeInternal(fullTree, trackState) {
1160
1169
  const summarizeResult = await this.dataStores.summarize(fullTree, trackState);
@@ -1550,10 +1559,8 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
1550
1559
  }
1551
1560
  }
1552
1561
  async fetchSnapshotFromStorage(versionId, logger, event) {
1553
- const perfEvent = telemetry_utils_1.PerformanceEvent.start(logger, event);
1554
- const stats = {};
1555
- let snapshot;
1556
- try {
1562
+ return telemetry_utils_1.PerformanceEvent.timedExecAsync(logger, event, async (perfEvent) => {
1563
+ const stats = {};
1557
1564
  const trace = common_utils_1.Trace.start();
1558
1565
  const versions = await this.storage.getVersions(versionId, 1);
1559
1566
  common_utils_1.assert(!!versions && !!versions[0], 0x137 /* "Failed to get version from storage" */);
@@ -1561,14 +1568,9 @@ class ContainerRuntime extends common_utils_1.TypedEventEmitter {
1561
1568
  const maybeSnapshot = await this.storage.getSnapshotTree(versions[0]);
1562
1569
  common_utils_1.assert(!!maybeSnapshot, 0x138 /* "Failed to get snapshot from storage" */);
1563
1570
  stats.getSnapshotDuration = trace.trace().duration;
1564
- snapshot = maybeSnapshot;
1565
- }
1566
- catch (error) {
1567
- perfEvent.cancel(stats, error);
1568
- throw error;
1569
- }
1570
- perfEvent.end(stats);
1571
- return snapshot;
1571
+ perfEvent.end(stats);
1572
+ return maybeSnapshot;
1573
+ });
1572
1574
  }
1573
1575
  getPendingLocalState() {
1574
1576
  return this.pendingStateManager.getLocalState();