From 49d8e75e5cad12205aed15850db72c1ad21513c3 Mon Sep 17 00:00:00 2001 From: MarioJGMsoft Date: Wed, 11 Dec 2024 13:46:16 -0800 Subject: [PATCH] Deprecate enableGroupedBatching (#23260) ## Description After discussing the work in task [#8124](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/8124), we concluded that it was best to make Batch Grouping dependent on Batch Compression. This is the first step where we are tagging enableGroupedBatching as deprecated in containerRuntime.ts Acceptance Criteria: containerRuntime.enableGroupedBatching is now tagged as deprecated Execution Plan: Create the changeset file explaining the change and add the @deprecated tag ## Reviewer Guidance Please let me know if there's anything I should change or make better. Fixes [AB#26356](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/26356) --- .changeset/sad-dodos-sell.md | 13 +++++++++++++ .../container-runtime.legacy.alpha.api.md | 1 + .../container-runtime/src/containerRuntime.ts | 3 ++- 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 .changeset/sad-dodos-sell.md diff --git a/.changeset/sad-dodos-sell.md b/.changeset/sad-dodos-sell.md new file mode 100644 index 000000000000..9ea950b4b351 --- /dev/null +++ b/.changeset/sad-dodos-sell.md @@ -0,0 +1,13 @@ +--- +"@fluidframework/container-runtime": minor +"@fluidframework/fluid-static": minor +--- +--- +"section": deprecation +--- + +IContainerRuntimeOptions.enableGroupedBatching is now deprecated + +The `IContainerRuntimeOptions.enableGroupedBatching` property is deprecated and will be removed in version 2.20.0. This will mean that the grouped batching feature can no longer be disabled. In versions 2.20.0 and beyond, grouped batching is required for the proper functioning of the Fluid Framework. + +The sole case where grouped batching will be disabled is for compatibility with older v1 clients, and this will be implemented without any need for the configurable `IContainerRuntimeOptions.enableGroupedBatching` option. 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 545aa3293bcc..9116b943f171 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 @@ -340,6 +340,7 @@ export interface IContainerRuntimeMetadata extends ICreateContainerMetadata, IGC export interface IContainerRuntimeOptions { readonly chunkSizeInBytes?: number; readonly compressionOptions?: ICompressionRuntimeOptions; + // @deprecated readonly enableGroupedBatching?: boolean; readonly enableRuntimeIdCompressor?: IdCompressorMode; readonly explicitSchemaControl?: boolean; diff --git a/packages/runtime/container-runtime/src/containerRuntime.ts b/packages/runtime/container-runtime/src/containerRuntime.ts index 19263606163e..ceedaa8dfd0d 100644 --- a/packages/runtime/container-runtime/src/containerRuntime.ts +++ b/packages/runtime/container-runtime/src/containerRuntime.ts @@ -515,9 +515,10 @@ export interface IContainerRuntimeOptions { /** * If enabled, the runtime will group messages within a batch into a single * message to be sent to the service. - * The grouping an ungrouping of such messages is handled by the "OpGroupingManager". + * The grouping and ungrouping of such messages is handled by the "OpGroupingManager". * * By default, the feature is enabled. + * @deprecated The ability to disable Grouped Batching is deprecated and will be removed in v2.20.0. This feature is required for the proper functioning of the Fluid Framework. */ readonly enableGroupedBatching?: boolean;