@fluidframework/container-runtime 2.31.1 → 2.33.0-333010

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 (301) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/container-runtime.test-files.tar +0 -0
  3. package/dist/channelCollection.d.ts +0 -14
  4. package/dist/channelCollection.d.ts.map +1 -1
  5. package/dist/channelCollection.js +10 -25
  6. package/dist/channelCollection.js.map +1 -1
  7. package/dist/containerRuntime.d.ts +16 -9
  8. package/dist/containerRuntime.d.ts.map +1 -1
  9. package/dist/containerRuntime.js +137 -103
  10. package/dist/containerRuntime.js.map +1 -1
  11. package/dist/dataStoreContext.d.ts +1 -5
  12. package/dist/dataStoreContext.d.ts.map +1 -1
  13. package/dist/dataStoreContext.js +0 -8
  14. package/dist/dataStoreContext.js.map +1 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +1 -2
  18. package/dist/index.js.map +1 -1
  19. package/dist/messageTypes.d.ts +3 -7
  20. package/dist/messageTypes.d.ts.map +1 -1
  21. package/dist/messageTypes.js.map +1 -1
  22. package/dist/opLifecycle/batchManager.d.ts +3 -15
  23. package/dist/opLifecycle/batchManager.d.ts.map +1 -1
  24. package/dist/opLifecycle/batchManager.js +3 -40
  25. package/dist/opLifecycle/batchManager.js.map +1 -1
  26. package/dist/opLifecycle/definitions.d.ts +42 -6
  27. package/dist/opLifecycle/definitions.d.ts.map +1 -1
  28. package/dist/opLifecycle/definitions.js.map +1 -1
  29. package/dist/opLifecycle/index.d.ts +5 -4
  30. package/dist/opLifecycle/index.d.ts.map +1 -1
  31. package/dist/opLifecycle/index.js +6 -4
  32. package/dist/opLifecycle/index.js.map +1 -1
  33. package/dist/opLifecycle/opCompressor.d.ts +10 -11
  34. package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
  35. package/dist/opLifecycle/opCompressor.js +21 -20
  36. package/dist/opLifecycle/opCompressor.js.map +1 -1
  37. package/dist/opLifecycle/opGroupingManager.d.ts +9 -5
  38. package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
  39. package/dist/opLifecycle/opGroupingManager.js +18 -22
  40. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  41. package/dist/opLifecycle/opSerialization.d.ts +20 -0
  42. package/dist/opLifecycle/opSerialization.d.ts.map +1 -0
  43. package/dist/opLifecycle/opSerialization.js +40 -0
  44. package/dist/opLifecycle/opSerialization.js.map +1 -0
  45. package/dist/opLifecycle/opSplitter.d.ts +12 -13
  46. package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
  47. package/dist/opLifecycle/opSplitter.js +15 -15
  48. package/dist/opLifecycle/opSplitter.js.map +1 -1
  49. package/dist/opLifecycle/outbox.d.ts +35 -18
  50. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  51. package/dist/opLifecycle/outbox.js +111 -72
  52. package/dist/opLifecycle/outbox.js.map +1 -1
  53. package/dist/opLifecycle/remoteMessageProcessor.d.ts +0 -7
  54. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  55. package/dist/opLifecycle/remoteMessageProcessor.js +1 -15
  56. package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
  57. package/dist/packageVersion.d.ts +1 -1
  58. package/dist/packageVersion.d.ts.map +1 -1
  59. package/dist/packageVersion.js +1 -1
  60. package/dist/packageVersion.js.map +1 -1
  61. package/dist/pendingStateManager.d.ts +2 -2
  62. package/dist/pendingStateManager.d.ts.map +1 -1
  63. package/dist/pendingStateManager.js +1 -1
  64. package/dist/pendingStateManager.js.map +1 -1
  65. package/dist/runtimeLayerCompatState.d.ts.map +1 -1
  66. package/dist/runtimeLayerCompatState.js +6 -5
  67. package/dist/runtimeLayerCompatState.js.map +1 -1
  68. package/dist/summary/index.d.ts +5 -8
  69. package/dist/summary/index.d.ts.map +1 -1
  70. package/dist/summary/index.js +20 -21
  71. package/dist/summary/index.js.map +1 -1
  72. package/dist/summary/orderedClientElection.js +9 -9
  73. package/dist/summary/orderedClientElection.js.map +1 -1
  74. package/dist/summary/summarizerClientElection.d.ts +0 -1
  75. package/dist/summary/summarizerClientElection.d.ts.map +1 -1
  76. package/dist/summary/summarizerClientElection.js +3 -3
  77. package/dist/summary/summarizerClientElection.js.map +1 -1
  78. package/dist/summary/summarizerTypes.d.ts +3 -75
  79. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  80. package/dist/summary/summarizerTypes.js +2 -0
  81. package/dist/summary/summarizerTypes.js.map +1 -1
  82. package/{lib/summary/summaryGenerator.d.ts → dist/summary/summarizerUtils.d.ts} +12 -43
  83. package/dist/summary/summarizerUtils.d.ts.map +1 -0
  84. package/dist/summary/summarizerUtils.js +71 -0
  85. package/dist/summary/summarizerUtils.js.map +1 -0
  86. package/dist/summary/summaryDelayLoadedModule/index.d.ts +10 -0
  87. package/dist/summary/summaryDelayLoadedModule/index.d.ts.map +1 -0
  88. package/dist/summary/summaryDelayLoadedModule/index.js +20 -0
  89. package/dist/summary/summaryDelayLoadedModule/index.js.map +1 -0
  90. package/dist/summary/{runWhileConnectedCoordinator.d.ts → summaryDelayLoadedModule/runWhileConnectedCoordinator.d.ts} +1 -1
  91. package/dist/summary/summaryDelayLoadedModule/runWhileConnectedCoordinator.d.ts.map +1 -0
  92. package/dist/summary/summaryDelayLoadedModule/runWhileConnectedCoordinator.js.map +1 -0
  93. package/dist/summary/{runningSummarizer.d.ts → summaryDelayLoadedModule/runningSummarizer.d.ts} +4 -13
  94. package/dist/summary/summaryDelayLoadedModule/runningSummarizer.d.ts.map +1 -0
  95. package/dist/summary/{runningSummarizer.js → summaryDelayLoadedModule/runningSummarizer.js} +17 -24
  96. package/dist/summary/summaryDelayLoadedModule/runningSummarizer.js.map +1 -0
  97. package/dist/summary/{summarizer.d.ts → summaryDelayLoadedModule/summarizer.d.ts} +13 -2
  98. package/dist/summary/summaryDelayLoadedModule/summarizer.d.ts.map +1 -0
  99. package/dist/summary/{summarizer.js → summaryDelayLoadedModule/summarizer.js} +13 -3
  100. package/dist/summary/summaryDelayLoadedModule/summarizer.js.map +1 -0
  101. package/{lib/summary → dist/summary/summaryDelayLoadedModule}/summarizerHeuristics.d.ts +3 -3
  102. package/dist/summary/summaryDelayLoadedModule/summarizerHeuristics.d.ts.map +1 -0
  103. package/dist/summary/summaryDelayLoadedModule/summarizerHeuristics.js.map +1 -0
  104. package/dist/summary/summaryDelayLoadedModule/summaryGenerator.d.ts +36 -0
  105. package/dist/summary/summaryDelayLoadedModule/summaryGenerator.d.ts.map +1 -0
  106. package/dist/summary/{summaryGenerator.js → summaryDelayLoadedModule/summaryGenerator.js} +14 -99
  107. package/dist/summary/summaryDelayLoadedModule/summaryGenerator.js.map +1 -0
  108. package/dist/summary/summaryDelayLoadedModule/summaryResultBuilder.d.ts +21 -0
  109. package/dist/summary/summaryDelayLoadedModule/summaryResultBuilder.d.ts.map +1 -0
  110. package/dist/summary/summaryDelayLoadedModule/summaryResultBuilder.js +44 -0
  111. package/dist/summary/summaryDelayLoadedModule/summaryResultBuilder.js.map +1 -0
  112. package/dist/summary/summaryDelayLoadedModule/summaryResultTypes.d.ts +80 -0
  113. package/dist/summary/summaryDelayLoadedModule/summaryResultTypes.d.ts.map +1 -0
  114. package/dist/summary/summaryDelayLoadedModule/summaryResultTypes.js +7 -0
  115. package/dist/summary/summaryDelayLoadedModule/summaryResultTypes.js.map +1 -0
  116. package/dist/summary/summaryHelpers.d.ts +1 -1
  117. package/dist/summary/summaryHelpers.d.ts.map +1 -1
  118. package/dist/summary/summaryHelpers.js +2 -2
  119. package/dist/summary/summaryHelpers.js.map +1 -1
  120. package/dist/summary/summaryManager.d.ts +4 -3
  121. package/dist/summary/summaryManager.d.ts.map +1 -1
  122. package/dist/summary/summaryManager.js +2 -2
  123. package/dist/summary/summaryManager.js.map +1 -1
  124. package/lib/channelCollection.d.ts +0 -14
  125. package/lib/channelCollection.d.ts.map +1 -1
  126. package/lib/channelCollection.js +6 -21
  127. package/lib/channelCollection.js.map +1 -1
  128. package/lib/containerRuntime.d.ts +16 -9
  129. package/lib/containerRuntime.d.ts.map +1 -1
  130. package/lib/containerRuntime.js +140 -106
  131. package/lib/containerRuntime.js.map +1 -1
  132. package/lib/dataStoreContext.d.ts +1 -5
  133. package/lib/dataStoreContext.d.ts.map +1 -1
  134. package/lib/dataStoreContext.js +0 -8
  135. package/lib/dataStoreContext.js.map +1 -1
  136. package/lib/index.d.ts +1 -1
  137. package/lib/index.d.ts.map +1 -1
  138. package/lib/index.js +1 -1
  139. package/lib/index.js.map +1 -1
  140. package/lib/messageTypes.d.ts +3 -7
  141. package/lib/messageTypes.d.ts.map +1 -1
  142. package/lib/messageTypes.js.map +1 -1
  143. package/lib/opLifecycle/batchManager.d.ts +3 -15
  144. package/lib/opLifecycle/batchManager.d.ts.map +1 -1
  145. package/lib/opLifecycle/batchManager.js +2 -38
  146. package/lib/opLifecycle/batchManager.js.map +1 -1
  147. package/lib/opLifecycle/definitions.d.ts +42 -6
  148. package/lib/opLifecycle/definitions.d.ts.map +1 -1
  149. package/lib/opLifecycle/definitions.js.map +1 -1
  150. package/lib/opLifecycle/index.d.ts +5 -4
  151. package/lib/opLifecycle/index.d.ts.map +1 -1
  152. package/lib/opLifecycle/index.js +4 -3
  153. package/lib/opLifecycle/index.js.map +1 -1
  154. package/lib/opLifecycle/opCompressor.d.ts +10 -11
  155. package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
  156. package/lib/opLifecycle/opCompressor.js +21 -20
  157. package/lib/opLifecycle/opCompressor.js.map +1 -1
  158. package/lib/opLifecycle/opGroupingManager.d.ts +9 -5
  159. package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
  160. package/lib/opLifecycle/opGroupingManager.js +18 -22
  161. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  162. package/lib/opLifecycle/opSerialization.d.ts +20 -0
  163. package/lib/opLifecycle/opSerialization.d.ts.map +1 -0
  164. package/lib/opLifecycle/opSerialization.js +35 -0
  165. package/lib/opLifecycle/opSerialization.js.map +1 -0
  166. package/lib/opLifecycle/opSplitter.d.ts +12 -13
  167. package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
  168. package/lib/opLifecycle/opSplitter.js +14 -14
  169. package/lib/opLifecycle/opSplitter.js.map +1 -1
  170. package/lib/opLifecycle/outbox.d.ts +35 -18
  171. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  172. package/lib/opLifecycle/outbox.js +109 -71
  173. package/lib/opLifecycle/outbox.js.map +1 -1
  174. package/lib/opLifecycle/remoteMessageProcessor.d.ts +0 -7
  175. package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  176. package/lib/opLifecycle/remoteMessageProcessor.js +0 -13
  177. package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
  178. package/lib/packageVersion.d.ts +1 -1
  179. package/lib/packageVersion.d.ts.map +1 -1
  180. package/lib/packageVersion.js +1 -1
  181. package/lib/packageVersion.js.map +1 -1
  182. package/lib/pendingStateManager.d.ts +2 -2
  183. package/lib/pendingStateManager.d.ts.map +1 -1
  184. package/lib/pendingStateManager.js +1 -1
  185. package/lib/pendingStateManager.js.map +1 -1
  186. package/lib/runtimeLayerCompatState.d.ts.map +1 -1
  187. package/lib/runtimeLayerCompatState.js +3 -2
  188. package/lib/runtimeLayerCompatState.js.map +1 -1
  189. package/lib/summary/index.d.ts +5 -8
  190. package/lib/summary/index.d.ts.map +1 -1
  191. package/lib/summary/index.js +5 -7
  192. package/lib/summary/index.js.map +1 -1
  193. package/lib/summary/orderedClientElection.js +1 -1
  194. package/lib/summary/orderedClientElection.js.map +1 -1
  195. package/lib/summary/summarizerClientElection.d.ts +0 -1
  196. package/lib/summary/summarizerClientElection.d.ts.map +1 -1
  197. package/lib/summary/summarizerClientElection.js +1 -1
  198. package/lib/summary/summarizerClientElection.js.map +1 -1
  199. package/lib/summary/summarizerTypes.d.ts +3 -75
  200. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  201. package/lib/summary/summarizerTypes.js +1 -1
  202. package/lib/summary/summarizerTypes.js.map +1 -1
  203. package/{dist/summary/summaryGenerator.d.ts → lib/summary/summarizerUtils.d.ts} +12 -43
  204. package/lib/summary/summarizerUtils.d.ts.map +1 -0
  205. package/lib/summary/summarizerUtils.js +64 -0
  206. package/lib/summary/summarizerUtils.js.map +1 -0
  207. package/lib/summary/summaryDelayLoadedModule/index.d.ts +10 -0
  208. package/lib/summary/summaryDelayLoadedModule/index.d.ts.map +1 -0
  209. package/lib/summary/summaryDelayLoadedModule/index.js +9 -0
  210. package/lib/summary/summaryDelayLoadedModule/index.js.map +1 -0
  211. package/lib/summary/{runWhileConnectedCoordinator.d.ts → summaryDelayLoadedModule/runWhileConnectedCoordinator.d.ts} +1 -1
  212. package/lib/summary/summaryDelayLoadedModule/runWhileConnectedCoordinator.d.ts.map +1 -0
  213. package/lib/summary/summaryDelayLoadedModule/runWhileConnectedCoordinator.js.map +1 -0
  214. package/lib/summary/{runningSummarizer.d.ts → summaryDelayLoadedModule/runningSummarizer.d.ts} +4 -13
  215. package/lib/summary/summaryDelayLoadedModule/runningSummarizer.d.ts.map +1 -0
  216. package/lib/summary/{runningSummarizer.js → summaryDelayLoadedModule/runningSummarizer.js} +5 -12
  217. package/lib/summary/summaryDelayLoadedModule/runningSummarizer.js.map +1 -0
  218. package/lib/summary/{summarizer.d.ts → summaryDelayLoadedModule/summarizer.d.ts} +13 -2
  219. package/lib/summary/summaryDelayLoadedModule/summarizer.d.ts.map +1 -0
  220. package/lib/summary/{summarizer.js → summaryDelayLoadedModule/summarizer.js} +11 -1
  221. package/lib/summary/summaryDelayLoadedModule/summarizer.js.map +1 -0
  222. package/{dist/summary → lib/summary/summaryDelayLoadedModule}/summarizerHeuristics.d.ts +3 -3
  223. package/lib/summary/summaryDelayLoadedModule/summarizerHeuristics.d.ts.map +1 -0
  224. package/lib/summary/summaryDelayLoadedModule/summarizerHeuristics.js.map +1 -0
  225. package/lib/summary/summaryDelayLoadedModule/summaryGenerator.d.ts +36 -0
  226. package/lib/summary/summaryDelayLoadedModule/summaryGenerator.d.ts.map +1 -0
  227. package/lib/summary/{summaryGenerator.js → summaryDelayLoadedModule/summaryGenerator.js} +4 -85
  228. package/lib/summary/summaryDelayLoadedModule/summaryGenerator.js.map +1 -0
  229. package/lib/summary/summaryDelayLoadedModule/summaryResultBuilder.d.ts +21 -0
  230. package/lib/summary/summaryDelayLoadedModule/summaryResultBuilder.d.ts.map +1 -0
  231. package/lib/summary/summaryDelayLoadedModule/summaryResultBuilder.js +40 -0
  232. package/lib/summary/summaryDelayLoadedModule/summaryResultBuilder.js.map +1 -0
  233. package/lib/summary/summaryDelayLoadedModule/summaryResultTypes.d.ts +80 -0
  234. package/lib/summary/summaryDelayLoadedModule/summaryResultTypes.d.ts.map +1 -0
  235. package/lib/summary/summaryDelayLoadedModule/summaryResultTypes.js +6 -0
  236. package/lib/summary/summaryDelayLoadedModule/summaryResultTypes.js.map +1 -0
  237. package/lib/summary/summaryHelpers.d.ts +1 -1
  238. package/lib/summary/summaryHelpers.d.ts.map +1 -1
  239. package/lib/summary/summaryHelpers.js +1 -1
  240. package/lib/summary/summaryHelpers.js.map +1 -1
  241. package/lib/summary/summaryManager.d.ts +4 -3
  242. package/lib/summary/summaryManager.d.ts.map +1 -1
  243. package/lib/summary/summaryManager.js +2 -2
  244. package/lib/summary/summaryManager.js.map +1 -1
  245. package/package.json +20 -19
  246. package/src/channelCollection.ts +5 -20
  247. package/src/containerRuntime.ts +220 -178
  248. package/src/dataStoreContext.ts +0 -11
  249. package/src/index.ts +0 -1
  250. package/src/messageTypes.ts +5 -19
  251. package/src/opLifecycle/batchManager.ts +12 -51
  252. package/src/opLifecycle/definitions.ts +49 -6
  253. package/src/opLifecycle/index.ts +19 -4
  254. package/src/opLifecycle/opCompressor.ts +26 -25
  255. package/src/opLifecycle/opGroupingManager.ts +27 -26
  256. package/src/opLifecycle/opSerialization.ts +46 -0
  257. package/src/opLifecycle/opSplitter.ts +21 -17
  258. package/src/opLifecycle/outbox.ts +168 -99
  259. package/src/opLifecycle/remoteMessageProcessor.ts +0 -17
  260. package/src/packageVersion.ts +1 -1
  261. package/src/pendingStateManager.ts +3 -3
  262. package/src/runtimeLayerCompatState.ts +3 -2
  263. package/src/summary/index.ts +35 -31
  264. package/src/summary/orderedClientElection.ts +1 -1
  265. package/src/summary/summarizerClientElection.ts +1 -2
  266. package/src/summary/summarizerTypes.ts +7 -91
  267. package/src/summary/summarizerUtils.ts +132 -0
  268. package/src/summary/summaryDelayLoadedModule/index.ts +28 -0
  269. package/src/summary/{runWhileConnectedCoordinator.ts → summaryDelayLoadedModule/runWhileConnectedCoordinator.ts} +1 -1
  270. package/src/summary/{runningSummarizer.ts → summaryDelayLoadedModule/runningSummarizer.ts} +13 -28
  271. package/src/summary/{summarizer.ts → summaryDelayLoadedModule/summarizer.ts} +19 -8
  272. package/src/summary/{summarizerHeuristics.ts → summaryDelayLoadedModule/summarizerHeuristics.ts} +3 -3
  273. package/src/summary/{summaryGenerator.ts → summaryDelayLoadedModule/summaryGenerator.ts} +13 -179
  274. package/src/summary/summaryDelayLoadedModule/summaryResultBuilder.ts +70 -0
  275. package/src/summary/summaryDelayLoadedModule/summaryResultTypes.ts +100 -0
  276. package/src/summary/summaryHelpers.ts +6 -6
  277. package/src/summary/summaryManager.ts +8 -6
  278. package/dist/summary/runWhileConnectedCoordinator.d.ts.map +0 -1
  279. package/dist/summary/runWhileConnectedCoordinator.js.map +0 -1
  280. package/dist/summary/runningSummarizer.d.ts.map +0 -1
  281. package/dist/summary/runningSummarizer.js.map +0 -1
  282. package/dist/summary/summarizer.d.ts.map +0 -1
  283. package/dist/summary/summarizer.js.map +0 -1
  284. package/dist/summary/summarizerHeuristics.d.ts.map +0 -1
  285. package/dist/summary/summarizerHeuristics.js.map +0 -1
  286. package/dist/summary/summaryGenerator.d.ts.map +0 -1
  287. package/dist/summary/summaryGenerator.js.map +0 -1
  288. package/lib/summary/runWhileConnectedCoordinator.d.ts.map +0 -1
  289. package/lib/summary/runWhileConnectedCoordinator.js.map +0 -1
  290. package/lib/summary/runningSummarizer.d.ts.map +0 -1
  291. package/lib/summary/runningSummarizer.js.map +0 -1
  292. package/lib/summary/summarizer.d.ts.map +0 -1
  293. package/lib/summary/summarizer.js.map +0 -1
  294. package/lib/summary/summarizerHeuristics.d.ts.map +0 -1
  295. package/lib/summary/summarizerHeuristics.js.map +0 -1
  296. package/lib/summary/summaryGenerator.d.ts.map +0 -1
  297. package/lib/summary/summaryGenerator.js.map +0 -1
  298. /package/dist/summary/{runWhileConnectedCoordinator.js → summaryDelayLoadedModule/runWhileConnectedCoordinator.js} +0 -0
  299. /package/dist/summary/{summarizerHeuristics.js → summaryDelayLoadedModule/summarizerHeuristics.js} +0 -0
  300. /package/lib/summary/{runWhileConnectedCoordinator.js → summaryDelayLoadedModule/runWhileConnectedCoordinator.js} +0 -0
  301. /package/lib/summary/{summarizerHeuristics.js → summaryDelayLoadedModule/summarizerHeuristics.js} +0 -0
@@ -21,9 +21,10 @@ import type { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/intern
21
21
  import { IPendingBlobs, type IBlobManagerLoadInfo } from "./blobManager/index.js";
22
22
  import { GCNodeType, IGCRuntimeOptions, IGCStats } from "./gc/index.js";
23
23
  import { ContainerMessageType } from "./messageTypes.js";
24
- import { IBatch } from "./opLifecycle/index.js";
24
+ import { type OutboundBatch } from "./opLifecycle/index.js";
25
25
  import { IPendingLocalState } from "./pendingStateManager.js";
26
- import { DocumentsSchemaController, EnqueueSummarizeResult, IContainerRuntimeMetadata, type IDocumentSchemaCurrent, IEnqueueSummarizeOptions, IOnDemandSummarizeOptions, IRefreshSummaryAckOptions, ISerializedElection, ISubmitSummaryOptions, ISummarizeResults, ISummarizerInternalsProvider, ISummarizerRuntime, IdCompressorMode, SubmitSummaryResult, type IDocumentSchemaFeatures, ISummaryConfiguration } from "./summary/index.js";
26
+ import type { IDocumentSchemaCurrent, IDocumentSchemaFeatures, EnqueueSummarizeResult, ISerializedElection, ISummarizeResults } from "./summary/index.js";
27
+ import { DocumentsSchemaController, IContainerRuntimeMetadata, IEnqueueSummarizeOptions, IOnDemandSummarizeOptions, IRefreshSummaryAckOptions, ISubmitSummaryOptions, ISummarizerInternalsProvider, ISummarizerRuntime, IdCompressorMode, SubmitSummaryResult, ISummaryConfiguration } from "./summary/index.js";
27
28
  /**
28
29
  * @legacy
29
30
  * @alpha
@@ -100,7 +101,7 @@ export interface IContainerRuntimeOptions {
100
101
  * regardless of the overhead of an individual op.
101
102
  *
102
103
  * Any value of `chunkSizeInBytes` exceeding {@link IContainerRuntimeOptions.maxBatchSizeInBytes} will disable this feature, therefore if a compressed batch's content
103
- * size exceeds {@link IContainerRuntimeOptions.maxBatchSizeInBytes} after compression, the container will close with an instance of `GenericError` with
104
+ * size exceeds {@link IContainerRuntimeOptions.maxBatchSizeInBytes} after compression, the container will close with an instance of `DataProcessingError` with
104
105
  * the `BatchTooLarge` message.
105
106
  */
106
107
  readonly chunkSizeInBytes?: number;
@@ -247,7 +248,7 @@ export declare function getDeviceSpec(): {
247
248
  * Rather than exposing the submitFn (now deprecated) and IDeltaManager (dangerous to hand out) to the Outbox,
248
249
  * we can provide a partially-applied function to keep those items private to the ContainerRuntime.
249
250
  */
250
- export declare const makeLegacySendBatchFn: (submitFn: (type: MessageType, contents: unknown, batch: boolean, appData?: unknown) => number, deltaManager: Pick<IDeltaManager<unknown, unknown>, "flush">) => (batch: IBatch) => number;
251
+ export declare const makeLegacySendBatchFn: (submitFn: (type: MessageType, contents: unknown, batch: boolean, appData?: unknown) => number, deltaManager: Pick<IDeltaManager<unknown, unknown>, "flush">) => (batch: OutboundBatch) => number;
251
252
  /**
252
253
  * There is some ancient back-compat code that we'd like to instrument
253
254
  * to understand if/when it is hit.
@@ -308,12 +309,15 @@ export declare function loadContainerRuntime(params: LoadContainerRuntimeParams)
308
309
  export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntimeEvents> implements IContainerRuntime, IRuntime, ISummarizerRuntime, ISummarizerInternalsProvider, IProvideFluidHandleContext, IProvideLayerCompatDetails {
309
310
  private readonly registry;
310
311
  private readonly metadata;
312
+ private readonly electedSummarizerData;
313
+ private readonly runtimeOptions;
311
314
  private readonly containerScope;
312
315
  readonly baseLogger: ITelemetryBaseLogger;
313
316
  private readonly _storage;
314
317
  private readonly createIdCompressor;
315
318
  private readonly documentsSchemaController;
316
319
  private readonly requestHandler?;
320
+ private readonly summaryConfiguration;
317
321
  /**
318
322
  * Load the stores from a snapshot and returns the runtime.
319
323
  * @param params - An object housing the runtime properties:
@@ -406,13 +410,13 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
406
410
  */
407
411
  private readonly innerDeltaManager;
408
412
  private readonly mc;
409
- private readonly summarizerClientElection?;
413
+ private summarizerClientElection?;
410
414
  /**
411
415
  * summaryManager will only be created if this client is permitted to spawn a summarizing client
412
416
  * It is created only by interactive client, i.e. summarizer client, as well as non-interactive bots
413
417
  * do not create it (see SummarizerClientElection.clientDetailsPermitElection() for details)
414
418
  */
415
- private readonly summaryManager?;
419
+ private summaryManager?;
416
420
  private readonly summarizerNode;
417
421
  private readonly maxConsecutiveReconnects;
418
422
  private readonly batchRunner;
@@ -451,7 +455,7 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
451
455
  * It is the main entry point for summary work.
452
456
  * It is created only by summarizing container (i.e. one with clientType === "summarizer")
453
457
  */
454
- private readonly _summarizer?;
458
+ private _summarizer?;
455
459
  private readonly deltaScheduler;
456
460
  private readonly inboundBatchAggregator;
457
461
  private readonly blobManager;
@@ -507,11 +511,11 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
507
511
  */
508
512
  get ILayerCompatDetails(): ILayerCompatDetails;
509
513
  /**
510
- * If true, will skip Outbox flushing before processing an incoming message,
514
+ * If true, will skip Outbox flushing before processing an incoming message (and on DeltaManager "op" event for loader back-compat),
511
515
  * and instead the Outbox will check for a split batch on every submit.
512
516
  * This is a kill-bit switch for this simplification of logic, in case it causes unexpected issues.
513
517
  */
514
- private readonly disableFlushBeforeProcess;
518
+ private readonly skipSafetyFlushDuringProcessStack;
515
519
  /***/
516
520
  protected constructor(context: IContainerContext, registry: IFluidDataStoreRegistry, metadata: IContainerRuntimeMetadata | undefined, electedSummarizerData: ISerializedElection | undefined, chunks: [string, string[]][], dataStoreAliasMap: [string, string][], runtimeOptions: Readonly<Required<IContainerRuntimeOptionsInternal>>, containerScope: FluidObject, baseLogger: ITelemetryBaseLogger, existing: boolean, blobManagerLoadInfo: IBlobManagerLoadInfo, _storage: IDocumentStorageService, createIdCompressor: () => Promise<IIdCompressor & IIdCompressorCore>, documentsSchemaController: DocumentsSchemaController, featureGatesForTelemetry: Record<string, boolean | number | undefined>, provideEntryPoint: (containerRuntime: IContainerRuntime) => Promise<FluidObject>, requestHandler?: ((request: IRequest, runtime: IContainerRuntime) => Promise<IResponse>) | undefined, summaryConfiguration?: ISummaryConfiguration, recentBatchInfo?: [number, string][]);
517
521
  onSchemaChange(schema: IDocumentSchemaCurrent): void;
@@ -523,6 +527,7 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
523
527
  * Initializes the state from the base snapshot this container runtime loaded from.
524
528
  */
525
529
  private initializeBaseState;
530
+ private initializeSummarizer;
526
531
  dispose(error?: Error): void;
527
532
  /**
528
533
  * Api to fetch the snapshot from the service for a loadingGroupIds.
@@ -624,6 +629,8 @@ export declare class ContainerRuntime extends TypedEventEmitter<IContainerRuntim
624
629
  /**
625
630
  * Flush the pending ops manually.
626
631
  * This method is expected to be called at the end of a batch.
632
+ * @remarks - If it throws (e.g. if the batch is too large to send), the container will be closed.
633
+ *
627
634
  * @param resubmittingBatchId - If defined, indicates this is a resubmission of a batch
628
635
  * with the given Batch ID, which must be preserved
629
636
  */
@@ -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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"}
@@ -13,7 +13,7 @@ import { FlushMode, FlushModeExperimental, channelsTreeName, gcTreeKey, } from "
13
13
  import { GCDataBuilder, RequestParser, TelemetryContext, addBlobToSummary, addSummarizeResultToSummary, calculateStats, create404Response, exceptionToResponse, seqFromTree, } from "@fluidframework/runtime-utils/internal";
14
14
  import { DataCorruptionError, DataProcessingError, extractSafePropertiesFromMessage, GenericError, LoggingError, PerformanceEvent,
15
15
  // eslint-disable-next-line import/no-deprecated
16
- TaggedLoggerAdapter, UsageError, createChildLogger, createChildMonitoringContext, createSampledLogger, loggerToMonitoringContext, raiseConnectedEvent, wrapError, tagCodeArtifacts, } from "@fluidframework/telemetry-utils/internal";
16
+ TaggedLoggerAdapter, UsageError, createChildLogger, createChildMonitoringContext, createSampledLogger, loggerToMonitoringContext, raiseConnectedEvent, wrapError, tagCodeArtifacts, normalizeError, } from "@fluidframework/telemetry-utils/internal";
17
17
  import { v4 as uuid } from "uuid";
18
18
  import { BindBatchTracker } from "./batchTracker.js";
19
19
  import { BlobManager, blobManagerBasePath, blobsTreeName, isBlobPath, loadBlobManagerLoadInfo, } from "./blobManager/index.js";
@@ -27,13 +27,13 @@ import { DeltaScheduler } from "./deltaScheduler.js";
27
27
  import { GCNodeType, GarbageCollector, gcGenerationOptionName, } from "./gc/index.js";
28
28
  import { InboundBatchAggregator } from "./inboundBatchAggregator.js";
29
29
  import { ContainerMessageType, } from "./messageTypes.js";
30
- import { DuplicateBatchDetector, ensureContentsDeserialized, OpCompressor, OpDecompressor, OpGroupingManager, OpSplitter, Outbox, RemoteMessageProcessor, serializeOpContents, } from "./opLifecycle/index.js";
30
+ import { DuplicateBatchDetector, ensureContentsDeserialized, OpCompressor, OpDecompressor, OpGroupingManager, OpSplitter, Outbox, RemoteMessageProcessor, serializeOp, } from "./opLifecycle/index.js";
31
31
  import { pkgVersion } from "./packageVersion.js";
32
32
  import { PendingStateManager, } from "./pendingStateManager.js";
33
33
  import { RunCounter } from "./runCounter.js";
34
34
  import { runtimeCompatDetailsForLoader, validateLoaderCompatibility, } from "./runtimeLayerCompatState.js";
35
35
  import { SignalTelemetryManager } from "./signalTelemetryProcessing.js";
36
- import { DocumentsSchemaController, OrderedClientCollection, OrderedClientElection, RetriableSummaryError, RunWhileConnectedCoordinator, Summarizer, SummarizerClientElection, SummaryCollection, SummaryManager, aliasBlobName, chunksBlobName, recentBatchInfoBlobName, createRootSummarizerNodeWithGC, electedSummarizerBlobName, extractSummaryMetadataMessage, idCompressorBlobName, metadataBlobName, rootHasIsolatedChannels, summarizerClientType, wrapSummaryInChannelsTree, formCreateSummarizerFn, summarizerRequestUrl, validateSummaryHeuristicConfiguration, DefaultSummaryConfiguration, isSummariesDisabled, } from "./summary/index.js";
36
+ import { DocumentsSchemaController, OrderedClientElection, RetriableSummaryError, aliasBlobName, chunksBlobName, recentBatchInfoBlobName, createRootSummarizerNodeWithGC, electedSummarizerBlobName, extractSummaryMetadataMessage, idCompressorBlobName, metadataBlobName, rootHasIsolatedChannels, summarizerClientType, wrapSummaryInChannelsTree, formCreateSummarizerFn, summarizerRequestUrl, SummaryManager, SummarizerClientElection, SummaryCollection, OrderedClientCollection, validateSummaryHeuristicConfiguration, DefaultSummaryConfiguration, isSummariesDisabled, } from "./summary/index.js";
37
37
  import { Throttler, formExponentialFn } from "./throttler.js";
38
38
  /**
39
39
  * Creates an error object to be thrown / passed to Container's close fn in case of an unknown message type.
@@ -415,7 +415,7 @@ export class ContainerRuntime extends TypedEventEmitter {
415
415
  // or zero. This must be done before Container replays saved ops.
416
416
  await runtime.pendingStateManager.applyStashedOpsAt(runtimeSequenceNumber ?? 0);
417
417
  // Initialize the base state of the runtime before it's returned.
418
- await runtime.initializeBaseState();
418
+ await runtime.initializeBaseState(context.loader);
419
419
  return runtime;
420
420
  }
421
421
  get clientId() {
@@ -530,7 +530,7 @@ export class ContainerRuntime extends TypedEventEmitter {
530
530
  constructor(context, registry, metadata, electedSummarizerData, chunks, dataStoreAliasMap, runtimeOptions, containerScope,
531
531
  // Create a custom ITelemetryBaseLogger to output telemetry events.
532
532
  baseLogger, existing, blobManagerLoadInfo, _storage, createIdCompressor, documentsSchemaController, featureGatesForTelemetry, provideEntryPoint, requestHandler,
533
- // eslint-disable-next-line unicorn/no-object-as-default-parameter
533
+ // // eslint-disable-next-line unicorn/no-object-as-default-parameter
534
534
  summaryConfiguration = {
535
535
  // the defaults
536
536
  ...DefaultSummaryConfiguration,
@@ -540,12 +540,15 @@ export class ContainerRuntime extends TypedEventEmitter {
540
540
  super();
541
541
  this.registry = registry;
542
542
  this.metadata = metadata;
543
+ this.electedSummarizerData = electedSummarizerData;
544
+ this.runtimeOptions = runtimeOptions;
543
545
  this.containerScope = containerScope;
544
546
  this.baseLogger = baseLogger;
545
547
  this._storage = _storage;
546
548
  this.createIdCompressor = createIdCompressor;
547
549
  this.documentsSchemaController = documentsSchemaController;
548
550
  this.requestHandler = requestHandler;
551
+ this.summaryConfiguration = summaryConfiguration;
549
552
  this.imminentClosure = false;
550
553
  // We accumulate Id compressor Ops while Id compressor is not loaded yet (only for "delayed" mode)
551
554
  // Once it loads, it will process all such ops and we will stop accumulating further ops - ops will be processes as they come in.
@@ -565,7 +568,7 @@ export class ContainerRuntime extends TypedEventEmitter {
565
568
  expiry: { policy: "absolute", durationMs: 60000 },
566
569
  });
567
570
  this.readAndParseBlob = async (id) => readAndParse(this.storage, id);
568
- const { options, clientDetails, connected, baseSnapshot, submitFn, submitBatchFn, submitSummaryFn, submitSignalFn, disposeFn, closeFn, deltaManager, quorum, audience, loader, pendingLocalState, supportedFeatures, snapshotWithContents, } = context;
571
+ const { options, clientDetails, connected, baseSnapshot, submitFn, submitBatchFn, submitSummaryFn, submitSignalFn, disposeFn, closeFn, deltaManager, quorum, audience, pendingLocalState, supportedFeatures, snapshotWithContents, } = context;
569
572
  // In old loaders without dispose functionality, closeFn is equivalent but will also switch container to readonly mode
570
573
  this.disposeFn = disposeFn ?? closeFn;
571
574
  // Validate that the Loader is compatible with this Runtime.
@@ -697,20 +700,10 @@ export class ContainerRuntime extends TypedEventEmitter {
697
700
  }
698
701
  this._deltaManager = outerDeltaManager;
699
702
  this.handleContext = new ContainerFluidHandleContext("", this);
700
- if (summaryConfiguration.state === "enabled") {
701
- validateSummaryHeuristicConfiguration(summaryConfiguration);
703
+ if (this.summaryConfiguration.state === "enabled") {
704
+ validateSummaryHeuristicConfiguration(this.summaryConfiguration);
702
705
  }
703
- this.summariesDisabled = isSummariesDisabled(summaryConfiguration);
704
- const { maxOpsSinceLastSummary = 0, initialSummarizerDelayMs = 0 } = isSummariesDisabled(summaryConfiguration)
705
- ? {}
706
- : {
707
- ...summaryConfiguration,
708
- initialSummarizerDelayMs:
709
- // back-compat: initialSummarizerDelayMs was moved from ISummaryRuntimeOptions
710
- // to ISummaryConfiguration in 0.60.
711
- runtimeOptions.summaryOptions.initialSummarizerDelayMs ??
712
- summaryConfiguration.initialSummarizerDelayMs,
713
- };
706
+ this.summariesDisabled = isSummariesDisabled(this.summaryConfiguration);
714
707
  this.maxConsecutiveReconnects =
715
708
  this.mc.config.getNumber(maxConsecutiveReconnectsKey) ?? defaultMaxConsecutiveReconnects;
716
709
  // If the context has ILayerCompatDetails, it supports referenceSequenceNumbers since that features
@@ -840,7 +833,8 @@ export class ContainerRuntime extends TypedEventEmitter {
840
833
  this.deltaScheduler = new DeltaScheduler(this.innerDeltaManager, this, createChildLogger({ logger: this.baseLogger, namespace: "DeltaScheduler" }));
841
834
  this.inboundBatchAggregator = new InboundBatchAggregator(this.innerDeltaManager, () => this.clientId, createChildLogger({ logger: this.baseLogger, namespace: "InboundBatchAggregator" }));
842
835
  const legacySendBatchFn = makeLegacySendBatchFn(submitFn, this.innerDeltaManager);
843
- this.disableFlushBeforeProcess =
836
+ this.skipSafetyFlushDuringProcessStack =
837
+ // Keep the old flag name even though we renamed the class member (it shipped in 2.31.0)
844
838
  this.mc.config.getBoolean("Fluid.ContainerRuntime.DisableFlushBeforeProcess") === true;
845
839
  this.outbox = new Outbox({
846
840
  shouldSend: () => this.canSendOps(),
@@ -853,7 +847,7 @@ export class ContainerRuntime extends TypedEventEmitter {
853
847
  compressionOptions,
854
848
  maxBatchSizeInBytes: runtimeOptions.maxBatchSizeInBytes,
855
849
  // If we disable flush before process, we must be ready to flush partial batches
856
- flushPartialBatches: this.disableFlushBeforeProcess,
850
+ flushPartialBatches: this.skipSafetyFlushDuringProcessStack,
857
851
  },
858
852
  logger: this.mc.logger,
859
853
  groupingManager: opGroupingManager,
@@ -864,7 +858,6 @@ export class ContainerRuntime extends TypedEventEmitter {
864
858
  }),
865
859
  reSubmit: this.reSubmit.bind(this),
866
860
  opReentrancy: () => this.dataModelChangeRunner.running,
867
- closeContainer: this.closeFn,
868
861
  });
869
862
  this._quorum = quorum;
870
863
  this._quorum.on("removeMember", (clientId) => {
@@ -894,70 +887,16 @@ export class ContainerRuntime extends TypedEventEmitter {
894
887
  const closeSummarizerDelayOverride = this.mc.config.getNumber("Fluid.ContainerRuntime.Test.CloseSummarizerDelayOverrideMs");
895
888
  this.closeSummarizerDelayMs =
896
889
  closeSummarizerDelayOverride ?? defaultCloseSummarizerDelayMs;
897
- const summaryCollection = new SummaryCollection(this.deltaManager, this.baseLogger);
898
890
  this.dirtyContainer =
899
891
  this.attachState !== AttachState.Attached || this.hasPendingMessages();
900
892
  context.updateDirtyContainerState(this.dirtyContainer);
901
- if (this.summariesDisabled) {
902
- this.mc.logger.sendTelemetryEvent({ eventName: "SummariesDisabled" });
903
- }
904
- else {
905
- const orderedClientLogger = createChildLogger({
906
- logger: this.baseLogger,
907
- namespace: "OrderedClientElection",
908
- });
909
- const orderedClientCollection = new OrderedClientCollection(orderedClientLogger, this.innerDeltaManager, this._quorum);
910
- const orderedClientElectionForSummarizer = new OrderedClientElection(orderedClientLogger, orderedClientCollection, electedSummarizerData ?? this.innerDeltaManager.lastSequenceNumber, SummarizerClientElection.isClientEligible, this.mc.config.getBoolean("Fluid.ContainerRuntime.OrderedClientElection.EnablePerformanceEvents"));
911
- this.summarizerClientElection = new SummarizerClientElection(orderedClientLogger, summaryCollection, orderedClientElectionForSummarizer, maxOpsSinceLastSummary);
912
- if (isSummarizerClient) {
913
- this._summarizer = new Summarizer(this /* ISummarizerRuntime */, () => summaryConfiguration, this /* ISummarizerInternalsProvider */, this.handleContext, summaryCollection, async (runtime) => RunWhileConnectedCoordinator.create(runtime,
914
- // Summarization runs in summarizer client and needs access to the real (non-proxy) active
915
- // information. The proxy delta manager would always return false for summarizer client.
916
- () => this.innerDeltaManager.active));
917
- }
918
- else if (SummarizerClientElection.clientDetailsPermitElection(this.clientDetails)) {
919
- // Only create a SummaryManager and SummarizerClientElection
920
- // if summaries are enabled and we are not the summarizer client.
921
- const defaultAction = () => {
922
- if (summaryCollection.opsSinceLastAck > maxOpsSinceLastSummary) {
923
- this.mc.logger.sendTelemetryEvent({ eventName: "SummaryStatus:Behind" });
924
- // unregister default to no log on every op after falling behind
925
- // and register summary ack handler to re-register this handler
926
- // after successful summary
927
- summaryCollection.once(MessageType.SummaryAck, () => {
928
- this.mc.logger.sendTelemetryEvent({
929
- eventName: "SummaryStatus:CaughtUp",
930
- });
931
- // we've caught up, so re-register the default action to monitor for
932
- // falling behind, and unregister ourself
933
- summaryCollection.on("default", defaultAction);
934
- });
935
- summaryCollection.off("default", defaultAction);
936
- }
937
- };
938
- summaryCollection.on("default", defaultAction);
939
- // Create the SummaryManager and mark the initial state
940
- this.summaryManager = new SummaryManager(this.summarizerClientElection, this, // IConnectedState
941
- summaryCollection, this.baseLogger, formCreateSummarizerFn(loader), new Throttler(60 * 1000, // 60 sec delay window
942
- 30 * 1000, // 30 sec max delay
943
- // throttling function increases exponentially (0ms, 40ms, 80ms, 160ms, etc)
944
- formExponentialFn({ coefficient: 20, initialDelay: 0 })), {
945
- initialDelayMs: initialSummarizerDelayMs,
946
- });
947
- // Forward events from SummaryManager
948
- for (const eventName of [
949
- "summarize",
950
- "summarizeAllAttemptsFailed",
951
- "summarizerStop",
952
- "summarizerStart",
953
- "summarizerStartupFailed",
954
- ]) {
955
- this.summaryManager?.on(eventName, (...args) => {
956
- this.emit(eventName, ...args);
957
- });
958
- }
959
- this.summaryManager.start();
960
- }
893
+ if (!this.skipSafetyFlushDuringProcessStack) {
894
+ // Reference Sequence Number may have just changed, and it must be consistent across a batch,
895
+ // so we should flush now to clear the way for the next ops.
896
+ // NOTE: This will be redundant whenever CR.process was called for the op (since we flush there too) -
897
+ // But we need this coverage for old loaders that don't call ContainerRuntime.process for non-runtime messages.
898
+ // (We have to call flush _before_ processing a runtime op, but after is ok for non-runtime op)
899
+ this.deltaManager.on("op", () => this.flush());
961
900
  }
962
901
  // logging hardware telemetry
963
902
  this.baseLogger.send({
@@ -980,7 +919,7 @@ export class ContainerRuntime extends TypedEventEmitter {
980
919
  featureGates: JSON.stringify({
981
920
  ...featureGatesForTelemetry,
982
921
  closeSummarizerDelayOverride,
983
- disableFlushBeforeProcess: this.disableFlushBeforeProcess,
922
+ disableFlushBeforeProcess: this.skipSafetyFlushDuringProcessStack,
984
923
  }),
985
924
  telemetryDocumentId: this.telemetryDocumentId,
986
925
  groupedBatchingEnabled: this.groupedBatchingEnabled,
@@ -1033,7 +972,8 @@ export class ContainerRuntime extends TypedEventEmitter {
1033
972
  /**
1034
973
  * Initializes the state from the base snapshot this container runtime loaded from.
1035
974
  */
1036
- async initializeBaseState() {
975
+ async initializeBaseState(loader) {
976
+ await this.initializeSummarizer(loader);
1037
977
  if (this.sessionSchema.idCompressorMode === "on" ||
1038
978
  (this.sessionSchema.idCompressorMode === "delayed" && this.connected)) {
1039
979
  this._idCompressor = await this.createIdCompressor();
@@ -1042,6 +982,84 @@ export class ContainerRuntime extends TypedEventEmitter {
1042
982
  }
1043
983
  await this.garbageCollector.initializeBaseState();
1044
984
  }
985
+ async initializeSummarizer(loader) {
986
+ if (this.summariesDisabled) {
987
+ this.mc.logger.sendTelemetryEvent({ eventName: "SummariesDisabled" });
988
+ return;
989
+ }
990
+ const { maxOpsSinceLastSummary = 0, initialSummarizerDelayMs = 0 } = isSummariesDisabled(this.summaryConfiguration)
991
+ ? {}
992
+ : {
993
+ ...this.summaryConfiguration,
994
+ initialSummarizerDelayMs:
995
+ // back-compat: initialSummarizerDelayMs was moved from ISummaryRuntimeOptions
996
+ // to ISummaryConfiguration in 0.60.
997
+ this.runtimeOptions.summaryOptions.initialSummarizerDelayMs ??
998
+ this.summaryConfiguration.initialSummarizerDelayMs,
999
+ };
1000
+ const summaryCollection = new SummaryCollection(this.deltaManager, this.baseLogger);
1001
+ const orderedClientLogger = createChildLogger({
1002
+ logger: this.baseLogger,
1003
+ namespace: "OrderedClientElection",
1004
+ });
1005
+ const orderedClientCollection = new OrderedClientCollection(orderedClientLogger, this.innerDeltaManager, this._quorum);
1006
+ const orderedClientElectionForSummarizer = new OrderedClientElection(orderedClientLogger, orderedClientCollection, this.electedSummarizerData ?? this.innerDeltaManager.lastSequenceNumber, SummarizerClientElection.isClientEligible, this.mc.config.getBoolean("Fluid.ContainerRuntime.OrderedClientElection.EnablePerformanceEvents"));
1007
+ this.summarizerClientElection = new SummarizerClientElection(orderedClientLogger, summaryCollection, orderedClientElectionForSummarizer, maxOpsSinceLastSummary);
1008
+ const isSummarizerClient = this.clientDetails.type === summarizerClientType;
1009
+ if (isSummarizerClient) {
1010
+ // We want to dynamically import any thing inside summaryDelayLoadedModule module only when we are the summarizer client,
1011
+ // so that all non summarizer clients don't have to load the code inside this module.
1012
+ const module = await import(
1013
+ /* webpackChunkName: "summarizerDelayLoadedModule" */ "./summary/index.js");
1014
+ this._summarizer = new module.Summarizer(this /* ISummarizerRuntime */, () => this.summaryConfiguration, this /* ISummarizerInternalsProvider */, this.handleContext, summaryCollection, async (runtime) => module.RunWhileConnectedCoordinator.create(runtime,
1015
+ // Summarization runs in summarizer client and needs access to the real (non-proxy) active
1016
+ // information. The proxy delta manager would always return false for summarizer client.
1017
+ () => this.innerDeltaManager.active));
1018
+ }
1019
+ else if (SummarizerClientElection.clientDetailsPermitElection(this.clientDetails)) {
1020
+ // Only create a SummaryManager and SummarizerClientElection
1021
+ // if summaries are enabled and we are not the summarizer client.
1022
+ const defaultAction = () => {
1023
+ if (summaryCollection.opsSinceLastAck > maxOpsSinceLastSummary) {
1024
+ this.mc.logger.sendTelemetryEvent({ eventName: "SummaryStatus:Behind" });
1025
+ // unregister default to no log on every op after falling behind
1026
+ // and register summary ack handler to re-register this handler
1027
+ // after successful summary
1028
+ summaryCollection.once(MessageType.SummaryAck, () => {
1029
+ this.mc.logger.sendTelemetryEvent({
1030
+ eventName: "SummaryStatus:CaughtUp",
1031
+ });
1032
+ // we've caught up, so re-register the default action to monitor for
1033
+ // falling behind, and unregister ourself
1034
+ summaryCollection.on("default", defaultAction);
1035
+ });
1036
+ summaryCollection.off("default", defaultAction);
1037
+ }
1038
+ };
1039
+ summaryCollection.on("default", defaultAction);
1040
+ // Create the SummaryManager and mark the initial state
1041
+ this.summaryManager = new SummaryManager(this.summarizerClientElection, this, // IConnectedState
1042
+ summaryCollection, this.baseLogger, formCreateSummarizerFn(loader), new Throttler(60 * 1000, // 60 sec delay window
1043
+ 30 * 1000, // 30 sec max delay
1044
+ // throttling function increases exponentially (0ms, 40ms, 80ms, 160ms, etc)
1045
+ formExponentialFn({ coefficient: 20, initialDelay: 0 })), {
1046
+ initialDelayMs: initialSummarizerDelayMs,
1047
+ });
1048
+ // Forward events from SummaryManager
1049
+ for (const eventName of [
1050
+ "summarize",
1051
+ "summarizeAllAttemptsFailed",
1052
+ "summarizerStop",
1053
+ "summarizerStart",
1054
+ "summarizerStartupFailed",
1055
+ ]) {
1056
+ this.summaryManager?.on(eventName, (...args) => {
1057
+ this.emit(eventName, ...args);
1058
+ });
1059
+ }
1060
+ this.summaryManager.start();
1061
+ }
1062
+ }
1045
1063
  dispose(error) {
1046
1064
  if (this._disposed) {
1047
1065
  return;
@@ -1359,7 +1377,6 @@ export class ContainerRuntime extends TypedEventEmitter {
1359
1377
  * Parse an op's type and actual content from given serialized content
1360
1378
  * ! Note: this format needs to be in-line with what is set in the "ContainerRuntime.submit(...)" method
1361
1379
  */
1362
- // TODO: markfields: confirm Local- versus Outbound- ContainerRuntimeMessage typing
1363
1380
  parseLocalOpContent(serializedContents) {
1364
1381
  assert(serializedContents !== undefined, 0x6d5 /* content must be defined */);
1365
1382
  const message = JSON.parse(serializedContents);
@@ -1367,7 +1384,7 @@ export class ContainerRuntime extends TypedEventEmitter {
1367
1384
  return message;
1368
1385
  }
1369
1386
  async applyStashedOp(serializedOpContent) {
1370
- // Need to parse from string for back-compat
1387
+ // Pending State contains serialized contents, so parse it here.
1371
1388
  const opContents = this.parseLocalOpContent(serializedOpContent);
1372
1389
  switch (opContents.type) {
1373
1390
  case ContainerMessageType.FluidDataStoreOp:
@@ -1512,9 +1529,9 @@ export class ContainerRuntime extends TypedEventEmitter {
1512
1529
  // spread operator above ensure we make a shallow copy of message, as the processing flow will modify it.
1513
1530
  // There might be multiple container instances receiving the same message.
1514
1531
  this.verifyNotClosed();
1515
- if (!this.disableFlushBeforeProcess) {
1532
+ if (!this.skipSafetyFlushDuringProcessStack) {
1516
1533
  // Reference Sequence Number may be about to change, and it must be consistent across a batch, so flush now
1517
- this.outbox.flush();
1534
+ this.flush();
1518
1535
  }
1519
1536
  this.ensureNoDataModelChanges(() => {
1520
1537
  this.processInboundMessageOrBatch(messageCopy, local);
@@ -1844,13 +1861,26 @@ export class ContainerRuntime extends TypedEventEmitter {
1844
1861
  /**
1845
1862
  * Flush the pending ops manually.
1846
1863
  * This method is expected to be called at the end of a batch.
1864
+ * @remarks - If it throws (e.g. if the batch is too large to send), the container will be closed.
1865
+ *
1847
1866
  * @param resubmittingBatchId - If defined, indicates this is a resubmission of a batch
1848
1867
  * with the given Batch ID, which must be preserved
1849
1868
  */
1850
1869
  flush(resubmittingBatchId) {
1851
- assert(!this.batchRunner.running, 0x24c /* "Cannot call `flush()` while manually accumulating a batch (e.g. under orderSequentially) */);
1852
- this.outbox.flush(resubmittingBatchId);
1853
- assert(this.outbox.isEmpty, 0x3cf /* reentrancy */);
1870
+ try {
1871
+ assert(!this.batchRunner.running, 0x24c /* "Cannot call `flush()` while manually accumulating a batch (e.g. under orderSequentially) */);
1872
+ this.outbox.flush(resubmittingBatchId);
1873
+ assert(this.outbox.isEmpty, 0x3cf /* reentrancy */);
1874
+ }
1875
+ catch (error) {
1876
+ const error2 = normalizeError(error, {
1877
+ props: {
1878
+ orderSequentiallyCalls: this.batchRunner.runs,
1879
+ },
1880
+ });
1881
+ this.closeFn(error2);
1882
+ throw error2;
1883
+ }
1854
1884
  }
1855
1885
  /**
1856
1886
  * {@inheritDoc @fluidframework/runtime-definitions#IContainerRuntimeBase.orderSequentially}
@@ -1872,7 +1902,7 @@ export class ContainerRuntime extends TypedEventEmitter {
1872
1902
  if (checkpoint) {
1873
1903
  // This will throw and close the container if rollback fails
1874
1904
  try {
1875
- checkpoint.rollback((message) => this.rollback(message.contents, message.localOpMetadata));
1905
+ checkpoint.rollback((message) => this.rollback(message.serializedOp, message.localOpMetadata));
1876
1906
  // reset the dirty state after rollback to what it was before to keep it consistent
1877
1907
  if (this.dirtyContainer !== checkpointDirtyState) {
1878
1908
  this.updateDocumentDirtyState(checkpointDirtyState);
@@ -2632,7 +2662,7 @@ export class ContainerRuntime extends TypedEventEmitter {
2632
2662
  contents: idRange,
2633
2663
  };
2634
2664
  const idAllocationBatchMessage = {
2635
- contents: serializeOpContents(idAllocationMessage),
2665
+ serializedOp: serializeOp(idAllocationMessage),
2636
2666
  referenceSequenceNumber: this.deltaManager.lastSequenceNumber,
2637
2667
  };
2638
2668
  this.outbox.submitIdAllocation(idAllocationBatchMessage);
@@ -2675,12 +2705,14 @@ export class ContainerRuntime extends TypedEventEmitter {
2675
2705
  contents: schemaChangeMessage,
2676
2706
  };
2677
2707
  this.outbox.submit({
2678
- contents: serializeOpContents(msg),
2708
+ serializedOp: serializeOp(msg),
2679
2709
  referenceSequenceNumber: this.deltaManager.lastSequenceNumber,
2680
2710
  });
2681
2711
  }
2682
2712
  const message = {
2683
- contents: serializeOpContents(containerRuntimeMessage),
2713
+ // This will encode any handles present in this op before serializing to string
2714
+ // Note: handles may already have been encoded by the DDS layer, but encoding handles is idempotent so there's no problem.
2715
+ serializedOp: serializeOp(containerRuntimeMessage),
2684
2716
  metadata,
2685
2717
  localOpMetadata,
2686
2718
  referenceSequenceNumber: this.deltaManager.lastSequenceNumber,
@@ -2702,8 +2734,11 @@ export class ContainerRuntime extends TypedEventEmitter {
2702
2734
  }
2703
2735
  }
2704
2736
  catch (error) {
2705
- this.closeFn(error);
2706
- throw error;
2737
+ const dpe = DataProcessingError.wrapIfUnrecognized(error, "ContainerRuntime.submit", {
2738
+ referenceSequenceNumber: this.deltaManager.lastSequenceNumber,
2739
+ });
2740
+ this.closeFn(dpe);
2741
+ throw dpe;
2707
2742
  }
2708
2743
  if (this.isContainerMessageDirtyable(containerRuntimeMessage)) {
2709
2744
  this.updateDocumentDirtyState(true);
@@ -2718,12 +2753,7 @@ export class ContainerRuntime extends TypedEventEmitter {
2718
2753
  // eslint-disable-next-line unicorn/consistent-function-scoping -- Separate `flush` method already exists in outer scope
2719
2754
  const flush = () => {
2720
2755
  this.flushTaskExists = false;
2721
- try {
2722
- this.flush();
2723
- }
2724
- catch (error) {
2725
- this.closeFn(error);
2726
- }
2756
+ this.flush();
2727
2757
  };
2728
2758
  switch (this.flushMode) {
2729
2759
  case FlushMode.TurnBased: {
@@ -2780,7 +2810,9 @@ export class ContainerRuntime extends TypedEventEmitter {
2780
2810
  this.flush(this.offlineEnabled ? batchId : undefined);
2781
2811
  }
2782
2812
  reSubmit(message) {
2783
- // Need to parse from string for back-compat
2813
+ // Messages in the PendingStateManager and Outbox (both call resubmit) have serialized contents, so parse it here.
2814
+ // Note that roundtripping handles through string like this means this parsed contents
2815
+ // contains RemoteFluidObjectHandles, not the original handle.
2784
2816
  const containerRuntimeMessage = this.parseLocalOpContent(message.content);
2785
2817
  this.reSubmitCore(containerRuntimeMessage, message.localOpMetadata, message.opMetadata);
2786
2818
  }
@@ -2838,7 +2870,9 @@ export class ContainerRuntime extends TypedEventEmitter {
2838
2870
  }
2839
2871
  }
2840
2872
  rollback(content, localOpMetadata) {
2841
- // Need to parse from string for back-compat
2873
+ // Messages in the Outbox (which calls rollback) have serialized contents, so parse it here.
2874
+ // Note that roundtripping handles through string like this means this parsed contents
2875
+ // contains RemoteFluidObjectHandles, not the original handle.
2842
2876
  const { type, contents } = this.parseLocalOpContent(content);
2843
2877
  switch (type) {
2844
2878
  case ContainerMessageType.FluidDataStoreOp: {