Skip to content

PropertiesManager Update to Support SharedString DDS annotateAdjustRange#23059

Merged
anthony-murphy merged 162 commits into
microsoft:mainfrom
anthony-murphy:just-pending-state-manager
Nov 13, 2024
Merged

PropertiesManager Update to Support SharedString DDS annotateAdjustRange#23059
anthony-murphy merged 162 commits into
microsoft:mainfrom
anthony-murphy:just-pending-state-manager

Conversation

@anthony-murphy
Copy link
Copy Markdown
Contributor

@anthony-murphy anthony-murphy commented Nov 12, 2024

This change splits out the changes the PropertiesManger class from #22751. The goal is to supply a smaller set of changes that are easier to review, and allow #22751 to be checked in in two parts. After this all that will be left in #22751 is plumbing the feature through the layers.

For the broader context of this change, please read the descriptions from: #22751

anthony-murphy and others added 30 commits September 17, 2024 09:32
…to seperate-segment-visabilty-interfaces
@anthony-murphy anthony-murphy requested review from a team as code owners November 12, 2024 01:56
@github-actions github-actions Bot added base: main PRs targeted against main branch area: dds Issues related to distributed data structures area: dds: sharedstring area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct public api change Changes to a public API labels Nov 12, 2024
@@ -3,13 +3,16 @@
* Licensed under the MIT License.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file contains most of the important changes, and is essentially a rewrite. i recommend reviewing in split view, rather than inline diff, as the changes are not incremental, so inline diffs will not make very much sense.

@anthony-murphy anthony-murphy force-pushed the just-pending-state-manager branch from df5d68a to 77d1afe Compare November 12, 2024 03:04
@github-actions github-actions Bot removed the area: framework Framework is a tag for issues involving the developer framework. Eg Aqueduct label Nov 12, 2024
Copy link
Copy Markdown
Collaborator

@msfluid-bot msfluid-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Coverage Summary

↓ packages.dds.merge-tree.src:
Line Coverage Change: 0.05%    Branch Coverage Change: -0.16%
Metric NameBaseline coveragePR coverageCoverage Diff
Branch Coverage 94.94% 94.78% ↓ -0.16%
Line Coverage 97.27% 97.32% ↑ 0.05%
↑ packages.dds.sequence.src:
Line Coverage Change: No change    Branch Coverage Change: 0.13%
Metric NameBaseline coveragePR coverageCoverage Diff
Branch Coverage 89.53% 89.66% ↑ 0.13%
Line Coverage 89.87% 89.87% → No change
↑ packages.dds.merge-tree.src.collections:
Line Coverage Change: 0.21%    Branch Coverage Change: 0.17%
Metric NameBaseline coveragePR coverageCoverage Diff
Branch Coverage 91.49% 91.66% ↑ 0.17%
Line Coverage 93.69% 93.90% ↑ 0.21%

Baseline commit: 861bc29
Baseline build: 306341
Happy Coding!!

Code coverage comparison check passed!!

@msfluid-bot
Copy link
Copy Markdown
Collaborator

msfluid-bot commented Nov 12, 2024

@fluid-example/bundle-size-tests: +4.77 KB
Metric NameBaseline SizeCompare SizeSize Diff
aqueduct.js 464.33 KB 465.9 KB +1.57 KB
azureClient.js 563.18 KB 563.23 KB +49 Bytes
connectionState.js 724 Bytes 724 Bytes No change
containerRuntime.js 262.48 KB 262.5 KB +14 Bytes
fluidFramework.js 426.84 KB 426.85 KB +14 Bytes
loader.js 134.18 KB 134.19 KB +14 Bytes
map.js 42.71 KB 42.71 KB +7 Bytes
matrix.js 148.36 KB 149.85 KB +1.5 KB
odspClient.js 528.97 KB 529.02 KB +49 Bytes
odspDriver.js 97.88 KB 97.9 KB +21 Bytes
odspPrefetchSnapshot.js 42.81 KB 42.83 KB +14 Bytes
sharedString.js 164.26 KB 165.78 KB +1.52 KB
sharedTree.js 417.3 KB 417.3 KB +7 Bytes
Total Size 3.37 MB 3.37 MB +4.77 KB

Baseline commit: cc3fb6d

Generated by 🚫 dangerJS against 4c46900

Copy link
Copy Markdown
Contributor

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.

Copilot reviewed 5 out of 12 changed files in this pull request and generated no suggestions.

Files not reviewed (7)
  • packages/dds/merge-tree/package.json: Language not supported
  • packages/dds/merge-tree/api-report/merge-tree.legacy.alpha.api.md: Evaluated as low risk
  • packages/dds/merge-tree/src/collections/index.ts: Evaluated as low risk
  • packages/dds/merge-tree/src/ops.ts: Evaluated as low risk
  • packages/dds/merge-tree/src/segmentPropertiesManager.ts: Evaluated as low risk
  • packages/dds/merge-tree/src/index.ts: Evaluated as low risk
  • packages/dds/merge-tree/src/mergeTree.ts: Evaluated as low risk

Tip: Copilot only keeps its highest confidence comments to reduce noise and keep you focused. Learn more

Copy link
Copy Markdown
Contributor

@Abe27342 Abe27342 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks pretty good, few smallish pieces of feedback

Comment thread packages/dds/merge-tree/src/collections/list.ts Outdated
Comment thread packages/dds/merge-tree/api-report/merge-tree.legacy.alpha.api.md Outdated
Comment thread packages/dds/merge-tree/src/ops.ts Outdated
Comment thread packages/dds/merge-tree/src/ops.ts Outdated
Comment thread packages/dds/merge-tree/src/segmentPropertiesManager.ts Outdated
Comment thread packages/dds/merge-tree/src/segmentPropertiesManager.ts
const change = this.changes.get(key);
const acked = change?.local?.shift();
assert(change !== undefined && acked !== undefined, "must have local change to ack");
// we only track remotes if there are adjusts, as only adjusts make application anti-commutative
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice optimization, was pondering if the known issues we have around zamboni not being as active as it should would be problematic, but this should avoid that for the cases we care most about for now :)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah. i waffled on this a bit. I think it is fine for now, as i don't foresee these lists getting very big, and they only cost anything when changes are applied, and when there are changes, they get cleaned up. There might be some that sit around when they don't need to, but when we fix zamboni, this should also get resolved.

Comment thread packages/dds/merge-tree/src/segmentPropertiesManager.ts
Comment thread packages/dds/merge-tree/src/segmentPropertiesManager.ts Outdated
anthony-murphy and others added 5 commits November 12, 2024 14:04
Co-authored-by: Abram Sanderson <Abram.sanderson@gmail.com>
Co-authored-by: Abram Sanderson <Abram.sanderson@gmail.com>
@anthony-murphy anthony-murphy merged commit 952e805 into microsoft:main Nov 13, 2024
@anthony-murphy anthony-murphy deleted the just-pending-state-manager branch November 13, 2024 20:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: dds: sharedstring area: dds Issues related to distributed data structures 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.

4 participants