From 2f12417abe3528b9b1495751570f3f38a415c18d Mon Sep 17 00:00:00 2001 From: Mark Fields Date: Mon, 16 Dec 2024 22:46:24 +0000 Subject: [PATCH 1/7] Remove flushMode from IContainerRuntimeOptions --- .../api-report/container-runtime.legacy.alpha.api.md | 2 -- .../runtime/container-runtime/src/containerRuntime.ts | 10 +--------- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/packages/runtime/container-runtime/api-report/container-runtime.legacy.alpha.api.md b/packages/runtime/container-runtime/api-report/container-runtime.legacy.alpha.api.md index b7faa6065487..88e1815fbb12 100644 --- a/packages/runtime/container-runtime/api-report/container-runtime.legacy.alpha.api.md +++ b/packages/runtime/container-runtime/api-report/container-runtime.legacy.alpha.api.md @@ -342,8 +342,6 @@ export interface IContainerRuntimeOptions { readonly compressionOptions?: ICompressionRuntimeOptions; readonly enableRuntimeIdCompressor?: IdCompressorMode; readonly explicitSchemaControl?: boolean; - // @deprecated - readonly flushMode?: FlushMode; // (undocumented) readonly gcOptions?: IGCRuntimeOptions; readonly loadSequenceNumberVerification?: "close" | "log" | "bypass"; diff --git a/packages/runtime/container-runtime/src/containerRuntime.ts b/packages/runtime/container-runtime/src/containerRuntime.ts index d9b3a9822b97..c8435e2dd261 100644 --- a/packages/runtime/container-runtime/src/containerRuntime.ts +++ b/packages/runtime/container-runtime/src/containerRuntime.ts @@ -470,15 +470,7 @@ export interface IContainerRuntimeOptions { * 3. "bypass" will skip the check entirely. This is not recommended. */ readonly loadSequenceNumberVerification?: "close" | "log" | "bypass"; - /** - * Sets the flush mode for the runtime. In Immediate flush mode the runtime will immediately - * send all operations to the driver layer, while in TurnBased the operations will be buffered - * and then sent them as a single batch at the end of the turn. - * By default, flush mode is TurnBased. - * - * @deprecated Only the default value TurnBased is supported. This option will be removed in the future. - */ - readonly flushMode?: FlushMode; + /** * Enables the runtime to compress ops. See {@link ICompressionRuntimeOptions}. */ From 88f0c7f972d197c650c3fb86d912dcd1ea970b29 Mon Sep 17 00:00:00 2001 From: Mark Fields Date: Mon, 16 Dec 2024 22:57:06 +0000 Subject: [PATCH 2/7] changeset --- .changeset/cruel-horses-cheat.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .changeset/cruel-horses-cheat.md diff --git a/.changeset/cruel-horses-cheat.md b/.changeset/cruel-horses-cheat.md new file mode 100644 index 000000000000..7701c9192962 --- /dev/null +++ b/.changeset/cruel-horses-cheat.md @@ -0,0 +1,13 @@ +--- +"@fluidframework/container-runtime": minor +--- +--- +"section": legacy +--- + +IContainerRuntimeOptions.flushMode has been removed + +This option allowed an application specify whether to flush ops "immediately" (literally 1-by-1) or "turn-based" +(batched by JS turn). But `Immediate` mode has been deprecated and should no longer be used. + +Now there is only one choice, which is the default `TurnBased` mode. So we can simply remove this option. From 9a1b1a389e9eb3deb500d8c4c9789be21c83c803 Mon Sep 17 00:00:00 2001 From: Mark Fields Date: Tue, 7 Jan 2025 15:44:50 -0800 Subject: [PATCH 3/7] changeset editorial review Co-authored-by: jzaffiro <110866475+jzaffiro@users.noreply.github.com> --- .changeset/cruel-horses-cheat.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.changeset/cruel-horses-cheat.md b/.changeset/cruel-horses-cheat.md index 7701c9192962..88ac9f10f5e9 100644 --- a/.changeset/cruel-horses-cheat.md +++ b/.changeset/cruel-horses-cheat.md @@ -7,7 +7,7 @@ IContainerRuntimeOptions.flushMode has been removed -This option allowed an application specify whether to flush ops "immediately" (literally 1-by-1) or "turn-based" -(batched by JS turn). But `Immediate` mode has been deprecated and should no longer be used. +This option allowed an application to specify whether to flush ops "immediately" (literally 1-by-1) or "turn-based" +(batched by JS turn). `Immediate` mode has been deprecated and should no longer be used. -Now there is only one choice, which is the default `TurnBased` mode. So we can simply remove this option. +Now there is only one choice, which is the default `TurnBased` mode, so the `Immediate` mode can be removed. From 646135f7a071081e6335d5c87a0e65d459fad88b Mon Sep 17 00:00:00 2001 From: Mark Fields Date: Tue, 7 Jan 2025 23:54:17 +0000 Subject: [PATCH 4/7] Remove transition typing on CR ctor --- packages/runtime/container-runtime/src/containerRuntime.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/runtime/container-runtime/src/containerRuntime.ts b/packages/runtime/container-runtime/src/containerRuntime.ts index c8435e2dd261..f19e966fbb18 100644 --- a/packages/runtime/container-runtime/src/containerRuntime.ts +++ b/packages/runtime/container-runtime/src/containerRuntime.ts @@ -1504,10 +1504,7 @@ export class ContainerRuntime electedSummarizerData: ISerializedElection | undefined, chunks: [string, string[]][], dataStoreAliasMap: [string, string][], - runtimeOptions: Readonly< - Required> & - IContainerRuntimeOptions // Let flushMode and enabledGroupedBatching be optional now since they're soon to be removed - >, + runtimeOptions: Readonly>, private readonly containerScope: FluidObject, // Create a custom ITelemetryBaseLogger to output telemetry events. public readonly baseLogger: ITelemetryBaseLogger, From 9f0e0eba4c704162050a6ef8968eacb5a3404613 Mon Sep 17 00:00:00 2001 From: Mark Fields Date: Tue, 7 Jan 2025 23:56:09 +0000 Subject: [PATCH 5/7] Typo --- .changeset/cruel-horses-cheat.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/cruel-horses-cheat.md b/.changeset/cruel-horses-cheat.md index 88ac9f10f5e9..e66f41a33c1f 100644 --- a/.changeset/cruel-horses-cheat.md +++ b/.changeset/cruel-horses-cheat.md @@ -10,4 +10,4 @@ IContainerRuntimeOptions.flushMode has been removed This option allowed an application to specify whether to flush ops "immediately" (literally 1-by-1) or "turn-based" (batched by JS turn). `Immediate` mode has been deprecated and should no longer be used. -Now there is only one choice, which is the default `TurnBased` mode, so the `Immediate` mode can be removed. +Now there is only one choice, which is the default `TurnBased` mode, so the `flushMode` option can be removed. From dbf7c5eaf1e9ddb1cc75ab8dd458b77d1c7c5d66 Mon Sep 17 00:00:00 2001 From: Mark Fields Date: Wed, 8 Jan 2025 00:11:05 +0000 Subject: [PATCH 6/7] api.md --- .../api-report/container-runtime.legacy.alpha.api.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/runtime/container-runtime/api-report/container-runtime.legacy.alpha.api.md b/packages/runtime/container-runtime/api-report/container-runtime.legacy.alpha.api.md index 88e1815fbb12..90264330f335 100644 --- a/packages/runtime/container-runtime/api-report/container-runtime.legacy.alpha.api.md +++ b/packages/runtime/container-runtime/api-report/container-runtime.legacy.alpha.api.md @@ -34,7 +34,7 @@ export enum ContainerMessageType { // @alpha @deprecated export class ContainerRuntime extends TypedEventEmitter implements IContainerRuntime, IRuntime, ISummarizerRuntime, ISummarizerInternalsProvider, IProvideFluidHandleContext { - protected constructor(context: IContainerContext, registry: IFluidDataStoreRegistry, metadata: IContainerRuntimeMetadata | undefined, electedSummarizerData: ISerializedElection | undefined, chunks: [string, string[]][], dataStoreAliasMap: [string, string][], runtimeOptions: Readonly> & IContainerRuntimeOptions>, containerScope: FluidObject, baseLogger: ITelemetryBaseLogger, existing: boolean, blobManagerSnapshot: IBlobManagerLoadInfo, _storage: IDocumentStorageService, createIdCompressor: () => Promise, documentsSchemaController: DocumentsSchemaController, featureGatesForTelemetry: Record, provideEntryPoint: (containerRuntime: IContainerRuntime) => Promise, requestHandler?: ((request: IRequest, runtime: IContainerRuntime) => Promise) | undefined, summaryConfiguration?: ISummaryConfiguration, recentBatchInfo?: [number, string][]); + protected constructor(context: IContainerContext, registry: IFluidDataStoreRegistry, metadata: IContainerRuntimeMetadata | undefined, electedSummarizerData: ISerializedElection | undefined, chunks: [string, string[]][], dataStoreAliasMap: [string, string][], runtimeOptions: Readonly>, containerScope: FluidObject, baseLogger: ITelemetryBaseLogger, existing: boolean, blobManagerSnapshot: IBlobManagerLoadInfo, _storage: IDocumentStorageService, createIdCompressor: () => Promise, documentsSchemaController: DocumentsSchemaController, featureGatesForTelemetry: Record, provideEntryPoint: (containerRuntime: IContainerRuntime) => Promise, requestHandler?: ((request: IRequest, runtime: IContainerRuntime) => Promise) | undefined, summaryConfiguration?: ISummaryConfiguration, recentBatchInfo?: [number, string][]); // (undocumented) protected addContainerStateToSummary(summaryTree: ISummaryTreeWithStats, fullTree: boolean, trackState: boolean, telemetryContext?: ITelemetryContext): void; addedGCOutboundRoute(fromPath: string, toPath: string, messageTimestampMs?: number): void; From d1bc392274bae92f06c1b52b2712c3768c006271 Mon Sep 17 00:00:00 2001 From: Mark Fields Date: Wed, 8 Jan 2025 01:06:59 +0000 Subject: [PATCH 7/7] link to deprecation release note --- .changeset/cruel-horses-cheat.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.changeset/cruel-horses-cheat.md b/.changeset/cruel-horses-cheat.md index e66f41a33c1f..06db91308f3c 100644 --- a/.changeset/cruel-horses-cheat.md +++ b/.changeset/cruel-horses-cheat.md @@ -7,7 +7,4 @@ IContainerRuntimeOptions.flushMode has been removed -This option allowed an application to specify whether to flush ops "immediately" (literally 1-by-1) or "turn-based" -(batched by JS turn). `Immediate` mode has been deprecated and should no longer be used. - -Now there is only one choice, which is the default `TurnBased` mode, so the `flushMode` option can be removed. +See [2.12.0 release note](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-icontainerruntimeoptionsflushmode-is-now-deprecated-23288)