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

Speed up Name Collision Check in Metadata.Builder #83340

Merged

Conversation

original-brownbear
Copy link
Member

Once either indices, datastreams or their aliases become very numerous, these
checks of adding everything to a fresh set and then retaining collisions
become very expensive. Slightly adjusted the logic to just collect collisions
instead to save endless set adding.
Also refactored the logic a little to make it easier to profile the time spent
on these validations and extracted some cold-paths for maybe a minor speedup.

relates #77466

Once either indices, datastreams or their aliases become very numerous, these
checks of adding everything to a fresh set and then retaining collisions
become very expensive. Slightly adjusted the logic to just collect collisions
instead to save endless set adding.
Also refactored the logic a little to make it easier to profile the time spent
on these validations and extraced some cold-paths for maybe a minor speedup.
@original-brownbear original-brownbear added >non-issue :Data Management/Indices APIs APIs to create and manage indices and templates v8.1.0 labels Jan 31, 2022
@elasticmachine elasticmachine added the Team:Data Management Meta label for data/management team label Jan 31, 2022
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-data-management (Team:Data Management)

Copy link
Member

@martijnvg martijnvg left a comment

Choose a reason for hiding this comment

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

LGTM 👍

@original-brownbear
Copy link
Member Author

Thanks Martijn!

@original-brownbear original-brownbear merged commit 7293f47 into elastic:master Feb 7, 2022
@original-brownbear original-brownbear deleted the faster-build-metadata branch February 7, 2022 09:31
weizijun added a commit to weizijun/elasticsearch that referenced this pull request Feb 7, 2022
* upstream/master:
  [DOCS] Switch xrefs to external links (elastic#83590)
  [DOCS] 'features' flag added in elastic#83083 (elastic#83452)
  Rename ChangePolicyforIndexIT to ChangePolicyForIndexIT (elastic#83569)
  Fixing random_sampler tests (elastic#83549)
  Upgrade Checkstyle to 9.3 (elastic#83314)
  Make improvements to the release notes generator (elastic#83525)
  Cleanup DataTierAllocationDecider (elastic#83572)
  Upgrade jANSI dependency to 2.4.0 (elastic#83566)
  Speed up Name Collision Check in Metadata.Builder (elastic#83340)
  SQL: Add range checks to interval multiplication operation (elastic#83478)
  Remove DiscoveryNodes#getAllNodes (elastic#83538)
  Make RoutingNodes behave like a collection (elastic#83540)
  Remove Unused CS Listener from SecurityServerTransportInterceptor (elastic#83556)
@original-brownbear original-brownbear restored the faster-build-metadata branch April 18, 2023 20:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
:Data Management/Indices APIs APIs to create and manage indices and templates >non-issue Team:Data Management Meta label for data/management team v8.2.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants