Skip to content
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

Deprecate mergeTree's findTile method #16776

Closed
4 of 5 tasks
jzaffiro opened this issue Aug 9, 2023 · 1 comment
Closed
4 of 5 tasks

Deprecate mergeTree's findTile method #16776

jzaffiro opened this issue Aug 9, 2023 · 1 comment
Assignees
Labels
api deprecation Changes to a deprecated API status: stale

Comments

@jzaffiro
Copy link
Contributor

jzaffiro commented Aug 9, 2023

Deprecated API

findTile method in mergeTree and client. This API locates the tile nearest to a given start position in a string in either the forward or backward direction.

Context
This API utilizes accelerated search functions to achieve a log(n) complexity, but those functions have a number of bugs and produce odd behavior in certain cases. Any users of this API have to implement various workarounds to get the functionality that they actually want. When comparing the tile returned by this method with those returned by the forwardExcursion or backwardExcurson methods, which have much more test coverage and are much more likely to return the intended tile, the results do not match up.

Approach
findTile will be replaced by searchForMarker, which utilizes depthFirstNodeWalk instead of searchBlock and backwardSearchBlock. Test coverage for the new API will also be improved. The PR that takes care of the deprecation is #16517.

Dependencies
None.

Compatibility Concerns
None.

Phases

  • Deprecate findTile and add searchForMarker.
  • Improve test coverage of searchForMarker.
  • Replace all usages of findTile with searchForMarker in partner repos.
  • Remove findTile in mergeTree and client, as well as associated tests.
  • Remove non-exported functions/interfaces that are only used in findTile: IReferenceSearchInfo, recordTileStart, tileShift

Expected Timeline
The API will likely be removed in the 2.0.0-internal.7.0.0 release (the next major release).

Open Questions
None.

@jzaffiro jzaffiro added the api deprecation Changes to a deprecated API label Aug 9, 2023
@jzaffiro jzaffiro self-assigned this Aug 9, 2023
Copy link
Contributor

This issue has been automatically marked as stale because it has had no activity for 180 days. It will be closed if no further activity occurs within 8 days of this comment. Thank you for your contributions to Fluid Framework!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api deprecation Changes to a deprecated API status: stale
Projects
None yet
Development

No branches or pull requests

2 participants
@jzaffiro and others