Skip to content

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

Closed
wants to merge 1 commit into from

Conversation

yann-achard-MS
Copy link
Contributor

@yann-achard-MS yann-achard-MS commented May 31, 2025

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 to MockFluidDataStoreContext.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.

@Copilot Copilot AI review requested due to automatic review settings May 31, 2025 00:58
@yann-achard-MS yann-achard-MS requested a review from a team as a code owner May 31, 2025 00:58
@github-actions github-actions bot added area: runtime Runtime related issues area: tests Tests to add, test infrastructure improvements, etc public api change Changes to a public API base: main PRs targeted against main branch labels May 31, 2025
Copy link
Contributor

@Copilot Copilot AI left a 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;

Copy link
Contributor

🔗 No broken links found! ✅

Your attention to detail is admirable.

linkcheck output


> fluid-framework-docs-site@0.0.0 ci:check-links /home/runner/work/FluidFramework/FluidFramework/docs
> start-server-and-test "npm run serve -- --no-open" 3000 check-links

1: starting server using command "npm run serve -- --no-open"
and when url "[ 'http://127.0.0.1:3000' ]" is responding with HTTP status code 200
running tests using command "npm run check-links"


> fluid-framework-docs-site@0.0.0 serve
> docusaurus serve --no-open

[SUCCESS] Serving "build" directory at: http://localhost:3000/

> fluid-framework-docs-site@0.0.0 check-links
> linkcheck http://localhost:3000 --skip-file skipped-urls.txt

Crawling...

Stats:
  222975 links
    1707 destination URLs
    1939 URLs ignored
       0 warnings
       0 errors


@yann-achard-MS yann-achard-MS enabled auto-merge (squash) May 31, 2025 02:02
@markfields
Copy link
Member

@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.

@yann-achard-MS
Copy link
Contributor Author

Thanks @markfields, I created #24745 (needs approval)

yann-achard-MS added a commit that referenced this pull request May 31, 2025
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: runtime Runtime related issues area: tests Tests to add, test infrastructure improvements, etc base: main PRs targeted against main branch public api change Changes to a public API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants