-
Notifications
You must be signed in to change notification settings - Fork 549
Revert "feat(datastore): Add experimental isDirty getter to DataStoreRuntime" #24744
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
Conversation
…Runtime …" This reverts commit e8d1bcd.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR reverts the experimental changes related to the isDirty getter in DataStoreRuntime. The changes remove the isDirty getter and associated tests as well as adjustments using the experimental API from stress tests, runtime, and API definitions.
- Removed usage and tests of the experimental isDirty getter in DataStoreRuntime and associated modules.
- Updated local stress test harness and data-store operations to use only the stable consistency validation methods.
- Cleared experimental API references from both runtime and API definition files.
Reviewed Changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 1 comment.
Show a summary per file
File | Description |
---|---|
packages/test/local-server-stress-tests/src/test/localServerStress.spec.ts | Removed experimental validation (isDirty) in favor of stable consistency functions. |
packages/test/local-server-stress-tests/src/stressDataObject.ts | Deleted the experimental isDirty getter and removed deprecated import. |
packages/test/local-server-stress-tests/src/localServerStressHarness.ts | Adjusted parameter naming in consistency functions to reflect channels rather than clients. |
packages/test/local-server-stress-tests/src/ddsOperations.ts | Refactored the object mapping for building the channel map. |
packages/test/local-server-stress-tests/src/dataStoreOperations.ts | Entire file removed as part of the revert. |
packages/runtime/test-runtime-utils/src/mocksDataStoreContext.ts | Changed mock property initializations from {} to undefined. |
packages/runtime/datastore/src/test/dataStoreRuntime.spec.ts | Removed tests for isDirty tracking. |
packages/runtime/datastore/src/dataStoreRuntime.ts | Removed pending op count manipulations and experimental isDirty related code. |
packages/runtime/datastore-definitions/src/dataStoreRuntime.ts | Removed isDirty property from the experimental API interface. |
packages/runtime/datastore-definitions/api-report/datastore-definitions.legacy.alpha.api.md | Removed isDirty reference from the API report. |
Comments suppressed due to low confidence (1)
packages/runtime/test-runtime-utils/src/mocksDataStoreContext.ts:54
- The change from an empty object ({}) to undefined for mock properties may lead to unexpected errors if these properties are accessed in tests. Verify that all dependent tests are updated to handle the undefined initialization or provide appropriate defaults.
public containerRuntime: IContainerRuntimeBase = undefined as any;
🔗 No broken links found! ✅ Your attention to detail is admirable. linkcheck output
|
@yann-achard-MS full support for this back out, but I believe this mocks change ended up being unnecessary for the original PR. So we should be able to just revert that file. That will certainly fix the Integration pipeline. Of course there's a risk that I'm mistaken in which case such a PR would fail checks here. |
Thanks @markfields, I created #24745 (needs approval) |
Reverts parts of #24704 While not yet confirmed, it seems plausible that #24704 has caused the bohemia FF integration pipeline to [fail](https://dev.azure.com/office/OC/_build/results?buildId=37401808). The failing tests in the integration pipeline seem encounter an issue with `MockFluidDataStoreContext.containerRuntime.on` not being a function. The reverted PR made some changes to `MockFluidDataStoreContext.containerRuntime` that could be the cause. [A separate PR](#24744) was first made to revert the whole of #24704 but that requires fluid-cr-api approval (none of the people seem present) and as Mark pointed out, it should not be necessary to revert the whole thing. See [Teams thread](https://teams.microsoft.com/l/message/19:2309a5f41d894db984a8efc811dbb4b6@thread.skype/1748637508660?tenantId=72f988bf-86f1-41af-91ab-2d7cd011db47&groupId=422665a0-7ad3-4d0d-9171-e8881d0397d9&parentMessageId=1748637508660&teamName=Loop&channelName=Dev%20%F0%9F%91%A9%E2%80%8D%F0%9F%92%BB&createdTime=1748637508660) for context and discussion.
Reverts #24704
While not yet confirmed, it seems plausible that this change has caused the bohemia FF integration pipeline to fail.
The failing tests in the integration pipeline seem encounter an issue with
MockFluidDataStoreContext.containerRuntime.on
not being a function. The reverted PR made some changes toMockFluidDataStoreContext.containerRuntime
. It's not clear why the changes would cause that failure, but as Mark says, when in doubt, back it out.See Teams thread for context and discussion.