-
Notifications
You must be signed in to change notification settings - Fork 535
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make flushMode immutable for a container. Deprecate ContainerRuntime.setFlushMode()
#9480
Comments
To add:
|
ContainerRuntime.setFlushMode()
Deprecated API
Context The API is not currently used and enables a set of scenarios which should not be supported. Maintaining this API is costly and it adds a non-trivial amount of complexity to the adjacent logic. Approach
Workarounds for the existing scenarios:
Dependencies Compatibility Concerns Phases
Expected Timeline
Open Questions TBD |
Confirmed the API is not currently used in Bohemia and Whiteboard. |
Closed to track in AB#393 |
# [AB#393](https://dev.azure.com/fluidframework/235294da-091d-4c29-84fc-cdfc3d90890b/_workitems/edit/393) and [AB#394](https://dev.azure.com/fluidframework/internal/_workitems/edit/394) ## Description The `setFlushMode` API is not currently used and enables a set of scenarios which should not be supported. Maintaining this API is costly, and it adds a non-trivial amount of complexity to the adjacent logic. Because the `flushMode` should no longer change, the `PendingStateManager` should not track the switches in the previous system. Instead, the `PendingStateManager` will track and replay batches explicitly rather than through the setting of flush modes. See #9480 and #9481. ## Does this introduce a breaking change? The `setFlushMode` has been removed from `IContainerRuntimeBase`. Please remove all usage of this method as FlushMode is now an immutable property for the container runtime, optionally provided at creation time via the `IContainerRuntimeOptions` interface. The `PendingStateManager` no longer tracks flush mode as it is now an immutable property on the `IContainerRuntimeBase`. Instead, tracking of batches is done explicitly and they are replayed directly through usage of the `orderSequentially` method on `IContainerRuntimeBase`. ## Other information or known dependencies TODO after this PR: - Add tests to improve batch coverage in `containerRuntime.spec.ts`. See [comment](#10503 (comment)). - [AB#1060](https://dev.azure.com/fluidframework/internal/_workitems/edit/1060) - Deprecate `IContainerRuntime.flush`. This method should not be exposed publicly. - [AB#1059](https://dev.azure.com/fluidframework/internal/_workitems/edit/1059)
From the conversation in #9432, we should make flushMode immutable.
Primary reason for this work is to enable / make it easier to do
The text was updated successfully, but these errors were encountered: