@fluidframework/container-runtime 2.0.0-dev-rc.5.0.0.263932 → 2.0.0-dev-rc.5.0.0.267932

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 (370) hide show
  1. package/api-report/container-runtime.api.md +43 -53
  2. package/dist/batchTracker.js.map +1 -1
  3. package/dist/blobManager.d.ts +4 -4
  4. package/dist/blobManager.d.ts.map +1 -1
  5. package/dist/blobManager.js +1 -1
  6. package/dist/blobManager.js.map +1 -1
  7. package/dist/channelCollection.d.ts +3 -3
  8. package/dist/channelCollection.d.ts.map +1 -1
  9. package/dist/channelCollection.js +3 -3
  10. package/dist/channelCollection.js.map +1 -1
  11. package/dist/connectionTelemetry.d.ts +2 -1
  12. package/dist/connectionTelemetry.d.ts.map +1 -1
  13. package/dist/connectionTelemetry.js +14 -14
  14. package/dist/connectionTelemetry.js.map +1 -1
  15. package/dist/containerHandleContext.d.ts +2 -1
  16. package/dist/containerHandleContext.d.ts.map +1 -1
  17. package/dist/containerHandleContext.js.map +1 -1
  18. package/dist/containerRuntime.d.ts +12 -19
  19. package/dist/containerRuntime.d.ts.map +1 -1
  20. package/dist/containerRuntime.js +74 -120
  21. package/dist/containerRuntime.js.map +1 -1
  22. package/dist/dataStore.d.ts.map +1 -1
  23. package/dist/dataStore.js.map +1 -1
  24. package/dist/dataStoreContext.d.ts +7 -8
  25. package/dist/dataStoreContext.d.ts.map +1 -1
  26. package/dist/dataStoreContext.js +3 -3
  27. package/dist/dataStoreContext.js.map +1 -1
  28. package/dist/dataStoreContexts.js.map +1 -1
  29. package/dist/dataStoreRegistry.js.map +1 -1
  30. package/dist/deltaManagerProxies.d.ts +4 -3
  31. package/dist/deltaManagerProxies.d.ts.map +1 -1
  32. package/dist/deltaManagerProxies.js.map +1 -1
  33. package/dist/deltaScheduler.d.ts +2 -1
  34. package/dist/deltaScheduler.d.ts.map +1 -1
  35. package/dist/deltaScheduler.js.map +1 -1
  36. package/dist/gc/garbageCollection.d.ts +1 -3
  37. package/dist/gc/garbageCollection.d.ts.map +1 -1
  38. package/dist/gc/garbageCollection.js +18 -21
  39. package/dist/gc/garbageCollection.js.map +1 -1
  40. package/dist/gc/gcConfigs.d.ts.map +1 -1
  41. package/dist/gc/gcConfigs.js +11 -30
  42. package/dist/gc/gcConfigs.js.map +1 -1
  43. package/dist/gc/gcDefinitions.d.ts +3 -30
  44. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  45. package/dist/gc/gcDefinitions.js +1 -3
  46. package/dist/gc/gcDefinitions.js.map +1 -1
  47. package/dist/gc/gcHelpers.d.ts +2 -3
  48. package/dist/gc/gcHelpers.d.ts.map +1 -1
  49. package/dist/gc/gcHelpers.js.map +1 -1
  50. package/dist/gc/gcReferenceGraphAlgorithm.js.map +1 -1
  51. package/dist/gc/gcSummaryDefinitions.d.ts +1 -1
  52. package/dist/gc/gcSummaryDefinitions.d.ts.map +1 -1
  53. package/dist/gc/gcSummaryDefinitions.js.map +1 -1
  54. package/dist/gc/gcSummaryStateTracker.d.ts +2 -35
  55. package/dist/gc/gcSummaryStateTracker.d.ts.map +1 -1
  56. package/dist/gc/gcSummaryStateTracker.js +9 -62
  57. package/dist/gc/gcSummaryStateTracker.js.map +1 -1
  58. package/dist/gc/gcTelemetry.d.ts +1 -1
  59. package/dist/gc/gcTelemetry.d.ts.map +1 -1
  60. package/dist/gc/gcTelemetry.js +2 -2
  61. package/dist/gc/gcTelemetry.js.map +1 -1
  62. package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
  63. package/dist/gc/index.d.ts +1 -1
  64. package/dist/gc/index.d.ts.map +1 -1
  65. package/dist/gc/index.js +1 -2
  66. package/dist/gc/index.js.map +1 -1
  67. package/dist/index.d.ts +1 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js.map +1 -1
  70. package/dist/legacy.d.ts +1 -1
  71. package/dist/messageTypes.d.ts +1 -1
  72. package/dist/messageTypes.d.ts.map +1 -1
  73. package/dist/messageTypes.js.map +1 -1
  74. package/dist/opLifecycle/batchManager.js.map +1 -1
  75. package/dist/opLifecycle/definitions.d.ts +2 -2
  76. package/dist/opLifecycle/definitions.d.ts.map +1 -1
  77. package/dist/opLifecycle/definitions.js.map +1 -1
  78. package/dist/opLifecycle/opCompressor.d.ts +11 -1
  79. package/dist/opLifecycle/opCompressor.d.ts.map +1 -1
  80. package/dist/opLifecycle/opCompressor.js +13 -2
  81. package/dist/opLifecycle/opCompressor.js.map +1 -1
  82. package/dist/opLifecycle/opDecompressor.d.ts +1 -1
  83. package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
  84. package/dist/opLifecycle/opDecompressor.js.map +1 -1
  85. package/dist/opLifecycle/opGroupingManager.d.ts +10 -3
  86. package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
  87. package/dist/opLifecycle/opGroupingManager.js +7 -0
  88. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  89. package/dist/opLifecycle/opSplitter.d.ts +4 -2
  90. package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
  91. package/dist/opLifecycle/opSplitter.js +12 -7
  92. package/dist/opLifecycle/opSplitter.js.map +1 -1
  93. package/dist/opLifecycle/outbox.d.ts +10 -0
  94. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  95. package/dist/opLifecycle/outbox.js +12 -17
  96. package/dist/opLifecycle/outbox.js.map +1 -1
  97. package/dist/opLifecycle/remoteMessageProcessor.d.ts +1 -1
  98. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  99. package/dist/opLifecycle/remoteMessageProcessor.js +2 -2
  100. package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
  101. package/dist/opProperties.d.ts +1 -1
  102. package/dist/opProperties.d.ts.map +1 -1
  103. package/dist/opProperties.js.map +1 -1
  104. package/dist/packageVersion.d.ts +1 -1
  105. package/dist/packageVersion.js +1 -1
  106. package/dist/packageVersion.js.map +1 -1
  107. package/dist/pendingStateManager.js.map +1 -1
  108. package/dist/scheduleManager.d.ts +2 -1
  109. package/dist/scheduleManager.d.ts.map +1 -1
  110. package/dist/scheduleManager.js.map +1 -1
  111. package/dist/storageServiceWithAttachBlobs.js.map +1 -1
  112. package/dist/summary/documentSchema.js +1 -1
  113. package/dist/summary/documentSchema.js.map +1 -1
  114. package/dist/summary/index.d.ts +1 -1
  115. package/dist/summary/index.d.ts.map +1 -1
  116. package/dist/summary/index.js.map +1 -1
  117. package/dist/summary/orderedClientElection.d.ts +4 -2
  118. package/dist/summary/orderedClientElection.d.ts.map +1 -1
  119. package/dist/summary/orderedClientElection.js +35 -13
  120. package/dist/summary/orderedClientElection.js.map +1 -1
  121. package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
  122. package/dist/summary/runningSummarizer.d.ts +1 -6
  123. package/dist/summary/runningSummarizer.d.ts.map +1 -1
  124. package/dist/summary/runningSummarizer.js +22 -108
  125. package/dist/summary/runningSummarizer.js.map +1 -1
  126. package/dist/summary/summarizer.d.ts +1 -1
  127. package/dist/summary/summarizer.d.ts.map +1 -1
  128. package/dist/summary/summarizer.js +4 -1
  129. package/dist/summary/summarizer.js.map +1 -1
  130. package/dist/summary/summarizerClientElection.d.ts +1 -1
  131. package/dist/summary/summarizerClientElection.d.ts.map +1 -1
  132. package/dist/summary/summarizerClientElection.js +2 -2
  133. package/dist/summary/summarizerClientElection.js.map +1 -1
  134. package/dist/summary/summarizerHeuristics.js.map +1 -1
  135. package/dist/summary/summarizerNode/summarizerNode.d.ts +3 -3
  136. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  137. package/dist/summary/summarizerNode/summarizerNode.js +16 -16
  138. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  139. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts +2 -1
  140. package/dist/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  141. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  142. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -3
  143. package/dist/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  144. package/dist/summary/summarizerNode/summarizerNodeWithGc.js +1 -1
  145. package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  146. package/dist/summary/summarizerTypes.d.ts +17 -29
  147. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  148. package/dist/summary/summarizerTypes.js.map +1 -1
  149. package/dist/summary/summaryCollection.d.ts +2 -1
  150. package/dist/summary/summaryCollection.d.ts.map +1 -1
  151. package/dist/summary/summaryCollection.js +11 -11
  152. package/dist/summary/summaryCollection.js.map +1 -1
  153. package/dist/summary/summaryFormat.d.ts +3 -3
  154. package/dist/summary/summaryFormat.d.ts.map +1 -1
  155. package/dist/summary/summaryFormat.js +2 -2
  156. package/dist/summary/summaryFormat.js.map +1 -1
  157. package/dist/summary/summaryGenerator.d.ts +7 -8
  158. package/dist/summary/summaryGenerator.d.ts.map +1 -1
  159. package/dist/summary/summaryGenerator.js +26 -22
  160. package/dist/summary/summaryGenerator.js.map +1 -1
  161. package/dist/summary/summaryManager.js.map +1 -1
  162. package/dist/throttler.js.map +1 -1
  163. package/lib/batchTracker.js.map +1 -1
  164. package/lib/blobManager.d.ts +4 -4
  165. package/lib/blobManager.d.ts.map +1 -1
  166. package/lib/blobManager.js +1 -1
  167. package/lib/blobManager.js.map +1 -1
  168. package/lib/channelCollection.d.ts +3 -3
  169. package/lib/channelCollection.d.ts.map +1 -1
  170. package/lib/channelCollection.js +3 -3
  171. package/lib/channelCollection.js.map +1 -1
  172. package/lib/connectionTelemetry.d.ts +2 -1
  173. package/lib/connectionTelemetry.d.ts.map +1 -1
  174. package/lib/connectionTelemetry.js +2 -2
  175. package/lib/connectionTelemetry.js.map +1 -1
  176. package/lib/containerHandleContext.d.ts +2 -1
  177. package/lib/containerHandleContext.d.ts.map +1 -1
  178. package/lib/containerHandleContext.js.map +1 -1
  179. package/lib/containerRuntime.d.ts +12 -19
  180. package/lib/containerRuntime.d.ts.map +1 -1
  181. package/lib/containerRuntime.js +68 -114
  182. package/lib/containerRuntime.js.map +1 -1
  183. package/lib/dataStore.d.ts.map +1 -1
  184. package/lib/dataStore.js.map +1 -1
  185. package/lib/dataStoreContext.d.ts +7 -8
  186. package/lib/dataStoreContext.d.ts.map +1 -1
  187. package/lib/dataStoreContext.js +3 -3
  188. package/lib/dataStoreContext.js.map +1 -1
  189. package/lib/dataStoreContexts.js.map +1 -1
  190. package/lib/dataStoreRegistry.js.map +1 -1
  191. package/lib/deltaManagerProxies.d.ts +4 -3
  192. package/lib/deltaManagerProxies.d.ts.map +1 -1
  193. package/lib/deltaManagerProxies.js.map +1 -1
  194. package/lib/deltaScheduler.d.ts +2 -1
  195. package/lib/deltaScheduler.d.ts.map +1 -1
  196. package/lib/deltaScheduler.js.map +1 -1
  197. package/lib/gc/garbageCollection.d.ts +1 -3
  198. package/lib/gc/garbageCollection.d.ts.map +1 -1
  199. package/lib/gc/garbageCollection.js +18 -21
  200. package/lib/gc/garbageCollection.js.map +1 -1
  201. package/lib/gc/gcConfigs.d.ts.map +1 -1
  202. package/lib/gc/gcConfigs.js +12 -31
  203. package/lib/gc/gcConfigs.js.map +1 -1
  204. package/lib/gc/gcDefinitions.d.ts +3 -30
  205. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  206. package/lib/gc/gcDefinitions.js +0 -2
  207. package/lib/gc/gcDefinitions.js.map +1 -1
  208. package/lib/gc/gcHelpers.d.ts +2 -3
  209. package/lib/gc/gcHelpers.d.ts.map +1 -1
  210. package/lib/gc/gcHelpers.js.map +1 -1
  211. package/lib/gc/gcReferenceGraphAlgorithm.js.map +1 -1
  212. package/lib/gc/gcSummaryDefinitions.d.ts +1 -1
  213. package/lib/gc/gcSummaryDefinitions.d.ts.map +1 -1
  214. package/lib/gc/gcSummaryDefinitions.js.map +1 -1
  215. package/lib/gc/gcSummaryStateTracker.d.ts +2 -35
  216. package/lib/gc/gcSummaryStateTracker.d.ts.map +1 -1
  217. package/lib/gc/gcSummaryStateTracker.js +4 -57
  218. package/lib/gc/gcSummaryStateTracker.js.map +1 -1
  219. package/lib/gc/gcTelemetry.d.ts +1 -1
  220. package/lib/gc/gcTelemetry.d.ts.map +1 -1
  221. package/lib/gc/gcTelemetry.js +2 -2
  222. package/lib/gc/gcTelemetry.js.map +1 -1
  223. package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
  224. package/lib/gc/index.d.ts +1 -1
  225. package/lib/gc/index.d.ts.map +1 -1
  226. package/lib/gc/index.js +1 -1
  227. package/lib/gc/index.js.map +1 -1
  228. package/lib/index.d.ts +1 -1
  229. package/lib/index.d.ts.map +1 -1
  230. package/lib/index.js.map +1 -1
  231. package/lib/legacy.d.ts +1 -1
  232. package/lib/messageTypes.d.ts +1 -1
  233. package/lib/messageTypes.d.ts.map +1 -1
  234. package/lib/messageTypes.js.map +1 -1
  235. package/lib/opLifecycle/batchManager.js.map +1 -1
  236. package/lib/opLifecycle/definitions.d.ts +2 -2
  237. package/lib/opLifecycle/definitions.d.ts.map +1 -1
  238. package/lib/opLifecycle/definitions.js.map +1 -1
  239. package/lib/opLifecycle/opCompressor.d.ts +11 -1
  240. package/lib/opLifecycle/opCompressor.d.ts.map +1 -1
  241. package/lib/opLifecycle/opCompressor.js +13 -2
  242. package/lib/opLifecycle/opCompressor.js.map +1 -1
  243. package/lib/opLifecycle/opDecompressor.d.ts +1 -1
  244. package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
  245. package/lib/opLifecycle/opDecompressor.js.map +1 -1
  246. package/lib/opLifecycle/opGroupingManager.d.ts +10 -3
  247. package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
  248. package/lib/opLifecycle/opGroupingManager.js +7 -0
  249. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  250. package/lib/opLifecycle/opSplitter.d.ts +4 -2
  251. package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
  252. package/lib/opLifecycle/opSplitter.js +12 -7
  253. package/lib/opLifecycle/opSplitter.js.map +1 -1
  254. package/lib/opLifecycle/outbox.d.ts +10 -0
  255. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  256. package/lib/opLifecycle/outbox.js +12 -17
  257. package/lib/opLifecycle/outbox.js.map +1 -1
  258. package/lib/opLifecycle/remoteMessageProcessor.d.ts +1 -1
  259. package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  260. package/lib/opLifecycle/remoteMessageProcessor.js +1 -1
  261. package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
  262. package/lib/opProperties.d.ts +1 -1
  263. package/lib/opProperties.d.ts.map +1 -1
  264. package/lib/opProperties.js.map +1 -1
  265. package/lib/packageVersion.d.ts +1 -1
  266. package/lib/packageVersion.js +1 -1
  267. package/lib/packageVersion.js.map +1 -1
  268. package/lib/pendingStateManager.js.map +1 -1
  269. package/lib/scheduleManager.d.ts +2 -1
  270. package/lib/scheduleManager.d.ts.map +1 -1
  271. package/lib/scheduleManager.js.map +1 -1
  272. package/lib/storageServiceWithAttachBlobs.js.map +1 -1
  273. package/lib/summary/documentSchema.js +1 -1
  274. package/lib/summary/documentSchema.js.map +1 -1
  275. package/lib/summary/index.d.ts +1 -1
  276. package/lib/summary/index.d.ts.map +1 -1
  277. package/lib/summary/index.js.map +1 -1
  278. package/lib/summary/orderedClientElection.d.ts +4 -2
  279. package/lib/summary/orderedClientElection.d.ts.map +1 -1
  280. package/lib/summary/orderedClientElection.js +35 -13
  281. package/lib/summary/orderedClientElection.js.map +1 -1
  282. package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
  283. package/lib/summary/runningSummarizer.d.ts +1 -6
  284. package/lib/summary/runningSummarizer.d.ts.map +1 -1
  285. package/lib/summary/runningSummarizer.js +21 -107
  286. package/lib/summary/runningSummarizer.js.map +1 -1
  287. package/lib/summary/summarizer.d.ts +1 -1
  288. package/lib/summary/summarizer.d.ts.map +1 -1
  289. package/lib/summary/summarizer.js +4 -1
  290. package/lib/summary/summarizer.js.map +1 -1
  291. package/lib/summary/summarizerClientElection.d.ts +1 -1
  292. package/lib/summary/summarizerClientElection.d.ts.map +1 -1
  293. package/lib/summary/summarizerClientElection.js +1 -1
  294. package/lib/summary/summarizerClientElection.js.map +1 -1
  295. package/lib/summary/summarizerHeuristics.js.map +1 -1
  296. package/lib/summary/summarizerNode/summarizerNode.d.ts +3 -3
  297. package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  298. package/lib/summary/summarizerNode/summarizerNode.js +14 -14
  299. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  300. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts +2 -1
  301. package/lib/summary/summarizerNode/summarizerNodeUtils.d.ts.map +1 -1
  302. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  303. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts +2 -3
  304. package/lib/summary/summarizerNode/summarizerNodeWithGc.d.ts.map +1 -1
  305. package/lib/summary/summarizerNode/summarizerNodeWithGc.js +1 -1
  306. package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  307. package/lib/summary/summarizerTypes.d.ts +17 -29
  308. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  309. package/lib/summary/summarizerTypes.js.map +1 -1
  310. package/lib/summary/summaryCollection.d.ts +2 -1
  311. package/lib/summary/summaryCollection.d.ts.map +1 -1
  312. package/lib/summary/summaryCollection.js +3 -3
  313. package/lib/summary/summaryCollection.js.map +1 -1
  314. package/lib/summary/summaryFormat.d.ts +3 -3
  315. package/lib/summary/summaryFormat.d.ts.map +1 -1
  316. package/lib/summary/summaryFormat.js +2 -2
  317. package/lib/summary/summaryFormat.js.map +1 -1
  318. package/lib/summary/summaryGenerator.d.ts +7 -8
  319. package/lib/summary/summaryGenerator.d.ts.map +1 -1
  320. package/lib/summary/summaryGenerator.js +25 -21
  321. package/lib/summary/summaryGenerator.js.map +1 -1
  322. package/lib/summary/summaryManager.js.map +1 -1
  323. package/lib/throttler.js.map +1 -1
  324. package/lib/tsdoc-metadata.json +1 -1
  325. package/package.json +72 -24
  326. package/src/batchTracker.ts +1 -1
  327. package/src/blobManager.ts +7 -7
  328. package/src/channelCollection.ts +8 -9
  329. package/src/connectionTelemetry.ts +14 -6
  330. package/src/containerHandleContext.ts +2 -1
  331. package/src/containerRuntime.ts +88 -141
  332. package/src/dataStore.ts +2 -1
  333. package/src/dataStoreContext.ts +16 -17
  334. package/src/deltaManagerProxies.ts +7 -5
  335. package/src/deltaScheduler.ts +2 -1
  336. package/src/gc/garbageCollection.md +0 -8
  337. package/src/gc/garbageCollection.ts +20 -25
  338. package/src/gc/gcConfigs.ts +8 -34
  339. package/src/gc/gcDefinitions.ts +4 -31
  340. package/src/gc/gcHelpers.ts +2 -2
  341. package/src/gc/gcSummaryDefinitions.ts +1 -1
  342. package/src/gc/gcSummaryStateTracker.ts +7 -73
  343. package/src/gc/gcTelemetry.ts +2 -2
  344. package/src/gc/index.ts +0 -1
  345. package/src/index.ts +1 -1
  346. package/src/messageTypes.ts +1 -1
  347. package/src/opLifecycle/README.md +120 -160
  348. package/src/opLifecycle/definitions.ts +2 -2
  349. package/src/opLifecycle/opCompressor.ts +13 -2
  350. package/src/opLifecycle/opDecompressor.ts +1 -1
  351. package/src/opLifecycle/opGroupingManager.ts +11 -4
  352. package/src/opLifecycle/opSplitter.ts +13 -8
  353. package/src/opLifecycle/outbox.ts +12 -27
  354. package/src/opLifecycle/remoteMessageProcessor.ts +2 -1
  355. package/src/opProperties.ts +2 -4
  356. package/src/packageVersion.ts +1 -1
  357. package/src/pendingStateManager.ts +1 -1
  358. package/src/scheduleManager.ts +2 -1
  359. package/src/summary/index.ts +1 -1
  360. package/src/summary/orderedClientElection.ts +83 -12
  361. package/src/summary/runningSummarizer.ts +31 -115
  362. package/src/summary/summarizer.ts +5 -2
  363. package/src/summary/summarizerClientElection.ts +2 -1
  364. package/src/summary/summarizerNode/summarizerNode.ts +19 -31
  365. package/src/summary/summarizerNode/summarizerNodeUtils.ts +2 -1
  366. package/src/summary/summarizerNode/summarizerNodeWithGc.ts +4 -8
  367. package/src/summary/summarizerTypes.ts +22 -33
  368. package/src/summary/summaryCollection.ts +2 -2
  369. package/src/summary/summaryFormat.ts +9 -7
  370. package/src/summary/summaryGenerator.ts +51 -29
@@ -9,6 +9,7 @@ import {
9
9
  IAudience,
10
10
  ISelf,
11
11
  ICriticalContainerError,
12
+ type IAudienceEvents,
12
13
  } from "@fluidframework/container-definitions";
13
14
  import {
14
15
  IBatchMessage,
@@ -17,7 +18,6 @@ import {
17
18
  ILoader,
18
19
  IRuntime,
19
20
  LoaderHeader,
20
- type IAudienceEvents,
21
21
  IDeltaManager,
22
22
  } from "@fluidframework/container-definitions/internal";
23
23
  import {
@@ -27,12 +27,14 @@ import {
27
27
  import {
28
28
  FluidObject,
29
29
  IFluidHandle,
30
- IFluidHandleContext,
31
- type IFluidHandleInternal,
32
- IProvideFluidHandleContext,
33
30
  IRequest,
34
31
  IResponse,
35
32
  ITelemetryBaseLogger,
33
+ } from "@fluidframework/core-interfaces";
34
+ import {
35
+ IFluidHandleContext,
36
+ type IFluidHandleInternal,
37
+ IProvideFluidHandleContext,
36
38
  } from "@fluidframework/core-interfaces/internal";
37
39
  import { ISignalEnvelope } from "@fluidframework/core-interfaces/internal";
38
40
  import {
@@ -42,11 +44,23 @@ import {
42
44
  PromiseCache,
43
45
  delay,
44
46
  } from "@fluidframework/core-utils/internal";
47
+ import {
48
+ IClientDetails,
49
+ IQuorumClients,
50
+ ISequencedDocumentMessage,
51
+ ISignalMessage,
52
+ ISummaryTree,
53
+ SummaryType,
54
+ } from "@fluidframework/driver-definitions";
45
55
  import {
46
56
  DriverHeader,
47
57
  FetchSource,
48
58
  IDocumentStorageService,
49
59
  type ISnapshot,
60
+ IDocumentMessage,
61
+ ISnapshotTree,
62
+ ISummaryContent,
63
+ MessageType,
50
64
  } from "@fluidframework/driver-definitions/internal";
51
65
  import { readAndParse } from "@fluidframework/driver-utils/internal";
52
66
  import type { IIdCompressor } from "@fluidframework/id-compressor";
@@ -57,24 +71,9 @@ import type {
57
71
  SerializedIdCompressorWithOngoingSession,
58
72
  } from "@fluidframework/id-compressor/internal";
59
73
  import {
60
- IClientDetails,
61
- IDocumentMessage,
62
- IQuorumClients,
63
- ISequencedDocumentMessage,
64
- ISignalMessage,
65
- ISnapshotTree,
66
- ISummaryContent,
67
- ISummaryTree,
68
- MessageType,
69
- SummaryType,
70
- } from "@fluidframework/protocol-definitions";
71
- import {
72
- IGarbageCollectionData,
73
- IInboundSignalMessage,
74
74
  ISummaryTreeWithStats,
75
75
  ITelemetryContext,
76
- } from "@fluidframework/runtime-definitions";
77
- import {
76
+ IGarbageCollectionData,
78
77
  CreateChildSummarizerNodeParam,
79
78
  FlushMode,
80
79
  FlushModeExperimental,
@@ -88,6 +87,7 @@ import {
88
87
  SummarizeInternalFn,
89
88
  channelsTreeName,
90
89
  gcTreeKey,
90
+ IInboundSignalMessage,
91
91
  } from "@fluidframework/runtime-definitions/internal";
92
92
  import {
93
93
  GCDataBuilder,
@@ -1188,6 +1188,8 @@ export class ContainerRuntime
1188
1188
 
1189
1189
  private readonly summarizerNode: IRootSummarizerNodeWithGC;
1190
1190
 
1191
+ private readonly logger: ITelemetryLoggerExt;
1192
+
1191
1193
  private readonly maxConsecutiveReconnects: number;
1192
1194
  private readonly defaultMaxConsecutiveReconnects = 7;
1193
1195
 
@@ -1348,7 +1350,8 @@ export class ContainerRuntime
1348
1350
  dataStoreAliasMap: [string, string][],
1349
1351
  private readonly runtimeOptions: Readonly<Required<IContainerRuntimeOptions>>,
1350
1352
  private readonly containerScope: FluidObject,
1351
- public readonly logger: ITelemetryLoggerExt,
1353
+ // Create a custom ITelemetryBaseLogger to output telemetry events.
1354
+ public readonly baseLogger: ITelemetryBaseLogger,
1352
1355
  existing: boolean,
1353
1356
  blobManagerSnapshot: IBlobManagerLoadInfo,
1354
1357
  private readonly _storage: IDocumentStorageService,
@@ -1389,6 +1392,7 @@ export class ContainerRuntime
1389
1392
  snapshotWithContents,
1390
1393
  } = context;
1391
1394
 
1395
+ this.logger = createChildLogger({ logger: this.baseLogger });
1392
1396
  this.mc = createChildMonitoringContext({
1393
1397
  logger: this.logger,
1394
1398
  namespace: "ContainerRuntime",
@@ -1787,6 +1791,9 @@ export class ContainerRuntime
1787
1791
  orderedClientCollection,
1788
1792
  electedSummarizerData ?? this.innerDeltaManager.lastSequenceNumber,
1789
1793
  SummarizerClientElection.isClientEligible,
1794
+ this.mc.config.getBoolean(
1795
+ "Fluid.ContainerRuntime.OrderedClientElection.EnablePerformanceEvents",
1796
+ ),
1790
1797
  );
1791
1798
 
1792
1799
  this.summarizerClientElection = new SummarizerClientElection(
@@ -1859,7 +1866,7 @@ export class ContainerRuntime
1859
1866
  }
1860
1867
 
1861
1868
  // logging hardware telemetry
1862
- logger.sendTelemetryEvent({
1869
+ this.logger.sendTelemetryEvent({
1863
1870
  eventName: "DeviceSpec",
1864
1871
  ...getDeviceSpec(),
1865
1872
  });
@@ -2220,7 +2227,7 @@ export class ContainerRuntime
2220
2227
  );
2221
2228
 
2222
2229
  // Is document schema explicit control on?
2223
- const explitiSchemaControl = documentSchema?.runtime.explicitSchemaControl;
2230
+ const explicitSchemaControl = documentSchema?.runtime.explicitSchemaControl;
2224
2231
 
2225
2232
  const metadata: IContainerRuntimeMetadata = {
2226
2233
  ...this.createContainerMetadata,
@@ -2234,10 +2241,10 @@ export class ContainerRuntime
2234
2241
  // runtimes (that preceed document schema control capabilities) to close container on load due to mismatch in
2235
2242
  // last message's sequence number.
2236
2243
  // See also lastMessageFromMetadata()
2237
- message: explitiSchemaControl
2244
+ message: explicitSchemaControl
2238
2245
  ? ({ sequenceNumber: -1 } as any as ISummaryMetadataMessage)
2239
2246
  : message,
2240
- lastMessage: explitiSchemaControl ? message : undefined,
2247
+ lastMessage: explicitSchemaControl ? message : undefined,
2241
2248
  documentSchema,
2242
2249
  };
2243
2250
 
@@ -3435,7 +3442,6 @@ export class ContainerRuntime
3435
3442
  const {
3436
3443
  fullTree = false,
3437
3444
  finalAttempt = false,
3438
- refreshLatestAck,
3439
3445
  summaryLogger,
3440
3446
  latestSummaryRefSeqNum,
3441
3447
  } = options;
@@ -3455,16 +3461,6 @@ export class ContainerRuntime
3455
3461
 
3456
3462
  assert(this.outbox.isEmpty, 0x3d1 /* Can't trigger summary in the middle of a batch */);
3457
3463
 
3458
- // We close the summarizer and download a new snapshot and reload the container
3459
- if (refreshLatestAck === true) {
3460
- return this.prefetchLatestSummaryThenClose(
3461
- createChildLogger({
3462
- logger: summaryNumberLogger,
3463
- properties: { all: { safeSummary: true } },
3464
- }),
3465
- );
3466
- }
3467
-
3468
3464
  // If the container is dirty, i.e., there are pending unacked ops, the summary will not be eventual consistent
3469
3465
  // and it may even be incorrect. So, wait for the container to be saved with a timeout. If the container is not
3470
3466
  // saved within the timeout, check if it should be failed or can continue.
@@ -3560,7 +3556,7 @@ export class ContainerRuntime
3560
3556
  stage: "base",
3561
3557
  referenceSequenceNumber: summaryRefSeqNum,
3562
3558
  minimumSequenceNumber,
3563
- error: new LoggingError(
3559
+ error: new RetriableSummaryError(
3564
3560
  `Summarizer node state inconsistent with summarizer state.`,
3565
3561
  ),
3566
3562
  };
@@ -3612,18 +3608,15 @@ export class ContainerRuntime
3612
3608
  stage: "base",
3613
3609
  referenceSequenceNumber: summaryRefSeqNum,
3614
3610
  minimumSequenceNumber,
3615
- error: new LoggingError(continueResult.error),
3611
+ error: new RetriableSummaryError(continueResult.error),
3616
3612
  };
3617
3613
  }
3618
3614
 
3619
3615
  const trace = Trace.start();
3620
3616
  let summarizeResult: ISummaryTreeWithStats;
3621
- // If the GC state needs to be reset, we need to force a full tree summary and update the unreferenced
3622
- // state of all the nodes.
3623
- const forcedFullTree = this.garbageCollector.summaryStateNeedsReset;
3624
3617
  try {
3625
3618
  summarizeResult = await this.summarize({
3626
- fullTree: fullTree || forcedFullTree,
3619
+ fullTree,
3627
3620
  trackState: true,
3628
3621
  summaryLogger: summaryNumberLogger,
3629
3622
  runGC: this.garbageCollector.shouldRunGC,
@@ -3633,7 +3626,7 @@ export class ContainerRuntime
3633
3626
  stage: "base",
3634
3627
  referenceSequenceNumber: summaryRefSeqNum,
3635
3628
  minimumSequenceNumber,
3636
- error: wrapError(error, (msg) => new LoggingError(msg)),
3629
+ error: wrapError(error, (msg) => new RetriableSummaryError(msg)),
3637
3630
  };
3638
3631
  }
3639
3632
 
@@ -3700,7 +3693,6 @@ export class ContainerRuntime
3700
3693
  summaryTree,
3701
3694
  summaryStats,
3702
3695
  generateDuration: trace.trace().duration,
3703
- forcedFullTree,
3704
3696
  } as const;
3705
3697
 
3706
3698
  continueResult = checkContinue();
@@ -3708,7 +3700,7 @@ export class ContainerRuntime
3708
3700
  return {
3709
3701
  stage: "generate",
3710
3702
  ...generateSummaryData,
3711
- error: new LoggingError(continueResult.error),
3703
+ error: new RetriableSummaryError(continueResult.error),
3712
3704
  };
3713
3705
  }
3714
3706
 
@@ -3735,7 +3727,7 @@ export class ContainerRuntime
3735
3727
  return {
3736
3728
  stage: "generate",
3737
3729
  ...generateSummaryData,
3738
- error: wrapError(error, (msg) => new LoggingError(msg)),
3730
+ error: wrapError(error, (msg) => new RetriableSummaryError(msg)),
3739
3731
  };
3740
3732
  }
3741
3733
 
@@ -3758,7 +3750,7 @@ export class ContainerRuntime
3758
3750
  return {
3759
3751
  stage: "upload",
3760
3752
  ...uploadData,
3761
- error: new LoggingError(continueResult.error),
3753
+ error: new RetriableSummaryError(continueResult.error),
3762
3754
  };
3763
3755
  }
3764
3756
 
@@ -3769,7 +3761,7 @@ export class ContainerRuntime
3769
3761
  return {
3770
3762
  stage: "upload",
3771
3763
  ...uploadData,
3772
- error: wrapError(error, (msg) => new LoggingError(msg)),
3764
+ error: wrapError(error, (msg) => new RetriableSummaryError(msg)),
3773
3765
  };
3774
3766
  }
3775
3767
 
@@ -3786,7 +3778,7 @@ export class ContainerRuntime
3786
3778
  return {
3787
3779
  stage: "upload",
3788
3780
  ...uploadData,
3789
- error: wrapError(error, (msg) => new LoggingError(msg)),
3781
+ error: wrapError(error, (msg) => new RetriableSummaryError(msg)),
3790
3782
  };
3791
3783
  }
3792
3784
  return submitData;
@@ -3919,13 +3911,13 @@ export class ContainerRuntime
3919
3911
  return this.blobManager.createBlob(blob, signal);
3920
3912
  }
3921
3913
 
3922
- private submitIdAllocationOpIfNeeded(resubmitOutstandingRanges = false): void {
3914
+ private submitIdAllocationOpIfNeeded(resubmitOutstandingRanges: boolean): void {
3923
3915
  if (this._idCompressor) {
3924
3916
  const idRange = resubmitOutstandingRanges
3925
- ? this.idCompressor?.takeUnfinalizedCreationRange()
3917
+ ? this._idCompressor.takeUnfinalizedCreationRange()
3926
3918
  : this._idCompressor.takeNextCreationRange();
3927
3919
  // Don't include the idRange if there weren't any Ids allocated
3928
- if (idRange?.ids !== undefined) {
3920
+ if (idRange.ids !== undefined) {
3929
3921
  const idAllocationMessage: ContainerRuntimeIdAllocationMessage = {
3930
3922
  type: ContainerMessageType.IdAllocation,
3931
3923
  contents: idRange,
@@ -3970,6 +3962,10 @@ export class ContainerRuntime
3970
3962
  }
3971
3963
 
3972
3964
  const type = containerRuntimeMessage.type;
3965
+ assert(
3966
+ type !== ContainerMessageType.IdAllocation,
3967
+ "IdAllocation should be submitted directly to outbox.",
3968
+ );
3973
3969
  const message: BatchMessage = {
3974
3970
  contents: serializedContent,
3975
3971
  metadata,
@@ -3978,44 +3974,36 @@ export class ContainerRuntime
3978
3974
  };
3979
3975
 
3980
3976
  try {
3981
- // If `message` is an allocation op, then we are in the resubmit path and we must redirect the allocation
3982
- // op into the correct batch to avoid ranges being finalized out of order.
3983
- // Otherwise, submit an IdAllocation op if any IDs have been generated since the last op was submitted, as
3984
- // any of the other op types may contain those IDs and thus depend on the allocation op being sent first.
3985
- if (type === ContainerMessageType.IdAllocation) {
3986
- this.outbox.submitIdAllocation(message);
3987
- } else {
3988
- this.submitIdAllocationOpIfNeeded();
3989
-
3990
- // Allow document schema controller to send a message if it needs to propose change in document schema.
3991
- // If it needs to send a message, it will call provided callback with payload of such message and rely
3992
- // on this callback to do actual sending.
3993
- const contents = this.documentsSchemaController.maybeSendSchemaMessage();
3994
- if (contents) {
3995
- this.logger.sendTelemetryEvent({
3996
- eventName: "SchemaChangeProposal",
3997
- refSeq: contents.refSeq,
3998
- version: contents.version,
3999
- newRuntimeSchema: JSON.stringify(contents.runtime),
4000
- sessionRuntimeSchema: JSON.stringify(this.sessionSchema),
4001
- oldRuntimeSchema: JSON.stringify(this.metadata?.documentSchema?.runtime),
4002
- });
4003
- const msg: ContainerRuntimeDocumentSchemaMessage = {
4004
- type: ContainerMessageType.DocumentSchemaChange,
4005
- contents,
4006
- };
4007
- this.outbox.submit({
4008
- contents: JSON.stringify(msg),
4009
- referenceSequenceNumber: this.deltaManager.lastSequenceNumber,
4010
- });
4011
- }
3977
+ this.submitIdAllocationOpIfNeeded(false);
3978
+
3979
+ // Allow document schema controller to send a message if it needs to propose change in document schema.
3980
+ // If it needs to send a message, it will call provided callback with payload of such message and rely
3981
+ // on this callback to do actual sending.
3982
+ const contents = this.documentsSchemaController.maybeSendSchemaMessage();
3983
+ if (contents) {
3984
+ this.logger.sendTelemetryEvent({
3985
+ eventName: "SchemaChangeProposal",
3986
+ refSeq: contents.refSeq,
3987
+ version: contents.version,
3988
+ newRuntimeSchema: JSON.stringify(contents.runtime),
3989
+ sessionRuntimeSchema: JSON.stringify(this.sessionSchema),
3990
+ oldRuntimeSchema: JSON.stringify(this.metadata?.documentSchema?.runtime),
3991
+ });
3992
+ const msg: ContainerRuntimeDocumentSchemaMessage = {
3993
+ type: ContainerMessageType.DocumentSchemaChange,
3994
+ contents,
3995
+ };
3996
+ this.outbox.submit({
3997
+ contents: JSON.stringify(msg),
3998
+ referenceSequenceNumber: this.deltaManager.lastSequenceNumber,
3999
+ });
4000
+ }
4012
4001
 
4013
- if (type === ContainerMessageType.BlobAttach) {
4014
- // BlobAttach ops must have their metadata visible and cannot be grouped (see opGroupingManager.ts)
4015
- this.outbox.submitBlobAttach(message);
4016
- } else {
4017
- this.outbox.submit(message);
4018
- }
4002
+ if (type === ContainerMessageType.BlobAttach) {
4003
+ // BlobAttach ops must have their metadata visible and cannot be grouped (see opGroupingManager.ts)
4004
+ this.outbox.submitBlobAttach(message);
4005
+ } else {
4006
+ this.outbox.submit(message);
4019
4007
  }
4020
4008
 
4021
4009
  if (!this.currentlyBatching()) {
@@ -4224,7 +4212,7 @@ export class ContainerRuntime
4224
4212
  * and then close as the current main client is likely to be re-elected as the parent summarizer again.
4225
4213
  */
4226
4214
  if (!result.isSummaryTracked && result.isSummaryNewer) {
4227
- await this.fetchLatestSnapshotFromStorage(
4215
+ await this.fetchLatestSnapshotAndClose(
4228
4216
  summaryLogger,
4229
4217
  {
4230
4218
  eventName: "RefreshLatestSummaryAckFetch",
@@ -4233,8 +4221,6 @@ export class ContainerRuntime
4233
4221
  },
4234
4222
  readAndParseBlob,
4235
4223
  );
4236
-
4237
- await this.closeStaleSummarizer();
4238
4224
  return;
4239
4225
  }
4240
4226
 
@@ -4243,54 +4229,16 @@ export class ContainerRuntime
4243
4229
  }
4244
4230
 
4245
4231
  /**
4246
- * Fetches the latest snapshot from storage to refresh the cache as a performance optimization and closes the
4247
- * summarizer to reload from new state.
4248
- * @param summaryLogger - logger to use when fetching snapshot from storage
4249
- * @returns a generic summarization error
4232
+ * Fetches the latest snapshot from storage and closes the container. This is done in cases where
4233
+ * the last known snapshot is older than the latest one. This will ensure that the latest snapshot
4234
+ * is downloaded and we don't end up loading snapshot from cache.
4250
4235
  */
4251
- private async prefetchLatestSummaryThenClose(
4252
- summaryLogger: ITelemetryLoggerExt,
4253
- ): Promise<IBaseSummarizeResult> {
4254
- const readAndParseBlob = async <T>(id: string) => readAndParse<T>(this.storage, id);
4255
-
4256
- // This is a performance optimization as the same parent is likely to be elected again, and would use its
4257
- // cache to fetch the snapshot instead of the network.
4258
- await this.fetchLatestSnapshotFromStorage(
4259
- summaryLogger,
4260
- {
4261
- eventName: "RefreshLatestSummaryFromServerFetch",
4262
- },
4263
- readAndParseBlob,
4264
- );
4265
-
4266
- await this.closeStaleSummarizer();
4267
-
4268
- return {
4269
- stage: "base",
4270
- error: new LoggingError("summary state stale - Unsupported option 'refreshLatestAck'"),
4271
- referenceSequenceNumber: this.deltaManager.lastSequenceNumber,
4272
- minimumSequenceNumber: this.deltaManager.minimumSequenceNumber,
4273
- };
4274
- }
4275
-
4276
- private async closeStaleSummarizer(): Promise<void> {
4277
- // Delay before restarting summarizer to prevent the summarizer from restarting too frequently.
4278
- await delay(this.closeSummarizerDelayMs);
4279
- this._summarizer?.stop("latestSummaryStateStale");
4280
- this.disposeFn();
4281
- }
4282
-
4283
- /**
4284
- * Downloads the latest snapshot from storage.
4285
- * By default, it also closes the container after downloading the snapshot. However, this may be
4286
- * overridden via options.
4287
- */
4288
- private async fetchLatestSnapshotFromStorage(
4236
+ private async fetchLatestSnapshotAndClose(
4289
4237
  logger: ITelemetryLoggerExt,
4290
4238
  event: ITelemetryGenericEventExt,
4291
4239
  readAndParseBlob: ReadAndParseBlob,
4292
- ): Promise<{ snapshotTree: ISnapshotTree; versionId: string; latestSnapshotRefSeq: number }> {
4293
- return PerformanceEvent.timedExecAsync(
4240
+ ) {
4241
+ await PerformanceEvent.timedExecAsync(
4294
4242
  logger,
4295
4243
  event,
4296
4244
  async (perfEvent: {
@@ -4329,13 +4277,12 @@ export class ContainerRuntime
4329
4277
  stats.snapshotVersion = versions[0].id;
4330
4278
 
4331
4279
  perfEvent.end(stats);
4332
- return {
4333
- snapshotTree: maybeSnapshot,
4334
- versionId: versions[0].id,
4335
- latestSnapshotRefSeq,
4336
- };
4337
4280
  },
4338
4281
  );
4282
+
4283
+ await delay(this.closeSummarizerDelayMs);
4284
+ this._summarizer?.stop("latestSummaryStateStale");
4285
+ this.disposeFn();
4339
4286
  }
4340
4287
 
4341
4288
  public getPendingLocalState(props?: IGetPendingLocalStateProps): unknown {
package/src/dataStore.ts CHANGED
@@ -4,7 +4,8 @@
4
4
  */
5
5
 
6
6
  import { AttachState } from "@fluidframework/container-definitions";
7
- import { FluidObject, type IFluidHandleInternal } from "@fluidframework/core-interfaces/internal";
7
+ import { FluidObject } from "@fluidframework/core-interfaces";
8
+ import { type IFluidHandleInternal } from "@fluidframework/core-interfaces/internal";
8
9
  import { assert, unreachableCase } from "@fluidframework/core-utils/internal";
9
10
  import {
10
11
  AliasResult,
@@ -12,12 +12,21 @@ import {
12
12
  IRequest,
13
13
  IResponse,
14
14
  ITelemetryBaseProperties,
15
+ type IEvent,
15
16
  } from "@fluidframework/core-interfaces";
16
- import { type IEvent, type IFluidHandleInternal } from "@fluidframework/core-interfaces/internal";
17
+ import { type IFluidHandleInternal } from "@fluidframework/core-interfaces/internal";
17
18
  import { assert, LazyPromise, unreachableCase } from "@fluidframework/core-utils/internal";
19
+ import {
20
+ IClientDetails,
21
+ IQuorumClients,
22
+ ISequencedDocumentMessage,
23
+ } from "@fluidframework/driver-definitions";
18
24
  import {
19
25
  IDocumentStorageService,
20
26
  type ISnapshot,
27
+ IDocumentMessage,
28
+ ISnapshotTree,
29
+ ITreeEntry,
21
30
  } from "@fluidframework/driver-definitions/internal";
22
31
  import {
23
32
  BlobTreeEntry,
@@ -26,20 +35,9 @@ import {
26
35
  } from "@fluidframework/driver-utils/internal";
27
36
  import type { IIdCompressor } from "@fluidframework/id-compressor";
28
37
  import {
29
- IClientDetails,
30
- IDocumentMessage,
31
- IQuorumClients,
32
- ISequencedDocumentMessage,
33
- ISnapshotTree,
34
- ITreeEntry,
35
- } from "@fluidframework/protocol-definitions";
36
- import {
37
- IGarbageCollectionData,
38
- IInboundSignalMessage,
39
38
  ISummaryTreeWithStats,
40
39
  ITelemetryContext,
41
- } from "@fluidframework/runtime-definitions";
42
- import {
40
+ IGarbageCollectionData,
43
41
  CreateChildSummarizerNodeFn,
44
42
  CreateChildSummarizerNodeParam,
45
43
  FluidDataStoreRegistryEntry,
@@ -58,6 +56,7 @@ import {
58
56
  SummarizeInternalFn,
59
57
  channelsTreeName,
60
58
  gcDataBlobKey,
59
+ IInboundSignalMessage,
61
60
  } from "@fluidframework/runtime-definitions/internal";
62
61
  import {
63
62
  addBlobToSummary,
@@ -211,8 +210,8 @@ export abstract class FluidDataStoreContext
211
210
  return this.parentContext.clientDetails;
212
211
  }
213
212
 
214
- public get logger() {
215
- return this.parentContext.logger;
213
+ public get baseLogger() {
214
+ return this.parentContext.baseLogger;
216
215
  }
217
216
 
218
217
  public get deltaManager(): IDeltaManager<ISequencedDocumentMessage, IDocumentMessage> {
@@ -293,7 +292,7 @@ export abstract class FluidDataStoreContext
293
292
  // We know that if the base snapshot is omitted, then the isRootDataStore flag is not set.
294
293
  // That means we can skip the expensive call to getInitialSnapshotDetails for virtualized datastores,
295
294
  // and get the information from the alias map directly.
296
- if (aliasedDataStores !== undefined && this.baseSnapshot?.omitted === true) {
295
+ if (aliasedDataStores !== undefined && (this.baseSnapshot as any)?.omitted === true) {
297
296
  return aliasedDataStores.has(this.id);
298
297
  }
299
298
 
@@ -383,7 +382,7 @@ export abstract class FluidDataStoreContext
383
382
  );
384
383
 
385
384
  this.mc = createChildMonitoringContext({
386
- logger: this.logger,
385
+ logger: this.baseLogger,
387
386
  namespace: "FluidDataStoreContext",
388
387
  properties: {
389
388
  all: tagCodeArtifacts({
@@ -13,17 +13,19 @@ import type {
13
13
  ReadOnlyInfo,
14
14
  } from "@fluidframework/container-definitions/internal";
15
15
  import type { IErrorBase } from "@fluidframework/core-interfaces";
16
- import type { IAnyDriverError } from "@fluidframework/driver-definitions/internal";
17
16
  import {
18
- IClientConfiguration,
19
17
  IClientDetails,
20
- IDocumentMessage,
21
18
  ISequencedDocumentMessage,
22
19
  ISignalMessage,
23
- } from "@fluidframework/protocol-definitions";
20
+ } from "@fluidframework/driver-definitions";
21
+ import type { IAnyDriverError } from "@fluidframework/driver-definitions/internal";
22
+ import {
23
+ IClientConfiguration,
24
+ IDocumentMessage,
25
+ } from "@fluidframework/driver-definitions/internal";
24
26
 
25
- import { summarizerClientType } from "./summary/index.js";
26
27
  import type { PendingStateManager } from "./pendingStateManager.js";
28
+ import { summarizerClientType } from "./summary/index.js";
27
29
 
28
30
  /**
29
31
  * Base class for DeltaManager proxy that proxy's access to the real DeltaManager.
@@ -5,7 +5,8 @@
5
5
 
6
6
  import { performance } from "@fluid-internal/client-utils";
7
7
  import { IDeltaManager } from "@fluidframework/container-definitions/internal";
8
- import { IDocumentMessage, ISequencedDocumentMessage } from "@fluidframework/protocol-definitions";
8
+ import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions";
9
+ import { IDocumentMessage } from "@fluidframework/driver-definitions/internal";
9
10
  import { ITelemetryLoggerExt, formatTick } from "@fluidframework/telemetry-utils/internal";
10
11
 
11
12
  /**
@@ -88,14 +88,6 @@ for apps to override settings easily, e.g. by backing their `IConfigProviderBase
88
88
  In cases where a behavior is controlled by both a Config Setting and GC Option, you may experiment at first using Config Settings
89
89
  and then later update the passed-in GC Options to finalize the configuration in your code.
90
90
 
91
- ### Disabling Mark Phase
92
-
93
- If you wish to disable Mark Phase for newly-created documents, set the `gcAllowed` GC Option to `false`.
94
- Note that this will disable GC permanently (including the sweep phase) for the container during its lifetime.
95
-
96
- Mark Phase can also be disabled just for the session, among other behaviors,
97
- covered in the [Advanced Configuration](./gcEarlyAdoption.md#more-advanced-configurations) docs.
98
-
99
91
  ### Enabling Sweep Phase
100
92
 
101
93
  To enable the Sweep Phase for new documents, you must set the `enableGCSweep` GC Option to true.