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

[improve][broker] PIP-192 Improved Auto-Unload Logic #39

Closed
wants to merge 11 commits into from

Conversation

heesung-sn
Copy link
Owner

@heesung-sn heesung-sn commented Mar 15, 2023

Master Issue: Master Issue: apache#16691, apache#18099

Motivation

Raising a PR to implement Master Issue: apache#16691, apache#18099

We want to reduce unload frequencies from flaky traffic.

Modifications

This PR

  • Introduced a config loadBalancerSheddingConditionHitCountThreshold to further restrict shedding conditions based on the hit count.
  • Lowered the default loadBalanceSheddingDelayInSeconds value from 600 to 180, as 10 mins are too long. 3 mins can be long enough to catch the new load after unloads.
  • Changed the config loadBalancerBundleLoadReportPercentage to loadBalancerMaxNumberOfBundlesInBundleLoadReport to make the topk bundle count absolute instead of relative.
  • Renamed loadBalancerNamespaceBundleSplitConditionThreshold to loadBalancerNamespaceBundleSplitConditionHitCountThreshold to be consistent with *ConditionHitCountThreshold.
  • Renamed loadBalancerMaxNumberOfBrokerTransfersPerCycle to loadBalancerMaxNumberOfBrokerSheddingPerCycle.
  • Added LoadDataStore cleanup logic in BSC monitor.
  • Added msgThroughputEMA in BrokerLoadData to smooth the broker throughput info.
  • Updated Topk bundles sorted in a ascending order (instead of descending)
  • Update some info logs to only show in the debug mode.
  • Tombstone load data upon Own, Releasing, Splitting

Verifying this change

  • Make sure that the change passes the CI checks.

This change added tests and can be verified as follows:

  • *Updated unit tests.

Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

  • Dependencies (add or upgrade a dependency)
  • The public API
  • The schema
  • The default values of configurations
  • The threading model
  • The binary protocol
  • The REST endpoints
  • The admin CLI options
  • Anything that affects deployment

Documentation

  • doc
  • doc-required
  • doc-not-needed
  • doc-complete

We will have separate PRs to update the Doc later.

Matching PR in forked repository

PR in forked repository: #39

@heesung-sn heesung-sn changed the title [improve][broker] PIP-192 improved TransferShedder logic [improve][broker] PIP-192 Improved TransferShedder logic Mar 15, 2023
@heesung-sn heesung-sn force-pushed the pip-192-unload-improve branch from 0e1d126 to dbf2ddc Compare March 15, 2023 00:59
@heesung-sn heesung-sn changed the title [improve][broker] PIP-192 Improved TransferShedder logic [improve][broker] PIP-192 Improved Unload Logic Mar 15, 2023
@heesung-sn heesung-sn changed the title [improve][broker] PIP-192 Improved Unload Logic [improve][broker] PIP-192 Improved Auto-Unload Logic Mar 15, 2023
@heesung-sn heesung-sn force-pushed the pip-192-unload-improve branch 5 times, most recently from 31a3c3c to 0ca5ae3 Compare March 21, 2023 02:05
@heesung-sn heesung-sn force-pushed the pip-192-unload-improve branch from 0ca5ae3 to f310c4f Compare March 21, 2023 23:46
@heesung-sn heesung-sn force-pushed the pip-192-unload-improve branch 3 times, most recently from d619eb9 to cbac501 Compare March 22, 2023 22:22
@heesung-sn heesung-sn force-pushed the pip-192-unload-improve branch from cbac501 to 1cc8aab Compare March 22, 2023 22:22
@heesung-sn heesung-sn force-pushed the pip-192-unload-improve branch from a9b4171 to 459631b Compare March 25, 2023 20:42
@heesung-sn heesung-sn closed this Mar 30, 2023
@heesung-sn heesung-sn deleted the pip-192-unload-improve branch April 2, 2024 17:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant