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

support asynchronously notify brokers when their roles has been changed #6346

Closed
TheR1sing3un opened this issue Mar 14, 2023 · 0 comments · Fixed by #6348
Closed

support asynchronously notify brokers when their roles has been changed #6346

TheR1sing3un opened this issue Mar 14, 2023 · 0 comments · Fixed by #6348

Comments

@TheR1sing3un
Copy link
Contributor

Now the controller synchronously notify the brokers when handle ControllerElectMaster request

image

In windows platform, this notification will costs up to 2s for each broker

total time spent with one master and one slave architecture
image

So prevent the response from being blocked for a long time, we can asynchronously notify brokers

total time spend after supporting asynchronous notification
image

The issue tracker is used for bug reporting purposes ONLY whereas feature request needs to follow the RIP process. To avoid unnecessary duplication, please check whether there is a previous issue before filing a new one.

It is recommended to start a discussion thread in the mailing lists or github discussions in cases of discussing your deployment plan, API clarification, and other non-bug-reporting issues.
We welcome any friendly suggestions, bug fixes, collaboration, and other improvements.

Please ensure that your bug report is clear and self-contained. Otherwise, it would take additional rounds of communication, thus more time, to understand the problem itself.

Generally, fixing an issue goes through the following steps:

  1. Understand the issue reported;
  2. Reproduce the unexpected behavior locally;
  3. Perform root cause analysis to identify the underlying problem;
  4. Create test cases to cover the identified problem;
  5. Work out a solution to rectify the behavior and make the newly created test cases pass;
  6. Make a pull request and go through peer review;

As a result, it would be very helpful yet challenging if you could provide an isolated project reproducing your reported issue. Anyway, please ensure your issue report is informative enough for the community to pick up. At a minimum, include the following hints:

BUG REPORT

  1. Please describe the issue you observed:
  • What did you do (The steps to reproduce)?

  • What is expected to see?

  • What did you see instead?

  1. Please tell us about your environment:

  2. Other information (e.g. detailed explanation, logs, related issues, suggestions on how to fix, etc):

FEATURE REQUEST

  1. Please describe the feature you are requesting.

  2. Provide any additional detail on your proposed use case for this feature.

  3. Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?

  4. If there are some sub-tasks involved, use -[] for each sub-task and create a corresponding issue to map to the sub-task:

RongtongJin pushed a commit that referenced this issue Mar 15, 2023
…has been changed (#6348)

* feat(controller): support asynchronous notify brokers when roles changed

1. support asynchronous notify brokers when roles changed

* refactor(controller): move creating NotifyService instance logic to ControllerManager's constructor method

1. move creating NotifyService instance logic to ControllerManager's
constructor method
miles-ton pushed a commit to miles-ton/rocketmq that referenced this issue Mar 16, 2023
…roles has been changed (apache#6348)

* feat(controller): support asynchronous notify brokers when roles changed

1. support asynchronous notify brokers when roles changed

* refactor(controller): move creating NotifyService instance logic to ControllerManager's constructor method

1. move creating NotifyService instance logic to ControllerManager's
constructor method
fuyou001 pushed a commit to fuyou001/rocketmq that referenced this issue Mar 16, 2023
…roles has been changed (apache#6348)

* feat(controller): support asynchronous notify brokers when roles changed

1. support asynchronous notify brokers when roles changed

* refactor(controller): move creating NotifyService instance logic to ControllerManager's constructor method

1. move creating NotifyService instance logic to ControllerManager's
constructor method
TheR1sing3un added a commit to TheR1sing3un/rocketmq that referenced this issue Mar 17, 2023
…roles has been changed (apache#6348)

* feat(controller): support asynchronous notify brokers when roles changed

1. support asynchronous notify brokers when roles changed

* refactor(controller): move creating NotifyService instance logic to ControllerManager's constructor method

1. move creating NotifyService instance logic to ControllerManager's
constructor method
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants