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

Remove unused coordinator dynamic configs #14524

Merged
merged 3 commits into from
Jul 6, 2023

Conversation

kfaraz
Copy link
Contributor

@kfaraz kfaraz commented Jul 5, 2023

Description

After #13197 , several coordinator configs are now redundant as they are not being used anymore, neither with smartSegmentLoading nor otherwise.

Changes

  • Remove dynamic configs emitBalancingStats: balancer error stats are always emitted, debug stats can be logged by using debugDimensions
  • useBatchedSegmentSampler, percentOfSegmentsToConsiderPerMove: batched segment sampling is always used
  • Add test to verify deserialization with unknown properties
  • Update CoordinatorRunStats to always track stats, even if the stat will never be emitted or logged.
    • There are currently only 2 such stats. When we add more such stats, we can optimize this later.
    • Keeping the logic to not collect such stats will require debugDimensions to be passed to CostBalancerStrategy via CostBalancerStrategyFactory.createStrategy(), which seems an overkill.

Release note

The following Coordinator dynamic configs have been removed:

  • emitBalancingStats: Stats for errors encountered while balancing will always be emitted. Other debugging stats will not be emitted but can be logged by setting the appropriate debugDimensions.
  • useBatchedSegmentSampler, percentOfSegmentsToConsiderPerMove: Batched segment sampling is now the standard and will always be on.

This PR has:

  • been self-reviewed.
  • added documentation for new or modified features or behaviors.
  • a release note entry in the PR description.
  • added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
  • added or updated version, license, or notice information in licenses.yaml
  • added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
  • added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
  • added integration tests.
  • been tested in a test Druid cluster.

@AmatyaAvadhanula
Copy link
Contributor

Could you please make changes to coordinator-dynamic-config.tsx and the configuration docs as well?

@kfaraz
Copy link
Contributor Author

kfaraz commented Jul 5, 2023

Thanks for the reminder, @AmatyaAvadhanula !

Copy link
Contributor

@AmatyaAvadhanula AmatyaAvadhanula left a comment

Choose a reason for hiding this comment

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

Thank you @kfaraz. LGTM

@kfaraz kfaraz merged commit a6547fe into apache:master Jul 6, 2023
@kfaraz kfaraz deleted the remove_unused_param branch July 6, 2023 06:42
sergioferragut pushed a commit to sergioferragut/druid that referenced this pull request Jul 21, 2023
After apache#13197 , several coordinator configs are now redundant as they are not being
used anymore, neither with `smartSegmentLoading` nor otherwise.

Changes:
- Remove dynamic configs `emitBalancingStats`: balancer error stats are always
emitted, debug stats can be logged by using `debugDimensions`
- `useBatchedSegmentSampler`, `percentOfSegmentsToConsiderPerMove`:
batched segment sampling is always used
- Add test to verify deserialization with unknown properties
- Update `CoordinatorRunStats` to always track stats, this can be optimized later.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants