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

Fixes not owned bundles got selected when broker overloading #5002

Merged

Conversation

kezhuw
Copy link
Member

@kezhuw kezhuw commented Aug 21, 2019

Motivation

Fixes not owned bundles got selected when broker overloading

Modifications

Filters out not owned bundles in finding candidate bundles for unloading.

Verifying this change

This change added tests and can be verified as follows:

  • Adds test to ensure only owned bundles got selected when broker overloading.

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

  • Dependencies (does it add or upgrade a dependency): (no)
  • The public API: (no)
  • The schema: (no)
  • The default values of configurations: (no)
  • The wire protocol: (no)
  • The rest endpoints: (no)
  • The admin cli options: (no)
  • Anything that affects deployment: (no)

Documentation

  • Does this pull request introduce a new feature? (no)

@sijie sijie added area/broker type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages labels Aug 21, 2019
@kezhuw
Copy link
Member Author

kezhuw commented Aug 21, 2019

run java8 tests

@sijie
Copy link
Member

sijie commented Aug 22, 2019

@kezhuw thank you for the fix. although just out of curiosity, at which condition, bundles will be inconsistent with bundleData? Have you encountered this issue in your production?

@kezhuw
Copy link
Member Author

kezhuw commented Aug 23, 2019

@sijie I found this issue in reading through pulsar not production. What this issue reporting is not-owned-by bundles, eg. bundles that were owned by other brokers, were selected due to broker overloading, not inconsistent between LocalBrokerData.getBundles and LoadData.getBundleData.

I think the testing code is somewhat confusing, may be better to bind ownerless bundles to a not overloaded broker ?

@kezhuw
Copy link
Member Author

kezhuw commented Aug 25, 2019

@sijie I have add a fixup commit to refine testing code, and now it should be more clearly that the testing code is trying to assert only owned bundles got selected (this is the commit title of the first commit 2b9a2b0). This fixup commit should be squash out or rebase to first commit in merging if this pr got approved.

@kezhuw
Copy link
Member Author

kezhuw commented Aug 25, 2019

run cpp tests

@kezhuw
Copy link
Member Author

kezhuw commented Aug 25, 2019

run java8 tests
run cpp tests

@sijie
Copy link
Member

sijie commented Aug 25, 2019

@merlimat @rdhabalia PTAL

@sijie sijie added this to the 2.5.0 milestone Aug 25, 2019
@sijie
Copy link
Member

sijie commented Aug 28, 2019

@merlimat @rdhabalia PTAL

@rdhabalia rdhabalia merged commit c32b402 into apache:master Aug 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/broker type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants