@fluidframework/container-runtime 2.62.0-356644 → 2.62.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/.eslintrc.cjs +4 -72
  2. package/CHANGELOG.md +4 -0
  3. package/container-runtime.test-files.tar +0 -0
  4. package/dist/blobManager/blobManager.d.ts.map +1 -1
  5. package/dist/blobManager/blobManager.js +10 -7
  6. package/dist/blobManager/blobManager.js.map +1 -1
  7. package/dist/blobManager/blobManagerSnapSum.js.map +1 -1
  8. package/dist/channelCollection.js +2 -2
  9. package/dist/channelCollection.js.map +1 -1
  10. package/dist/containerRuntime.d.ts +1 -2
  11. package/dist/containerRuntime.d.ts.map +1 -1
  12. package/dist/containerRuntime.js +93 -96
  13. package/dist/containerRuntime.js.map +1 -1
  14. package/dist/dataStoreContext.d.ts.map +1 -1
  15. package/dist/dataStoreContext.js +2 -2
  16. package/dist/dataStoreContext.js.map +1 -1
  17. package/dist/deltaScheduler.js +1 -1
  18. package/dist/deltaScheduler.js.map +1 -1
  19. package/dist/gc/garbageCollection.d.ts.map +1 -1
  20. package/dist/gc/garbageCollection.js +3 -1
  21. package/dist/gc/garbageCollection.js.map +1 -1
  22. package/dist/gc/gcConfigs.js +3 -1
  23. package/dist/gc/gcConfigs.js.map +1 -1
  24. package/dist/gc/gcReferenceGraphAlgorithm.js.map +1 -1
  25. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  26. package/dist/gc/gcTelemetry.js +4 -3
  27. package/dist/gc/gcTelemetry.js.map +1 -1
  28. package/dist/inboundBatchAggregator.js +1 -1
  29. package/dist/inboundBatchAggregator.js.map +1 -1
  30. package/dist/metadata.d.ts.map +1 -1
  31. package/dist/metadata.js +2 -1
  32. package/dist/metadata.js.map +1 -1
  33. package/dist/opLifecycle/opGroupingManager.js +2 -2
  34. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  35. package/dist/packageVersion.d.ts +1 -1
  36. package/dist/packageVersion.d.ts.map +1 -1
  37. package/dist/packageVersion.js +1 -1
  38. package/dist/packageVersion.js.map +1 -1
  39. package/dist/pendingStateManager.d.ts.map +1 -1
  40. package/dist/pendingStateManager.js +8 -3
  41. package/dist/pendingStateManager.js.map +1 -1
  42. package/dist/summary/summaryDelayLoadedModule/runningSummarizer.d.ts.map +1 -1
  43. package/dist/summary/summaryDelayLoadedModule/runningSummarizer.js +3 -2
  44. package/dist/summary/summaryDelayLoadedModule/runningSummarizer.js.map +1 -1
  45. package/dist/summary/summaryDelayLoadedModule/summarizer.js +1 -1
  46. package/dist/summary/summaryDelayLoadedModule/summarizer.js.map +1 -1
  47. package/dist/summary/summaryDelayLoadedModule/summaryGenerator.js +1 -1
  48. package/dist/summary/summaryDelayLoadedModule/summaryGenerator.js.map +1 -1
  49. package/lib/blobManager/blobManager.d.ts.map +1 -1
  50. package/lib/blobManager/blobManager.js +10 -7
  51. package/lib/blobManager/blobManager.js.map +1 -1
  52. package/lib/blobManager/blobManagerSnapSum.js.map +1 -1
  53. package/lib/channelCollection.js +2 -2
  54. package/lib/channelCollection.js.map +1 -1
  55. package/lib/containerRuntime.d.ts +1 -2
  56. package/lib/containerRuntime.d.ts.map +1 -1
  57. package/lib/containerRuntime.js +22 -25
  58. package/lib/containerRuntime.js.map +1 -1
  59. package/lib/dataStoreContext.d.ts.map +1 -1
  60. package/lib/dataStoreContext.js +2 -2
  61. package/lib/dataStoreContext.js.map +1 -1
  62. package/lib/deltaScheduler.js +1 -1
  63. package/lib/deltaScheduler.js.map +1 -1
  64. package/lib/gc/garbageCollection.d.ts.map +1 -1
  65. package/lib/gc/garbageCollection.js +3 -1
  66. package/lib/gc/garbageCollection.js.map +1 -1
  67. package/lib/gc/gcConfigs.js +3 -1
  68. package/lib/gc/gcConfigs.js.map +1 -1
  69. package/lib/gc/gcReferenceGraphAlgorithm.js.map +1 -1
  70. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  71. package/lib/gc/gcTelemetry.js +4 -3
  72. package/lib/gc/gcTelemetry.js.map +1 -1
  73. package/lib/inboundBatchAggregator.js +1 -1
  74. package/lib/inboundBatchAggregator.js.map +1 -1
  75. package/lib/metadata.d.ts.map +1 -1
  76. package/lib/metadata.js +2 -1
  77. package/lib/metadata.js.map +1 -1
  78. package/lib/opLifecycle/opGroupingManager.js +2 -2
  79. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  80. package/lib/packageVersion.d.ts +1 -1
  81. package/lib/packageVersion.d.ts.map +1 -1
  82. package/lib/packageVersion.js +1 -1
  83. package/lib/packageVersion.js.map +1 -1
  84. package/lib/pendingStateManager.d.ts.map +1 -1
  85. package/lib/pendingStateManager.js +8 -3
  86. package/lib/pendingStateManager.js.map +1 -1
  87. package/lib/summary/summaryDelayLoadedModule/runningSummarizer.d.ts.map +1 -1
  88. package/lib/summary/summaryDelayLoadedModule/runningSummarizer.js +3 -2
  89. package/lib/summary/summaryDelayLoadedModule/runningSummarizer.js.map +1 -1
  90. package/lib/summary/summaryDelayLoadedModule/summarizer.js +1 -1
  91. package/lib/summary/summaryDelayLoadedModule/summarizer.js.map +1 -1
  92. package/lib/summary/summaryDelayLoadedModule/summaryGenerator.js +1 -1
  93. package/lib/summary/summaryDelayLoadedModule/summaryGenerator.js.map +1 -1
  94. package/package.json +18 -18
  95. package/src/blobManager/blobManager.ts +12 -7
  96. package/src/blobManager/blobManagerSnapSum.ts +1 -1
  97. package/src/channelCollection.ts +3 -3
  98. package/src/containerRuntime.ts +58 -65
  99. package/src/dataStoreContext.ts +3 -3
  100. package/src/deltaScheduler.ts +1 -1
  101. package/src/gc/garbageCollection.ts +5 -2
  102. package/src/gc/gcConfigs.ts +3 -3
  103. package/src/gc/gcReferenceGraphAlgorithm.ts +1 -1
  104. package/src/gc/gcTelemetry.ts +4 -5
  105. package/src/inboundBatchAggregator.ts +1 -1
  106. package/src/metadata.ts +2 -1
  107. package/src/opLifecycle/opGroupingManager.ts +2 -2
  108. package/src/packageVersion.ts +1 -1
  109. package/src/pendingStateManager.ts +11 -5
  110. package/src/summary/summaryDelayLoadedModule/runningSummarizer.ts +3 -2
  111. package/src/summary/summaryDelayLoadedModule/summarizer.ts +1 -1
  112. package/src/summary/summaryDelayLoadedModule/summaryGenerator.ts +1 -1
@@ -160,6 +160,8 @@ function buildPendingMessageContent(message: InboundSequencedContainerRuntimeMes
160
160
  }
161
161
 
162
162
  function typesOfKeys<T extends object>(obj: T): Record<keyof T, string> {
163
+ // TODO: Fix this violation and remove the disable
164
+ // eslint-disable-next-line unicorn/no-array-reduce
163
165
  return Object.keys(obj).reduce((acc, key) => {
164
166
  acc[key] = typeof obj[key];
165
167
  return acc;
@@ -174,7 +176,10 @@ function scrubAndStringify(
174
176
 
175
177
  // For these known/expected keys, we can either drill into the object (for contents)
176
178
  // or just use the value as-is (since it's not personal info)
177
- scrubbed.contents = message.contents && typesOfKeys(message.contents);
179
+ scrubbed.contents =
180
+ typeof message.contents === "object" && message.contents !== null
181
+ ? typesOfKeys(message.contents)
182
+ : undefined;
178
183
  scrubbed.type = message.type;
179
184
 
180
185
  return JSON.stringify(scrubbed);
@@ -733,7 +738,7 @@ export class PendingStateManager implements IDisposable {
733
738
  pendingMessageBatchMetadata: asBatchMetadata(pendingMessage.opMetadata)?.batch,
734
739
  messageBatchMetadata: asBatchMetadata(firstMessage?.metadata)?.batch,
735
740
  },
736
- messageDetails: firstMessage && extractSafePropertiesFromMessage(firstMessage),
741
+ messageDetails: extractSafePropertiesFromMessage(firstMessage),
737
742
  });
738
743
  }
739
744
  }
@@ -797,9 +802,10 @@ export class PendingStateManager implements IDisposable {
797
802
  assert(batchMetadataFlag !== false, 0x41b /* We cannot process batches in chunks */);
798
803
 
799
804
  // The next message starts a batch (possibly single-message), and we'll need its batchId.
800
- const batchId = pendingMessage.batchInfo.ignoreBatchId
801
- ? undefined
802
- : getEffectiveBatchId(pendingMessage);
805
+ const batchId =
806
+ pendingMessage.batchInfo.ignoreBatchId === true
807
+ ? undefined
808
+ : getEffectiveBatchId(pendingMessage);
803
809
 
804
810
  const staged = pendingMessage.batchInfo.staged;
805
811
 
@@ -310,7 +310,8 @@ export class RunningSummarizer
310
310
  "Fluid.Summarizer.AttemptsForSubmitFailures",
311
311
  );
312
312
  this.maxAttemptsForSubmitFailures =
313
- overrideMaxAttempts && overrideMaxAttempts < defaultMaxAttemptsForSubmitFailures
313
+ overrideMaxAttempts !== undefined &&
314
+ overrideMaxAttempts < defaultMaxAttemptsForSubmitFailures
314
315
  ? overrideMaxAttempts
315
316
  : defaultMaxAttemptsForSubmitFailures;
316
317
  }
@@ -502,7 +503,7 @@ export class RunningSummarizer
502
503
  // This will try to run lastSummary if needed.
503
504
  if (
504
505
  allowLastSummary &&
505
- this.heuristicRunner?.shouldRunLastSummary() &&
506
+ this.heuristicRunner?.shouldRunLastSummary() === true &&
506
507
  this.summarizingLock === undefined
507
508
  ) {
508
509
  this.trySummarizeOnce(
@@ -326,7 +326,7 @@ export class Summarizer extends TypedEventEmitter<ISummarizerEvents> implements
326
326
 
327
327
  public summarizeOnDemand(options: IOnDemandSummarizeOptions): ISummarizeResults {
328
328
  try {
329
- if (this._disposed || this.runningSummarizer?.disposed) {
329
+ if (this._disposed || this.runningSummarizer?.disposed === true) {
330
330
  throw new UsageError("Summarizer is already disposed.");
331
331
  }
332
332
  if (
@@ -188,7 +188,7 @@ export class SummaryGenerator {
188
188
  * state change of multiple data stores. So, the total number of data stores that are summarized should not
189
189
  * exceed the number of ops since last summary + number of data store whose reference state changed.
190
190
  */
191
- if (!submitSummaryOptions.fullTree) {
191
+ if (submitSummaryOptions.fullTree !== true) {
192
192
  const { summarizedDataStoreCount, gcStateUpdatedDataStoreCount = 0 } =
193
193
  summaryData.summaryStats;
194
194
  if (