@fluidframework/container-runtime 2.0.0-dev-rc.5.0.0.268409 → 2.0.0-dev-rc.5.0.0.270401

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 (305) hide show
  1. package/api-report/container-runtime.alpha.api.md +3 -8
  2. package/api-report/container-runtime.beta.api.md +2 -2
  3. package/api-report/container-runtime.public.api.md +2 -2
  4. package/container-runtime.test-files.tar +0 -0
  5. package/dist/batchTracker.js +5 -1
  6. package/dist/batchTracker.js.map +1 -1
  7. package/dist/blobManager.d.ts +1 -18
  8. package/dist/blobManager.d.ts.map +1 -1
  9. package/dist/blobManager.js +39 -48
  10. package/dist/blobManager.js.map +1 -1
  11. package/dist/channelCollection.d.ts +2 -11
  12. package/dist/channelCollection.d.ts.map +1 -1
  13. package/dist/channelCollection.js +33 -48
  14. package/dist/channelCollection.js.map +1 -1
  15. package/dist/connectionTelemetry.d.ts +1 -2
  16. package/dist/connectionTelemetry.d.ts.map +1 -1
  17. package/dist/connectionTelemetry.js +32 -14
  18. package/dist/connectionTelemetry.js.map +1 -1
  19. package/dist/containerHandleContext.js +4 -0
  20. package/dist/containerHandleContext.js.map +1 -1
  21. package/dist/containerRuntime.d.ts +7 -18
  22. package/dist/containerRuntime.d.ts.map +1 -1
  23. package/dist/containerRuntime.js +145 -43
  24. package/dist/containerRuntime.js.map +1 -1
  25. package/dist/dataStore.js +9 -1
  26. package/dist/dataStore.js.map +1 -1
  27. package/dist/dataStoreContext.d.ts +2 -16
  28. package/dist/dataStoreContext.d.ts.map +1 -1
  29. package/dist/dataStoreContext.js +142 -120
  30. package/dist/dataStoreContext.js.map +1 -1
  31. package/dist/dataStoreContexts.js +29 -28
  32. package/dist/dataStoreContexts.js.map +1 -1
  33. package/dist/dataStoreRegistry.js +1 -0
  34. package/dist/dataStoreRegistry.js.map +1 -1
  35. package/dist/deltaManagerProxies.d.ts +4 -4
  36. package/dist/deltaManagerProxies.d.ts.map +1 -1
  37. package/dist/deltaManagerProxies.js +33 -28
  38. package/dist/deltaManagerProxies.js.map +1 -1
  39. package/dist/deltaScheduler.d.ts +1 -2
  40. package/dist/deltaScheduler.d.ts.map +1 -1
  41. package/dist/deltaScheduler.js +13 -9
  42. package/dist/deltaScheduler.js.map +1 -1
  43. package/dist/error.js +2 -1
  44. package/dist/error.js.map +1 -1
  45. package/dist/gc/garbageCollection.d.ts.map +1 -1
  46. package/dist/gc/garbageCollection.js +37 -17
  47. package/dist/gc/garbageCollection.js.map +1 -1
  48. package/dist/gc/gcDefinitions.d.ts +0 -4
  49. package/dist/gc/gcDefinitions.d.ts.map +1 -1
  50. package/dist/gc/gcDefinitions.js +1 -3
  51. package/dist/gc/gcDefinitions.js.map +1 -1
  52. package/dist/gc/gcSummaryStateTracker.js +19 -14
  53. package/dist/gc/gcSummaryStateTracker.js.map +1 -1
  54. package/dist/gc/gcTelemetry.js +12 -5
  55. package/dist/gc/gcTelemetry.js.map +1 -1
  56. package/dist/gc/gcUnreferencedStateTracker.js +12 -1
  57. package/dist/gc/gcUnreferencedStateTracker.js.map +1 -1
  58. package/dist/gc/index.d.ts +1 -1
  59. package/dist/gc/index.d.ts.map +1 -1
  60. package/dist/gc/index.js +1 -2
  61. package/dist/gc/index.js.map +1 -1
  62. package/dist/messageTypes.d.ts +1 -1
  63. package/dist/messageTypes.d.ts.map +1 -1
  64. package/dist/messageTypes.js.map +1 -1
  65. package/dist/opLifecycle/batchManager.js +5 -3
  66. package/dist/opLifecycle/batchManager.js.map +1 -1
  67. package/dist/opLifecycle/opCompressor.js +1 -0
  68. package/dist/opLifecycle/opCompressor.js.map +1 -1
  69. package/dist/opLifecycle/opDecompressor.d.ts +1 -1
  70. package/dist/opLifecycle/opDecompressor.d.ts.map +1 -1
  71. package/dist/opLifecycle/opDecompressor.js +6 -4
  72. package/dist/opLifecycle/opDecompressor.js.map +1 -1
  73. package/dist/opLifecycle/opGroupingManager.d.ts +1 -1
  74. package/dist/opLifecycle/opGroupingManager.d.ts.map +1 -1
  75. package/dist/opLifecycle/opGroupingManager.js +3 -1
  76. package/dist/opLifecycle/opGroupingManager.js.map +1 -1
  77. package/dist/opLifecycle/opSplitter.d.ts +1 -1
  78. package/dist/opLifecycle/opSplitter.d.ts.map +1 -1
  79. package/dist/opLifecycle/opSplitter.js +6 -0
  80. package/dist/opLifecycle/opSplitter.js.map +1 -1
  81. package/dist/opLifecycle/outbox.js +15 -10
  82. package/dist/opLifecycle/outbox.js.map +1 -1
  83. package/dist/opLifecycle/remoteMessageProcessor.d.ts +1 -1
  84. package/dist/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  85. package/dist/opLifecycle/remoteMessageProcessor.js +3 -0
  86. package/dist/opLifecycle/remoteMessageProcessor.js.map +1 -1
  87. package/dist/opProperties.d.ts +1 -1
  88. package/dist/opProperties.d.ts.map +1 -1
  89. package/dist/opProperties.js.map +1 -1
  90. package/dist/packageVersion.d.ts +1 -1
  91. package/dist/packageVersion.js +1 -1
  92. package/dist/packageVersion.js.map +1 -1
  93. package/dist/pendingStateManager.d.ts.map +1 -1
  94. package/dist/pendingStateManager.js +34 -18
  95. package/dist/pendingStateManager.js.map +1 -1
  96. package/dist/scheduleManager.d.ts +1 -2
  97. package/dist/scheduleManager.d.ts.map +1 -1
  98. package/dist/scheduleManager.js +15 -4
  99. package/dist/scheduleManager.js.map +1 -1
  100. package/dist/storageServiceWithAttachBlobs.js +1 -0
  101. package/dist/storageServiceWithAttachBlobs.js.map +1 -1
  102. package/dist/summary/documentSchema.js +17 -1
  103. package/dist/summary/documentSchema.js.map +1 -1
  104. package/dist/summary/orderedClientElection.js +19 -11
  105. package/dist/summary/orderedClientElection.js.map +1 -1
  106. package/dist/summary/runWhileConnectedCoordinator.js +4 -2
  107. package/dist/summary/runWhileConnectedCoordinator.js.map +1 -1
  108. package/dist/summary/runningSummarizer.d.ts +1 -1
  109. package/dist/summary/runningSummarizer.d.ts.map +1 -1
  110. package/dist/summary/runningSummarizer.js +56 -38
  111. package/dist/summary/runningSummarizer.js.map +1 -1
  112. package/dist/summary/summarizer.js +17 -8
  113. package/dist/summary/summarizer.js.map +1 -1
  114. package/dist/summary/summarizerClientElection.js +18 -7
  115. package/dist/summary/summarizerClientElection.js.map +1 -1
  116. package/dist/summary/summarizerHeuristics.js +30 -25
  117. package/dist/summary/summarizerHeuristics.js.map +1 -1
  118. package/dist/summary/summarizerNode/summarizerNode.d.ts +1 -2
  119. package/dist/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  120. package/dist/summary/summarizerNode/summarizerNode.js +12 -3
  121. package/dist/summary/summarizerNode/summarizerNode.js.map +1 -1
  122. package/dist/summary/summarizerNode/summarizerNodeUtils.js +2 -0
  123. package/dist/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  124. package/dist/summary/summarizerNode/summarizerNodeWithGc.js +20 -6
  125. package/dist/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  126. package/dist/summary/summarizerTypes.d.ts +2 -2
  127. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  128. package/dist/summary/summarizerTypes.js.map +1 -1
  129. package/dist/summary/summaryCollection.d.ts +1 -2
  130. package/dist/summary/summaryCollection.d.ts.map +1 -1
  131. package/dist/summary/summaryCollection.js +23 -11
  132. package/dist/summary/summaryCollection.js.map +1 -1
  133. package/dist/summary/summaryFormat.d.ts +1 -2
  134. package/dist/summary/summaryFormat.d.ts.map +1 -1
  135. package/dist/summary/summaryFormat.js.map +1 -1
  136. package/dist/summary/summaryGenerator.js +12 -5
  137. package/dist/summary/summaryGenerator.js.map +1 -1
  138. package/dist/summary/summaryManager.js +58 -48
  139. package/dist/summary/summaryManager.js.map +1 -1
  140. package/dist/throttler.js +4 -1
  141. package/dist/throttler.js.map +1 -1
  142. package/lib/batchTracker.js +5 -1
  143. package/lib/batchTracker.js.map +1 -1
  144. package/lib/blobManager.d.ts +1 -18
  145. package/lib/blobManager.d.ts.map +1 -1
  146. package/lib/blobManager.js +39 -48
  147. package/lib/blobManager.js.map +1 -1
  148. package/lib/channelCollection.d.ts +2 -11
  149. package/lib/channelCollection.d.ts.map +1 -1
  150. package/lib/channelCollection.js +34 -49
  151. package/lib/channelCollection.js.map +1 -1
  152. package/lib/connectionTelemetry.d.ts +1 -2
  153. package/lib/connectionTelemetry.d.ts.map +1 -1
  154. package/lib/connectionTelemetry.js +33 -15
  155. package/lib/connectionTelemetry.js.map +1 -1
  156. package/lib/containerHandleContext.js +4 -0
  157. package/lib/containerHandleContext.js.map +1 -1
  158. package/lib/containerRuntime.d.ts +7 -18
  159. package/lib/containerRuntime.d.ts.map +1 -1
  160. package/lib/containerRuntime.js +145 -43
  161. package/lib/containerRuntime.js.map +1 -1
  162. package/lib/dataStore.js +9 -1
  163. package/lib/dataStore.js.map +1 -1
  164. package/lib/dataStoreContext.d.ts +2 -16
  165. package/lib/dataStoreContext.d.ts.map +1 -1
  166. package/lib/dataStoreContext.js +144 -122
  167. package/lib/dataStoreContext.js.map +1 -1
  168. package/lib/dataStoreContexts.js +29 -28
  169. package/lib/dataStoreContexts.js.map +1 -1
  170. package/lib/dataStoreRegistry.js +1 -0
  171. package/lib/dataStoreRegistry.js.map +1 -1
  172. package/lib/deltaManagerProxies.d.ts +4 -4
  173. package/lib/deltaManagerProxies.d.ts.map +1 -1
  174. package/lib/deltaManagerProxies.js +33 -28
  175. package/lib/deltaManagerProxies.js.map +1 -1
  176. package/lib/deltaScheduler.d.ts +1 -2
  177. package/lib/deltaScheduler.d.ts.map +1 -1
  178. package/lib/deltaScheduler.js +13 -9
  179. package/lib/deltaScheduler.js.map +1 -1
  180. package/lib/error.js +2 -1
  181. package/lib/error.js.map +1 -1
  182. package/lib/gc/garbageCollection.d.ts.map +1 -1
  183. package/lib/gc/garbageCollection.js +37 -17
  184. package/lib/gc/garbageCollection.js.map +1 -1
  185. package/lib/gc/gcDefinitions.d.ts +0 -4
  186. package/lib/gc/gcDefinitions.d.ts.map +1 -1
  187. package/lib/gc/gcDefinitions.js +0 -2
  188. package/lib/gc/gcDefinitions.js.map +1 -1
  189. package/lib/gc/gcSummaryStateTracker.js +19 -14
  190. package/lib/gc/gcSummaryStateTracker.js.map +1 -1
  191. package/lib/gc/gcTelemetry.js +12 -5
  192. package/lib/gc/gcTelemetry.js.map +1 -1
  193. package/lib/gc/gcUnreferencedStateTracker.js +12 -1
  194. package/lib/gc/gcUnreferencedStateTracker.js.map +1 -1
  195. package/lib/gc/index.d.ts +1 -1
  196. package/lib/gc/index.d.ts.map +1 -1
  197. package/lib/gc/index.js +1 -1
  198. package/lib/gc/index.js.map +1 -1
  199. package/lib/messageTypes.d.ts +1 -1
  200. package/lib/messageTypes.d.ts.map +1 -1
  201. package/lib/messageTypes.js.map +1 -1
  202. package/lib/opLifecycle/batchManager.js +5 -3
  203. package/lib/opLifecycle/batchManager.js.map +1 -1
  204. package/lib/opLifecycle/opCompressor.js +1 -0
  205. package/lib/opLifecycle/opCompressor.js.map +1 -1
  206. package/lib/opLifecycle/opDecompressor.d.ts +1 -1
  207. package/lib/opLifecycle/opDecompressor.d.ts.map +1 -1
  208. package/lib/opLifecycle/opDecompressor.js +6 -4
  209. package/lib/opLifecycle/opDecompressor.js.map +1 -1
  210. package/lib/opLifecycle/opGroupingManager.d.ts +1 -1
  211. package/lib/opLifecycle/opGroupingManager.d.ts.map +1 -1
  212. package/lib/opLifecycle/opGroupingManager.js +3 -1
  213. package/lib/opLifecycle/opGroupingManager.js.map +1 -1
  214. package/lib/opLifecycle/opSplitter.d.ts +1 -1
  215. package/lib/opLifecycle/opSplitter.d.ts.map +1 -1
  216. package/lib/opLifecycle/opSplitter.js +6 -0
  217. package/lib/opLifecycle/opSplitter.js.map +1 -1
  218. package/lib/opLifecycle/outbox.js +15 -10
  219. package/lib/opLifecycle/outbox.js.map +1 -1
  220. package/lib/opLifecycle/remoteMessageProcessor.d.ts +1 -1
  221. package/lib/opLifecycle/remoteMessageProcessor.d.ts.map +1 -1
  222. package/lib/opLifecycle/remoteMessageProcessor.js +4 -1
  223. package/lib/opLifecycle/remoteMessageProcessor.js.map +1 -1
  224. package/lib/opProperties.d.ts +1 -1
  225. package/lib/opProperties.d.ts.map +1 -1
  226. package/lib/opProperties.js.map +1 -1
  227. package/lib/packageVersion.d.ts +1 -1
  228. package/lib/packageVersion.js +1 -1
  229. package/lib/packageVersion.js.map +1 -1
  230. package/lib/pendingStateManager.d.ts.map +1 -1
  231. package/lib/pendingStateManager.js +34 -18
  232. package/lib/pendingStateManager.js.map +1 -1
  233. package/lib/scheduleManager.d.ts +1 -2
  234. package/lib/scheduleManager.d.ts.map +1 -1
  235. package/lib/scheduleManager.js +15 -4
  236. package/lib/scheduleManager.js.map +1 -1
  237. package/lib/storageServiceWithAttachBlobs.js +1 -0
  238. package/lib/storageServiceWithAttachBlobs.js.map +1 -1
  239. package/lib/summary/documentSchema.js +17 -1
  240. package/lib/summary/documentSchema.js.map +1 -1
  241. package/lib/summary/orderedClientElection.js +19 -11
  242. package/lib/summary/orderedClientElection.js.map +1 -1
  243. package/lib/summary/runWhileConnectedCoordinator.js +4 -2
  244. package/lib/summary/runWhileConnectedCoordinator.js.map +1 -1
  245. package/lib/summary/runningSummarizer.d.ts +1 -1
  246. package/lib/summary/runningSummarizer.d.ts.map +1 -1
  247. package/lib/summary/runningSummarizer.js +57 -39
  248. package/lib/summary/runningSummarizer.js.map +1 -1
  249. package/lib/summary/summarizer.js +17 -8
  250. package/lib/summary/summarizer.js.map +1 -1
  251. package/lib/summary/summarizerClientElection.js +18 -7
  252. package/lib/summary/summarizerClientElection.js.map +1 -1
  253. package/lib/summary/summarizerHeuristics.js +30 -25
  254. package/lib/summary/summarizerHeuristics.js.map +1 -1
  255. package/lib/summary/summarizerNode/summarizerNode.d.ts +1 -2
  256. package/lib/summary/summarizerNode/summarizerNode.d.ts.map +1 -1
  257. package/lib/summary/summarizerNode/summarizerNode.js +12 -3
  258. package/lib/summary/summarizerNode/summarizerNode.js.map +1 -1
  259. package/lib/summary/summarizerNode/summarizerNodeUtils.js +2 -0
  260. package/lib/summary/summarizerNode/summarizerNodeUtils.js.map +1 -1
  261. package/lib/summary/summarizerNode/summarizerNodeWithGc.js +20 -6
  262. package/lib/summary/summarizerNode/summarizerNodeWithGc.js.map +1 -1
  263. package/lib/summary/summarizerTypes.d.ts +2 -2
  264. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  265. package/lib/summary/summarizerTypes.js.map +1 -1
  266. package/lib/summary/summaryCollection.d.ts +1 -2
  267. package/lib/summary/summaryCollection.d.ts.map +1 -1
  268. package/lib/summary/summaryCollection.js +23 -11
  269. package/lib/summary/summaryCollection.js.map +1 -1
  270. package/lib/summary/summaryFormat.d.ts +1 -2
  271. package/lib/summary/summaryFormat.d.ts.map +1 -1
  272. package/lib/summary/summaryFormat.js.map +1 -1
  273. package/lib/summary/summaryGenerator.js +12 -5
  274. package/lib/summary/summaryGenerator.js.map +1 -1
  275. package/lib/summary/summaryManager.js +58 -48
  276. package/lib/summary/summaryManager.js.map +1 -1
  277. package/lib/throttler.js +4 -1
  278. package/lib/throttler.js.map +1 -1
  279. package/package.json +17 -17
  280. package/src/batchTracker.ts +1 -1
  281. package/src/blobManager.ts +1 -39
  282. package/src/channelCollection.ts +19 -72
  283. package/src/connectionTelemetry.ts +5 -2
  284. package/src/containerRuntime.ts +9 -32
  285. package/src/dataStoreContext.ts +4 -38
  286. package/src/deltaManagerProxies.ts +3 -5
  287. package/src/deltaScheduler.ts +4 -2
  288. package/src/gc/garbageCollection.ts +0 -2
  289. package/src/gc/gcDefinitions.ts +0 -4
  290. package/src/gc/index.ts +0 -1
  291. package/src/messageTypes.ts +1 -1
  292. package/src/opLifecycle/opDecompressor.ts +1 -1
  293. package/src/opLifecycle/opGroupingManager.ts +1 -1
  294. package/src/opLifecycle/opSplitter.ts +1 -1
  295. package/src/opLifecycle/remoteMessageProcessor.ts +4 -2
  296. package/src/opProperties.ts +4 -2
  297. package/src/packageVersion.ts +1 -1
  298. package/src/pendingStateManager.ts +16 -5
  299. package/src/scheduleManager.ts +4 -2
  300. package/src/summary/runningSummarizer.ts +5 -2
  301. package/src/summary/summarizerNode/summarizerNode.ts +5 -2
  302. package/src/summary/summarizerTypes.ts +5 -2
  303. package/src/summary/summaryCollection.ts +1 -1
  304. package/src/summary/summaryFormat.ts +2 -1
  305. package/tsconfig.json +2 -0
@@ -5,9 +5,8 @@
5
5
  import { AttachState } from "@fluidframework/container-definitions";
6
6
  import { FluidObject, IDisposable, IRequest, IResponse, ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
7
7
  import type { IFluidHandleInternal } from "@fluidframework/core-interfaces/internal";
8
- import { ISequencedDocumentMessage } from "@fluidframework/driver-definitions";
9
8
  import type { ISnapshot } from "@fluidframework/driver-definitions/internal";
10
- import { ISnapshotTree } from "@fluidframework/driver-definitions/internal";
9
+ import { ISnapshotTree, ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
11
10
  import { ISummaryTreeWithStats, ITelemetryContext, IGarbageCollectionData, AliasResult, IEnvelope, IFluidDataStoreChannel, IFluidDataStoreContext, IFluidDataStoreContextDetached, IFluidDataStoreFactory, IFluidDataStoreRegistry, IFluidParentContext, NamedFluidDataStoreRegistryEntries, IInboundSignalMessage } from "@fluidframework/runtime-definitions/internal";
12
11
  import { MonitoringContext } from "@fluidframework/telemetry-utils/internal";
13
12
  import { RuntimeHeaderData } from "./containerRuntime.js";
@@ -67,8 +66,6 @@ export declare class ChannelCollection implements IFluidDataStoreChannel, IDispo
67
66
  readonly containerLoadDataStoreCount: number;
68
67
  readonly referencedDataStoreCount: number;
69
68
  };
70
- private dataStoresSinceLastGC;
71
- private readonly containerRuntimeHandle;
72
69
  private readonly pendingAliasMap;
73
70
  protected readonly contexts: DataStoreContexts;
74
71
  private readonly aliasedDataStores;
@@ -126,7 +123,7 @@ export declare class ChannelCollection implements IFluidDataStoreChannel, IDispo
126
123
  applyStashedOp(content: unknown): Promise<unknown>;
127
124
  protected applyStashedChannelChannelOp(envelope: IEnvelope): Promise<unknown>;
128
125
  private applyStashedAttachOp;
129
- process(message: ISequencedDocumentMessage, local: boolean, localMessageMetadata: unknown, addedOutboundReference?: (fromNodePath: string, toNodePath: string) => void): void;
126
+ process(message: ISequencedDocumentMessage, local: boolean, localMessageMetadata: unknown): void;
130
127
  protected processChannelOp(address: string, message: ISequencedDocumentMessage, local: boolean, localMessageMetadata: unknown): void;
131
128
  private getDataStore;
132
129
  /**
@@ -153,12 +150,6 @@ export declare class ChannelCollection implements IFluidDataStoreChannel, IDispo
153
150
  * Create a summary. Used when attaching or serializing a detached container.
154
151
  */
155
152
  getAttachSummary(telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;
156
- /**
157
- * Before GC runs, called by the garbage collector to update any pending GC state.
158
- * The garbage collector needs to know all outbound references that are added. Since root data stores are not
159
- * explicitly marked as referenced, notify GC of new root data stores that were added since the last GC run.
160
- */
161
- updateStateBeforeGC(): Promise<void>;
162
153
  /**
163
154
  * Generates data used for garbage collection. It does the following:
164
155
  *
@@ -1 +1 @@
1
- {"version":3,"file":"channelCollection.d.ts","sourceRoot":"","sources":["../src/channelCollection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channelCollection.d.ts","sourceRoot":"","sources":["../src/channelCollection.ts"],"names":[],"mappings":"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"}
@@ -99,8 +99,8 @@ function wrapContext(context) {
99
99
  uploadBlob: async (...args) => {
100
100
  return context.uploadBlob(...args);
101
101
  },
102
- addedGCOutboundReference: (...args) => {
103
- return context.addedGCOutboundReference?.(...args);
102
+ addedGCOutboundRoute: (...args) => {
103
+ return context.addedGCOutboundRoute(...args);
104
104
  },
105
105
  getCreateChildSummarizerNodeFn: (...args) => {
106
106
  return context.getCreateChildSummarizerNodeFn?.(...args);
@@ -151,27 +151,30 @@ exports.wrapContextForInnerChannel = wrapContextForInnerChannel;
151
151
  * @internal
152
152
  */
153
153
  class ChannelCollection {
154
+ baseSnapshot;
155
+ parentContext;
156
+ gcNodeUpdated;
157
+ isDataStoreDeleted;
158
+ aliasMap;
159
+ // Stores tracked by the Domain
160
+ pendingAttach = new Map();
161
+ // 0.24 back-compat attachingBeforeSummary
162
+ attachOpFiredForDataStore = new Set();
163
+ mc;
164
+ disposeOnce = new internal_1.Lazy(() => this.contexts.dispose());
165
+ entryPoint;
166
+ containerLoadStats;
167
+ pendingAliasMap = new Map();
168
+ contexts;
169
+ aliasedDataStores;
154
170
  constructor(baseSnapshot, parentContext, baseLogger, gcNodeUpdated, isDataStoreDeleted, aliasMap, provideEntryPoint) {
155
171
  this.baseSnapshot = baseSnapshot;
156
172
  this.parentContext = parentContext;
157
173
  this.gcNodeUpdated = gcNodeUpdated;
158
174
  this.isDataStoreDeleted = isDataStoreDeleted;
159
175
  this.aliasMap = aliasMap;
160
- // Stores tracked by the Domain
161
- this.pendingAttach = new Map();
162
- // 0.24 back-compat attachingBeforeSummary
163
- this.attachOpFiredForDataStore = new Set();
164
- this.disposeOnce = new internal_1.Lazy(() => this.contexts.dispose());
165
- // Stores the ids of new data stores between two GC runs. This is used to notify the garbage collector of new
166
- // root data stores that are added.
167
- this.dataStoresSinceLastGC = [];
168
- this.pendingAliasMap = new Map();
169
- /** For sampling. Only log once per container */
170
- this.shouldSendAttachLog = true;
171
- this.dispose = () => this.disposeOnce.value;
172
176
  this.mc = (0, internal_6.createChildMonitoringContext)({ logger: baseLogger });
173
177
  this.contexts = new dataStoreContexts_js_1.DataStoreContexts(baseLogger);
174
- this.containerRuntimeHandle = new internal_2.FluidObjectHandle(this.parentContext, "/", this.parentContext.IFluidHandleContext);
175
178
  this.entryPoint = new internal_2.FluidObjectHandle(new internal_1.LazyPromise(async () => provideEntryPoint(this)), "", this.parentContext.IFluidHandleContext);
176
179
  this.aliasedDataStores = new Set(aliasMap.values());
177
180
  // Extract stores stored inside the snapshot
@@ -246,6 +249,8 @@ class ChannelCollection {
246
249
  const pendingAliasPromise = this.pendingAliases.get(maybeAlias);
247
250
  return pendingAliasPromise ?? "Success";
248
251
  }
252
+ /** For sampling. Only log once per container */
253
+ shouldSendAttachLog = true;
249
254
  wrapContextForInnerChannel(id) {
250
255
  return wrapContextForInnerChannel(id, this.parentContext);
251
256
  }
@@ -259,12 +264,11 @@ class ChannelCollection {
259
264
  }
260
265
  processAttachMessage(message, local) {
261
266
  const attachMessage = message.contents;
262
- this.dataStoresSinceLastGC.push(attachMessage.id);
263
267
  // We need to process the GC Data for both local and remote attach messages
264
268
  const foundGCData = (0, internal_5.processAttachMessageGCData)(attachMessage.snapshot, (nodeId, toPath) => {
265
269
  // nodeId is the relative path under the node being attached. Always starts with "/", but no trailing "/" after an id
266
270
  const fromPath = `/${attachMessage.id}${nodeId === "/" ? "" : nodeId}`;
267
- this.parentContext.addedGCOutboundReference?.({ absolutePath: fromPath }, { absolutePath: toPath });
271
+ this.parentContext.addedGCOutboundRoute(fromPath, toPath);
268
272
  });
269
273
  // Only log once per container to avoid noise/cost.
270
274
  // Allows longitudinal tracking of various state (e.g. foundGCData), and some sampled details
@@ -358,8 +362,7 @@ class ChannelCollection {
358
362
  });
359
363
  return false;
360
364
  }
361
- const handle = new internal_2.FluidObjectHandle(context, internalId, this.parentContext.IFluidHandleContext);
362
- this.parentContext.addedGCOutboundReference?.(this.containerRuntimeHandle, handle);
365
+ this.parentContext.addedGCOutboundRoute("/", `/${internalId}`);
363
366
  this.aliasMap.set(alias, context.id);
364
367
  this.aliasedDataStores.add(context.id);
365
368
  context.setInMemoryRoot();
@@ -467,6 +470,7 @@ class ChannelCollection {
467
470
  get disposed() {
468
471
  return this.disposeOnce.evaluated;
469
472
  }
473
+ dispose = () => this.disposeOnce.value;
470
474
  reSubmit(type, content, localOpMetadata) {
471
475
  switch (type) {
472
476
  case messageTypes_js_1.ContainerMessageType.Attach:
@@ -571,7 +575,7 @@ class ChannelCollection {
571
575
  this.pendingAttach.set(message.id, message);
572
576
  }
573
577
  }
574
- process(message, local, localMessageMetadata, addedOutboundReference) {
578
+ process(message, local, localMessageMetadata) {
575
579
  switch (message.type) {
576
580
  case messageTypes_js_1.ContainerMessageType.Attach:
577
581
  this.processAttachMessage(message, local);
@@ -588,13 +592,8 @@ class ChannelCollection {
588
592
  contents: innerContents.content,
589
593
  };
590
594
  this.processChannelOp(envelope.address, transformed, local, localMessageMetadata);
591
- // By default, we use the new behavior of detecting outbound routes here.
592
- // If this setting is true, then DataStoreContext would be notifying GC instead.
593
- if (this.mc.config.getBoolean(index_js_1.detectOutboundRoutesViaDDSKey) !== true &&
594
- addedOutboundReference !== undefined) {
595
- // Notify GC of any outbound references that were added by this op.
596
- detectOutboundReferences(envelope.address, transformed.contents, addedOutboundReference);
597
- }
595
+ // Notify GC of any outbound references that were added by this op.
596
+ detectOutboundReferences(envelope.address, transformed.contents, (fromPath, toPath) => this.parentContext.addedGCOutboundRoute(fromPath, toPath));
598
597
  break;
599
598
  }
600
599
  default:
@@ -679,9 +678,9 @@ class ChannelCollection {
679
678
  ? (0, index_js_1.urlToGCNodePath)(originalRequest.url)
680
679
  : dataStoreNodePath;
681
680
  // Log the package details asynchronously since getInitialSnapshotDetails is async
682
- const recentelyDeletedContext = this.contexts.getRecentlyDeletedContext(id);
683
- if (recentelyDeletedContext !== undefined) {
684
- recentelyDeletedContext
681
+ const recentlyDeletedContext = this.contexts.getRecentlyDeletedContext(id);
682
+ if (recentlyDeletedContext !== undefined) {
683
+ recentlyDeletedContext
685
684
  .getInitialSnapshotDetails()
686
685
  .then((details) => {
687
686
  return details.pkg.join("/");
@@ -825,23 +824,6 @@ class ChannelCollection {
825
824
  } while (notBoundContextsLength !== this.contexts.notBoundLength());
826
825
  return builder.getSummaryTree();
827
826
  }
828
- /**
829
- * Before GC runs, called by the garbage collector to update any pending GC state.
830
- * The garbage collector needs to know all outbound references that are added. Since root data stores are not
831
- * explicitly marked as referenced, notify GC of new root data stores that were added since the last GC run.
832
- */
833
- async updateStateBeforeGC() {
834
- for (const id of this.dataStoresSinceLastGC) {
835
- const context = this.contexts.get(id);
836
- (0, internal_1.assert)(context !== undefined, 0x2b6 /* Missing data store context */);
837
- if (await context.isRoot()) {
838
- // A root data store is basically a reference from the container runtime to the data store.
839
- const handle = new internal_2.FluidObjectHandle(context, id, this.parentContext.IFluidHandleContext);
840
- this.parentContext.addedGCOutboundReference?.(this.containerRuntimeHandle, handle);
841
- }
842
- }
843
- this.dataStoresSinceLastGC = [];
844
- }
845
827
  /**
846
828
  * Generates data used for garbage collection. It does the following:
847
829
  *
@@ -1121,12 +1103,15 @@ function detectOutboundReferences(address, contents, addedOutboundReference) {
1121
1103
  exports.detectOutboundReferences = detectOutboundReferences;
1122
1104
  /** @internal */
1123
1105
  class ChannelCollectionFactory {
1106
+ provideEntryPoint;
1107
+ ctor;
1108
+ type = "ChannelCollectionChannel";
1109
+ IFluidDataStoreRegistry;
1124
1110
  constructor(registryEntries,
1125
1111
  // ADO:7302 We need a better type here
1126
1112
  provideEntryPoint, ctor) {
1127
1113
  this.provideEntryPoint = provideEntryPoint;
1128
1114
  this.ctor = ctor;
1129
- this.type = "ChannelCollectionChannel";
1130
1115
  this.IFluidDataStoreRegistry = new dataStoreRegistry_js_1.FluidDataStoreRegistry(registryEntries);
1131
1116
  }
1132
1117
  get IFluidDataStoreFactory() {