@fluidframework/container-runtime 2.63.0-359286 → 2.63.0-359461

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.
@@ -5,5 +5,5 @@
5
5
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
6
  */
7
7
  export declare const pkgName = "@fluidframework/container-runtime";
8
- export declare const pkgVersion = "2.63.0-359286";
8
+ export declare const pkgVersion = "2.63.0-359461";
9
9
  //# sourceMappingURL=packageVersion.d.ts.map
@@ -5,5 +5,5 @@
5
5
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
6
  */
7
7
  export const pkgName = "@fluidframework/container-runtime";
8
- export const pkgVersion = "2.63.0-359286";
8
+ export const pkgVersion = "2.63.0-359461";
9
9
  //# sourceMappingURL=packageVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,mCAAmC,CAAC;AAC3D,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/container-runtime\";\nexport const pkgVersion = \"2.63.0-359286\";\n"]}
1
+ {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,mCAAmC,CAAC;AAC3D,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/container-runtime\";\nexport const pkgVersion = \"2.63.0-359461\";\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/container-runtime",
3
- "version": "2.63.0-359286",
3
+ "version": "2.63.0-359461",
4
4
  "description": "Fluid container runtime",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -119,18 +119,18 @@
119
119
  "temp-directory": "nyc/.nyc_output"
120
120
  },
121
121
  "dependencies": {
122
- "@fluid-internal/client-utils": "2.63.0-359286",
123
- "@fluidframework/container-definitions": "2.63.0-359286",
124
- "@fluidframework/container-runtime-definitions": "2.63.0-359286",
125
- "@fluidframework/core-interfaces": "2.63.0-359286",
126
- "@fluidframework/core-utils": "2.63.0-359286",
127
- "@fluidframework/datastore": "2.63.0-359286",
128
- "@fluidframework/driver-definitions": "2.63.0-359286",
129
- "@fluidframework/driver-utils": "2.63.0-359286",
130
- "@fluidframework/id-compressor": "2.63.0-359286",
131
- "@fluidframework/runtime-definitions": "2.63.0-359286",
132
- "@fluidframework/runtime-utils": "2.63.0-359286",
133
- "@fluidframework/telemetry-utils": "2.63.0-359286",
122
+ "@fluid-internal/client-utils": "2.63.0-359461",
123
+ "@fluidframework/container-definitions": "2.63.0-359461",
124
+ "@fluidframework/container-runtime-definitions": "2.63.0-359461",
125
+ "@fluidframework/core-interfaces": "2.63.0-359461",
126
+ "@fluidframework/core-utils": "2.63.0-359461",
127
+ "@fluidframework/datastore": "2.63.0-359461",
128
+ "@fluidframework/driver-definitions": "2.63.0-359461",
129
+ "@fluidframework/driver-utils": "2.63.0-359461",
130
+ "@fluidframework/id-compressor": "2.63.0-359461",
131
+ "@fluidframework/runtime-definitions": "2.63.0-359461",
132
+ "@fluidframework/runtime-utils": "2.63.0-359461",
133
+ "@fluidframework/telemetry-utils": "2.63.0-359461",
134
134
  "@tylerbu/sorted-btree-es6": "^1.8.0",
135
135
  "double-ended-queue": "^2.1.0-0",
136
136
  "lz4js": "^0.2.0",
@@ -140,16 +140,16 @@
140
140
  "devDependencies": {
141
141
  "@arethetypeswrong/cli": "^0.17.1",
142
142
  "@biomejs/biome": "~1.9.3",
143
- "@fluid-internal/mocha-test-setup": "2.63.0-359286",
144
- "@fluid-private/stochastic-test-utils": "2.63.0-359286",
145
- "@fluid-private/test-pairwise-generator": "2.63.0-359286",
143
+ "@fluid-internal/mocha-test-setup": "2.63.0-359461",
144
+ "@fluid-private/stochastic-test-utils": "2.63.0-359461",
145
+ "@fluid-private/test-pairwise-generator": "2.63.0-359461",
146
146
  "@fluid-tools/benchmark": "^0.51.0",
147
147
  "@fluid-tools/build-cli": "^0.58.3",
148
148
  "@fluidframework/build-common": "^2.0.3",
149
149
  "@fluidframework/build-tools": "^0.58.3",
150
150
  "@fluidframework/container-runtime-previous": "npm:@fluidframework/container-runtime@2.62.0",
151
151
  "@fluidframework/eslint-config-fluid": "^6.0.0",
152
- "@fluidframework/test-runtime-utils": "2.63.0-359286",
152
+ "@fluidframework/test-runtime-utils": "2.63.0-359461",
153
153
  "@microsoft/api-extractor": "7.52.11",
154
154
  "@types/double-ended-queue": "^2.1.0",
155
155
  "@types/lz4js": "^0.2.0",
@@ -1349,7 +1349,14 @@ export class ContainerRuntime
1349
1349
 
1350
1350
  private readonly batchRunner = new BatchRunCounter();
1351
1351
  private readonly _flushMode: FlushMode;
1352
- private readonly offlineEnabled: boolean;
1352
+ /**
1353
+ * BatchId tracking is needed whenever there's a possibility of a "forked Container",
1354
+ * where the same local state is pending in two different running Containers, each of
1355
+ * which is trying to ensure it's persisted.
1356
+ * "Offline Load" from serialized pending state is one such scenario since two Containers
1357
+ * could load from the same serialized pending state.
1358
+ */
1359
+ private readonly batchIdTrackingEnabled: boolean;
1353
1360
  private flushScheduled = false;
1354
1361
 
1355
1362
  private canSendOps: boolean;
@@ -1796,10 +1803,12 @@ export class ContainerRuntime
1796
1803
  } else {
1797
1804
  this._flushMode = runtimeOptions.flushMode;
1798
1805
  }
1799
- this.offlineEnabled =
1800
- this.mc.config.getBoolean("Fluid.Container.enableOfflineLoad") ?? false;
1806
+ this.batchIdTrackingEnabled =
1807
+ this.mc.config.getBoolean("Fluid.Container.enableOfflineFull") ??
1808
+ this.mc.config.getBoolean("Fluid.ContainerRuntime.enableBatchIdTracking") ??
1809
+ false;
1801
1810
 
1802
- if (this.offlineEnabled && this._flushMode !== FlushMode.TurnBased) {
1811
+ if (this.batchIdTrackingEnabled && this._flushMode !== FlushMode.TurnBased) {
1803
1812
  const error = new UsageError("Offline mode is only supported in turn-based mode");
1804
1813
  this.closeFn(error);
1805
1814
  throw error;
@@ -1808,7 +1817,7 @@ export class ContainerRuntime
1808
1817
  // DuplicateBatchDetection is only enabled if Offline Load is enabled
1809
1818
  // It maintains a cache of all batchIds/sequenceNumbers within the collab window.
1810
1819
  // Don't waste resources doing so if not needed.
1811
- if (this.offlineEnabled) {
1820
+ if (this.batchIdTrackingEnabled) {
1812
1821
  this.duplicateBatchDetector = new DuplicateBatchDetector(recentBatchInfo);
1813
1822
  }
1814
1823
 
@@ -4762,7 +4771,7 @@ export class ContainerRuntime
4762
4771
  const resubmitInfo = {
4763
4772
  // Only include Batch ID if "Offline Load" feature is enabled
4764
4773
  // It's only needed to identify batches across container forks arising from misuse of offline load.
4765
- batchId: this.offlineEnabled ? batchId : undefined,
4774
+ batchId: this.batchIdTrackingEnabled ? batchId : undefined,
4766
4775
  staged,
4767
4776
  };
4768
4777
 
@@ -6,4 +6,4 @@
6
6
  */
7
7
 
8
8
  export const pkgName = "@fluidframework/container-runtime";
9
- export const pkgVersion = "2.63.0-359286";
9
+ export const pkgVersion = "2.63.0-359461";