@fluidframework/datastore 2.71.0 → 2.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # @fluidframework/datastore
2
2
 
3
+ ## 2.72.0
4
+
5
+ Dependency updates only.
6
+
3
7
  ## 2.71.0
4
8
 
5
9
  Dependency updates only.
@@ -31,7 +35,6 @@ Dependency updates only.
31
35
  DDSes may optionally consume this value and use it to determine which sets of feature flags should be enabled.
32
36
 
33
37
  #### Public type changes
34
-
35
38
  - **@fluidframework/datastore: `FluidDataStoreRuntime`** - Exposes `minVersionForCollab`.
36
39
  - **@fluidframework/runtime-definitions: `IFluidDataStoreContext`** - Exposes optional member `minVersionForCollab`.
37
40
  See `FluidDataStoreContext` for an example implementation.
@@ -128,7 +131,6 @@ Dependency updates only.
128
131
  - The process and processDocumentSchemaOp functions have been removed ([#24018](https://github.com/microsoft/FluidFramework/pull/24018)) [bc35d543d5](https://github.com/microsoft/FluidFramework/commit/bc35d543d58c7e4bf28944b09d645cc26bf28a29)
129
132
 
130
133
  `process` has been replaced by `processMessages` from the following:
131
-
132
134
  - `FluidDataStoreRuntime`
133
135
  - `IDeltaHandler`
134
136
  - `IFluidDataStoreChannel`
@@ -170,7 +172,6 @@ Dependency updates only.
170
172
  parameter.
171
173
 
172
174
  These changes were originally announced in version 0.25.0. See the following issues for more details:
173
-
174
175
  - [#1537](https://github.com/microsoft/FluidFramework/issues/1537)
175
176
  - [#2931](https://github.com/microsoft/FluidFramework/pull/2931)
176
177
 
@@ -199,7 +200,6 @@ Dependency updates only.
199
200
  Similarly, `IDeltaManager.outbound` contained functionality that could break core runtime features such as generation of batches and chunking. Data loss or corruption could occur when `IDeltaManger.inbound.pause()` or `IDeltaManager.inbound.resume()` were called.
200
201
 
201
202
  #### Alternatives
202
-
203
203
  - Alternatives to `IDeltaManager.inbound.on("op", ...)` are `IDeltaManager.on("op", ...)`
204
204
  - Alternatives to calling `IDeltaManager.inbound.pause`, `IDeltaManager.outbound.pause` for `IContainer` disconnect use `IContainer.disconnect`.
205
205
  - Alternatives to calling `IDeltaManager.inbound.resume`, `IDeltaManager.outbound.resume` for `IContainer` reconnect use `IContainer.connect`.
@@ -240,7 +240,6 @@ Dependency updates only.
240
240
 
241
241
  Make IFluidDataStoreRuntime.deltaManager have an opaque type.
242
242
  Marks the following types which were reachable from it as alpha:
243
-
244
243
  - IConnectionDetails
245
244
  - IDeltaSender
246
245
  - IDeltaManagerEvents
@@ -264,7 +263,6 @@ Dependency updates only.
264
263
  TypeScript types and implementation code.
265
264
 
266
265
  This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
267
-
268
266
  - `"moduleResolution": "Node16"` with `"module": "Node16"`
269
267
  - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
270
268
 
@@ -283,26 +281,21 @@ Dependency updates only.
283
281
  - container-runtime: New feature: ID compression for DataStores & DDSs ([#19859](https://github.com/microsoft/FluidFramework/issues/19859)) [51f0d3db73](https://github.com/microsoft/FluidFramework/commits/51f0d3db737800e1c30ea5e3952d38ff30ffc7da)
284
282
 
285
283
  ### Key changes
286
-
287
284
  1. A new API IContainerRuntimeBase.generateDocumentUniqueId() is exposed. This API will opportunistically generate IDs in short format (non-negative numbers). If it can't achieve that, it will return UUID strings. UUIDs generated will have low entropy in groups and will compress well. It can be leveraged anywhere in container where container unique IDs are required. I.e. any place that uses uuid() and stores data in container is likely candidate to start leveraging this API.
288
285
  2. Data store internal IDs (IDs that are auto generated by FF system) will opportunistically be generated in shorter form. Data stores created in detached container will always have short IDs, data stores created in attached container will opportunistically be short (by using newly added IContainerRuntimeBase.generateDocumentUniqueId() capability)
289
286
  3. Similar DDS names will be opportunistically short (same considerations for detached DDS vs. attached DDS)
290
287
 
291
288
  ### Implementation details
292
-
293
289
  1. Container level ID Compressor can now be enabled with delay. With such setting, only new IContainerRuntimeBase.generateDocumentUniqueId() is exposed (ID Compressor is not exposed in such case, as leveraging any of its other capabilities requires future container sessions to load ID Compressor on container load, for correctness reasons). Once Container establishes connection and any changes are made in container, newly added API will start generating more compact IDs (in most cases).
294
290
 
295
291
  ### Breaking changes
296
-
297
292
  1. DDS names can no longer start with "\_" symbol - this is reserved for FF needs. I've validated that's not an issue for AzureClient (it only creates root object by name, everything else is referred by handle). Our main internal partners almost never use named DDSs (I can find only 4 instances in Loop).
298
293
 
299
294
  ### Backward compatibility considerations
300
-
301
295
  1. Data store internal IDs could collide with earlier used names data stores. Earlier versions of FF framework (before DataStore aliasing feature was added) allowed customers to supply IDs for data stores. And thus, files created with earlier versions of framework could have data store IDs that will be similar to names FF will use for newly created data stores ("A", ... "Z", "a"..."z", "AA", etc.). While such collision is possible, it's very unlikely (almost impossible) if user-provided names were at least 4-5 characters long.
302
296
  2. If application runs to these problems, or wants to reduce risks, consider disabling ID compressor via IContainerRuntimeOptions.enableRuntimeIdCompressor = "off".
303
297
 
304
298
  ### Minor changes
305
-
306
299
  1. IContainerRuntime.createDetachedRootDataStore() is removed. Please use IContainerRuntime.createDetachedDataStore and IDataStore.trySetAlias() instead
307
300
  2. IContainerRuntimeOptions.enableRuntimeIdCompressor has been changes from boolean to tri-state.
308
301
 
@@ -325,7 +318,6 @@ Dependency updates only.
325
318
  - Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
326
319
 
327
320
  The following Fluid server dependencies have been updated to the latest version, 3.0.0. [See the full changelog.](https://github.com/microsoft/FluidFramework/releases/tag/server_v3.0.0)
328
-
329
321
  - @fluidframework/gitresources
330
322
  - @fluidframework/server-kafka-orderer
331
323
  - @fluidframework/server-lambdas
@@ -399,7 +391,6 @@ Dependency updates only.
399
391
  - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
400
392
 
401
393
  This included the following changes from the protocol-definitions release:
402
-
403
394
  - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
404
395
  submitted by clients to the server and the resulting signals sent from the server to clients.
405
396
  - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
@@ -415,7 +406,6 @@ Dependency updates only.
415
406
  - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
416
407
 
417
408
  Dependencies on the following Fluid server package have been updated to version 2.0.1:
418
-
419
409
  - @fluidframework/gitresources: 2.0.1
420
410
  - @fluidframework/server-kafka-orderer: 2.0.1
421
411
  - @fluidframework/server-lambdas: 2.0.1
@@ -440,7 +430,6 @@ Dependency updates only.
440
430
  - test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
441
431
 
442
432
  The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
443
-
444
433
  - `BaseContainerRuntimeFactory`
445
434
  - `RuntimeFactory`
446
435
  - `ContainerRuntime` (constructor and `loadRuntime`)
@@ -477,7 +466,6 @@ Dependency updates only.
477
466
 
478
467
  The **@fluidframework/common-definitions** package is being deprecated, so the following interfaces and types are now
479
468
  imported from the **@fluidframework/core-interfaces** package:
480
-
481
469
  - interface IDisposable
482
470
  - interface IErrorEvent
483
471
  - interface IErrorEvent
@@ -511,7 +499,6 @@ Dependency updates only.
511
499
  - Request APIs deprecated from many places [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
512
500
 
513
501
  The `request` API (associated with the `IFluidRouter` interface) has been deprecated on a number of classes and interfaces. The following are impacted:
514
-
515
502
  - `IRuntime` and `ContainerRuntime`
516
503
  - `IFluidDataStoreRuntime` and `FluidDataStoreRuntime`
517
504
  - `IFluidDataStoreChannel`
@@ -527,7 +514,6 @@ Dependency updates only.
527
514
  - `initializeEntryPoint` will become required [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
528
515
 
529
516
  The optional `initializeEntryPoint` method has been added to a number of constructors. **This method argument will become required in an upcoming release** and a value will need to be provided to the following classes:
530
-
531
517
  - `BaseContainerRuntimeFactory`
532
518
  - `ContainerRuntimeFactoryWithDefaultDataStore`
533
519
  - `RuntimeFactory`
@@ -572,7 +558,6 @@ Dependency updates only.
572
558
 
573
559
  - The `@fluidframework/garbage-collector` package was deprecated in version 2.0.0-internal.4.1.0. [8b242fdc79](https://github.com/microsoft/FluidFramework/commits/8b242fdc796714cf1da9ad3f90d02efb122af0c2)
574
560
  It has now been removed with the following functions, interfaces, and types in it.
575
-
576
561
  - `cloneGCData`
577
562
  - `concatGarbageCollectionData`
578
563
  - `concatGarbageCollectionStates`
@@ -598,7 +583,6 @@ Dependency updates only.
598
583
  - GC interfaces removed from runtime-definitions ([#14750](https://github.com/microsoft/FluidFramework/pull-requests/14750)) [60274eacab](https://github.com/microsoft/FluidFramework/commits/60274eacabf14d42f52f6ad1c2f64356e64ba1a2)
599
584
 
600
585
  The following interfaces available in `@fluidframework/runtime-definitions` are internal implementation details and have been deprecated for public use. They will be removed in an upcoming release.
601
-
602
586
  - `IGarbageCollectionNodeData`
603
587
  - `IGarbageCollectionState`
604
588
  - `IGarbageCollectionSnapshotData`
@@ -609,7 +593,6 @@ Dependency updates only.
609
593
  The `@fluidframework/garbage-collector` package is deprecated with the following functions, interfaces, and types in it.
610
594
  These are internal implementation details and have been deprecated for public use. They will be removed in an upcoming
611
595
  release.
612
-
613
596
  - `cloneGCData`
614
597
  - `concatGarbageCollectionData`
615
598
  - `concatGarbageCollectionStates`
@@ -17,6 +17,8 @@ export class FluidDataStoreRuntime extends TypedEventEmitter<IFluidDataStoreRunt
17
17
  constructor(dataStoreContext: IFluidDataStoreContext, sharedObjectRegistry: ISharedObjectRegistry, existing: boolean, provideEntryPoint: (runtime: IFluidDataStoreRuntime) => Promise<FluidObject>, policies?: Partial<IFluidDataStorePolicies>);
18
18
  // (undocumented)
19
19
  get absolutePath(): string;
20
+ // (undocumented)
21
+ get activeLocalOperationActivity(): "applyStashed" | "rollback" | undefined;
20
22
  addChannel(channel: IChannel): void;
21
23
  // (undocumented)
22
24
  applyStashedOp(content: any): Promise<unknown>;
@@ -19,7 +19,7 @@ exports.dataStoreCoreCompatDetails = {
19
19
  /**
20
20
  * The current generation of the Runtime layer.
21
21
  */
22
- generation: 1,
22
+ generation: 2,
23
23
  };
24
24
  /**
25
25
  * DataStore's compatibility details that is exposed to the Runtime layer.
@@ -1 +1 @@
1
- {"version":3,"file":"dataStoreLayerCompatState.js","sourceRoot":"","sources":["../src/dataStoreLayerCompatState.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAMH,uEAGkD;AAElD,2DAAiD;AAEjD;;;GAGG;AACU,QAAA,0BAA0B,GAAG;IACzC;;OAEG;IACH,UAAU,EAAV,8BAAU;IACV;;OAEG;IACH,UAAU,EAAE,CAAC;CACb,CAAC;AAEF;;;GAGG;AACU,QAAA,gCAAgC,GAAwB;IACpE,GAAG,kCAA0B;IAC7B;;OAEG;IACH,iBAAiB,EAAE,IAAI,GAAG,EAAU;CACpC,CAAC;AAEF;;;GAGG;AACU,QAAA,sCAAsC,GAAoC;IACtF;;;OAGG;IACH,sBAAsB,EAAE,CAAC;IACzB;;OAEG;IACH,gBAAgB,EAAE,EAAE;CACpB,CAAC;AAEF;;;GAGG;AACH,SAAgB,4BAA4B,CAC3C,yBAA0D,EAC1D,SAAqB,EACrB,MAA2B;IAE3B,IAAA,qCAA0B,EACzB,WAAW,EACX,SAAS,EACT,wCAAgC,EAChC,8CAAsC,EACtC,yBAAyB,EACzB,SAAS,EACT,MAAM,CACN,CAAC;AACH,CAAC;AAdD,oEAcC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tILayerCompatDetails,\n\tILayerCompatSupportRequirements,\n} from \"@fluid-internal/client-utils\";\nimport {\n\tvalidateLayerCompatibility,\n\ttype ITelemetryLoggerExt,\n} from \"@fluidframework/telemetry-utils/internal\";\n\nimport { pkgVersion } from \"./packageVersion.js\";\n\n/**\n * The core compatibility details of the DataStore layer that is the same across all layer boundaries.\n * @internal\n */\nexport const dataStoreCoreCompatDetails = {\n\t/**\n\t * The package version of the Runtime layer.\n\t */\n\tpkgVersion,\n\t/**\n\t * The current generation of the Runtime layer.\n\t */\n\tgeneration: 1,\n};\n\n/**\n * DataStore's compatibility details that is exposed to the Runtime layer.\n * @internal\n */\nexport const dataStoreCompatDetailsForRuntime: ILayerCompatDetails = {\n\t...dataStoreCoreCompatDetails,\n\t/**\n\t * The features supported by the DataStore layer across the DataStore / Runtime boundary.\n\t */\n\tsupportedFeatures: new Set<string>(),\n};\n\n/**\n * The requirements that the Runtime layer must meet to be compatible with this DataStore.\n * @internal\n */\nexport const runtimeSupportRequirementsForDataStore: ILayerCompatSupportRequirements = {\n\t/**\n\t * Minimum generation that Runtime must be at to be compatible with DataStore. Note that 0 is used here so\n\t * that Runtime layers before the introduction of the layer compatibility enforcement are compatible.\n\t */\n\tminSupportedGeneration: 0,\n\t/**\n\t * The features that the Runtime must support to be compatible with DataStore.\n\t */\n\trequiredFeatures: [],\n};\n\n/**\n * Validates that the Runtime layer is compatible with this DataStore.\n * @internal\n */\nexport function validateRuntimeCompatibility(\n\tmaybeRuntimeCompatDetails: ILayerCompatDetails | undefined,\n\tdisposeFn: () => void,\n\tlogger: ITelemetryLoggerExt,\n): void {\n\tvalidateLayerCompatibility(\n\t\t\"dataStore\",\n\t\t\"runtime\",\n\t\tdataStoreCompatDetailsForRuntime,\n\t\truntimeSupportRequirementsForDataStore,\n\t\tmaybeRuntimeCompatDetails,\n\t\tdisposeFn,\n\t\tlogger,\n\t);\n}\n"]}
1
+ {"version":3,"file":"dataStoreLayerCompatState.js","sourceRoot":"","sources":["../src/dataStoreLayerCompatState.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAMH,uEAGkD;AAElD,2DAAiD;AAEjD;;;GAGG;AACU,QAAA,0BAA0B,GAAG;IACzC;;OAEG;IACH,UAAU,EAAV,8BAAU;IACV;;OAEG;IACH,UAAU,EAAE,CAAC;CACb,CAAC;AAEF;;;GAGG;AACU,QAAA,gCAAgC,GAAwB;IACpE,GAAG,kCAA0B;IAC7B;;OAEG;IACH,iBAAiB,EAAE,IAAI,GAAG,EAAU;CACpC,CAAC;AAEF;;;GAGG;AACU,QAAA,sCAAsC,GAAoC;IACtF;;;OAGG;IACH,sBAAsB,EAAE,CAAC;IACzB;;OAEG;IACH,gBAAgB,EAAE,EAAE;CACpB,CAAC;AAEF;;;GAGG;AACH,SAAgB,4BAA4B,CAC3C,yBAA0D,EAC1D,SAAqB,EACrB,MAA2B;IAE3B,IAAA,qCAA0B,EACzB,WAAW,EACX,SAAS,EACT,wCAAgC,EAChC,8CAAsC,EACtC,yBAAyB,EACzB,SAAS,EACT,MAAM,CACN,CAAC;AACH,CAAC;AAdD,oEAcC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tILayerCompatDetails,\n\tILayerCompatSupportRequirements,\n} from \"@fluid-internal/client-utils\";\nimport {\n\tvalidateLayerCompatibility,\n\ttype ITelemetryLoggerExt,\n} from \"@fluidframework/telemetry-utils/internal\";\n\nimport { pkgVersion } from \"./packageVersion.js\";\n\n/**\n * The core compatibility details of the DataStore layer that is the same across all layer boundaries.\n * @internal\n */\nexport const dataStoreCoreCompatDetails = {\n\t/**\n\t * The package version of the Runtime layer.\n\t */\n\tpkgVersion,\n\t/**\n\t * The current generation of the Runtime layer.\n\t */\n\tgeneration: 2,\n};\n\n/**\n * DataStore's compatibility details that is exposed to the Runtime layer.\n * @internal\n */\nexport const dataStoreCompatDetailsForRuntime: ILayerCompatDetails = {\n\t...dataStoreCoreCompatDetails,\n\t/**\n\t * The features supported by the DataStore layer across the DataStore / Runtime boundary.\n\t */\n\tsupportedFeatures: new Set<string>(),\n};\n\n/**\n * The requirements that the Runtime layer must meet to be compatible with this DataStore.\n * @internal\n */\nexport const runtimeSupportRequirementsForDataStore: ILayerCompatSupportRequirements = {\n\t/**\n\t * Minimum generation that Runtime must be at to be compatible with DataStore. Note that 0 is used here so\n\t * that Runtime layers before the introduction of the layer compatibility enforcement are compatible.\n\t */\n\tminSupportedGeneration: 0,\n\t/**\n\t * The features that the Runtime must support to be compatible with DataStore.\n\t */\n\trequiredFeatures: [],\n};\n\n/**\n * Validates that the Runtime layer is compatible with this DataStore.\n * @internal\n */\nexport function validateRuntimeCompatibility(\n\tmaybeRuntimeCompatDetails: ILayerCompatDetails | undefined,\n\tdisposeFn: () => void,\n\tlogger: ITelemetryLoggerExt,\n): void {\n\tvalidateLayerCompatibility(\n\t\t\"dataStore\",\n\t\t\"runtime\",\n\t\tdataStoreCompatDetailsForRuntime,\n\t\truntimeSupportRequirementsForDataStore,\n\t\tmaybeRuntimeCompatDetails,\n\t\tdisposeFn,\n\t\tlogger,\n\t);\n}\n"]}
@@ -68,6 +68,8 @@ export declare class FluidDataStoreRuntime extends TypedEventEmitter<IFluidDataS
68
68
  get rootRoutingContext(): this;
69
69
  get channelsRoutingContext(): this;
70
70
  get objectsRoutingContext(): this;
71
+ private localOpActivity;
72
+ get activeLocalOperationActivity(): "applyStashed" | "rollback" | undefined;
71
73
  private _disposed;
72
74
  get disposed(): boolean;
73
75
  private readonly contexts;
@@ -1 +1 @@
1
- {"version":3,"file":"dataStoreRuntime.d.ts","sourceRoot":"","sources":["../src/dataStoreRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataStoreRuntime.d.ts","sourceRoot":"","sources":["../src/dataStoreRuntime.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,9 @@ class FluidDataStoreRuntime extends client_utils_1.TypedEventEmitter {
94
94
  get objectsRoutingContext() {
95
95
  return this;
96
96
  }
97
+ get activeLocalOperationActivity() {
98
+ return this.localOpActivity;
99
+ }
97
100
  get disposed() {
98
101
  return this._disposed;
99
102
  }
@@ -119,6 +122,7 @@ class FluidDataStoreRuntime extends client_utils_1.TypedEventEmitter {
119
122
  * {@inheritDoc @fluidframework/datastore-definitions#IFluidDataStoreRuntime.isReadOnly}
120
123
  */
121
124
  this.isReadOnly = () => this._readonly;
125
+ this.localOpActivity = undefined;
122
126
  this._disposed = false;
123
127
  this.contexts = new Map();
124
128
  this.pendingAttach = new Set();
@@ -884,60 +888,74 @@ class FluidDataStoreRuntime extends client_utils_1.TypedEventEmitter {
884
888
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
885
889
  content, localOpMetadata) {
886
890
  this.verifyNotClosed();
887
- // The op being rolled back was not/will not be submitted, so decrement the count.
888
- --this.pendingOpCount.value;
889
- switch (type) {
890
- case DataStoreMessageType.ChannelOp: {
891
- // For Operations, find the right channel and trigger resubmission on it.
892
- const envelope = content;
893
- const channelContext = this.contexts.get(envelope.address);
894
- (0, internal_1.assert)(!!channelContext, 0x2ed /* "There should be a channel context for the op" */);
895
- channelContext.rollback(envelope.contents, localOpMetadata);
896
- break;
897
- }
898
- default: {
899
- throw new internal_5.LoggingError(`Can't rollback ${type} message`);
891
+ (0, internal_1.assert)(!this.localOpActivity, "localOpActivity must be undefined when entering rollback");
892
+ this.localOpActivity = "rollback";
893
+ try {
894
+ // The op being rolled back was not/will not be submitted, so decrement the count.
895
+ --this.pendingOpCount.value;
896
+ switch (type) {
897
+ case DataStoreMessageType.ChannelOp: {
898
+ // For Operations, find the right channel and trigger resubmission on it.
899
+ const envelope = content;
900
+ const channelContext = this.contexts.get(envelope.address);
901
+ (0, internal_1.assert)(!!channelContext, 0x2ed /* "There should be a channel context for the op" */);
902
+ channelContext.rollback(envelope.contents, localOpMetadata);
903
+ break;
904
+ }
905
+ default: {
906
+ throw new internal_5.LoggingError(`Can't rollback ${type} message`);
907
+ }
900
908
  }
901
909
  }
910
+ finally {
911
+ this.localOpActivity = undefined;
912
+ }
902
913
  }
903
914
  // TODO: use something other than `any` here
904
915
  // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any
905
916
  async applyStashedOp(content) {
906
- // The op being applied may have been submitted in a previous session, so we increment the count here.
907
- // Either the ack will arrive and be processed, or that previous session's connection will end, at which point the op will be resubmitted.
908
- ++this.pendingOpCount.value;
909
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
910
- const type = content?.type;
911
- switch (type) {
912
- case DataStoreMessageType.Attach: {
913
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
914
- const attachMessage = content.content;
915
- const flatBlobs = new Map();
916
- const snapshotTree = (0, internal_2.buildSnapshotTree)(attachMessage.snapshot.entries, flatBlobs);
917
- const channelContext = this.createRehydratedLocalChannelContext(attachMessage.id, snapshotTree, flatBlobs);
918
- await channelContext.getChannel();
919
- this.contexts.set(attachMessage.id, channelContext);
920
- if (this.attachState === container_definitions_1.AttachState.Detached) {
921
- this.localChannelContextQueue.set(attachMessage.id, channelContext);
917
+ (0, internal_1.assert)(!this.localOpActivity, "localOpActivity must be undefined when entering applyStashedOp");
918
+ this.localOpActivity = "applyStashed";
919
+ try {
920
+ // The op being applied may have been submitted in a previous session, so we increment the count here.
921
+ // Either the ack will arrive and be processed, or that previous session's connection will end, at which point the op will be resubmitted.
922
+ ++this.pendingOpCount.value;
923
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
924
+ const type = content?.type;
925
+ switch (type) {
926
+ case DataStoreMessageType.Attach: {
927
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
928
+ const attachMessage = content.content;
929
+ const flatBlobs = new Map();
930
+ const snapshotTree = (0, internal_2.buildSnapshotTree)(attachMessage.snapshot.entries, flatBlobs);
931
+ const channelContext = this.createRehydratedLocalChannelContext(attachMessage.id, snapshotTree, flatBlobs);
932
+ await channelContext.getChannel();
933
+ this.contexts.set(attachMessage.id, channelContext);
934
+ if (this.attachState === container_definitions_1.AttachState.Detached) {
935
+ this.localChannelContextQueue.set(attachMessage.id, channelContext);
936
+ }
937
+ else {
938
+ channelContext.makeVisible();
939
+ this.pendingAttach.add(attachMessage.id);
940
+ }
941
+ return;
922
942
  }
923
- else {
924
- channelContext.makeVisible();
925
- this.pendingAttach.add(attachMessage.id);
943
+ case DataStoreMessageType.ChannelOp: {
944
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
945
+ const envelope = content.content;
946
+ const channelContext = this.contexts.get(envelope.address);
947
+ (0, internal_1.assert)(!!channelContext, 0x184 /* "There should be a channel context for the op" */);
948
+ await channelContext.getChannel();
949
+ return channelContext.applyStashedOp(envelope.contents);
950
+ }
951
+ default: {
952
+ (0, internal_1.unreachableCase)(type);
926
953
  }
927
- return;
928
- }
929
- case DataStoreMessageType.ChannelOp: {
930
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
931
- const envelope = content.content;
932
- const channelContext = this.contexts.get(envelope.address);
933
- (0, internal_1.assert)(!!channelContext, 0x184 /* "There should be a channel context for the op" */);
934
- await channelContext.getChannel();
935
- return channelContext.applyStashedOp(envelope.contents);
936
- }
937
- default: {
938
- (0, internal_1.unreachableCase)(type);
939
954
  }
940
955
  }
956
+ finally {
957
+ this.localOpActivity = undefined;
958
+ }
941
959
  }
942
960
  /**
943
961
  * Indicates the given channel is dirty from Summarizer's point of view,