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

fix listener may crash when remove #5152

Merged
merged 2 commits into from
Dec 29, 2022
Merged

Conversation

critical27
Copy link
Contributor

What type of PR is this?

  • bug
  • feature
  • enhancement

What problem(s) does this PR solve?

Issue(s) number:

Close https://github.com/vesoft-inc/nebula-ent/issues/2010

Description:

Listener may crash because the Listener has been removed while the background thread is still running. (There life time is different)

How do you solve it?

We can't use shared_from_this like what we did in RaftPart because Listener is already an inherited class from RaftPart. So for simplicity, we just add one thread applyPool_ for each Listener, and when stopping the Listener, we stop the pool as well, which make their lifetime same.

There are some other minor changes, that is for to keep same configuration as the ent version.

Special notes for your reviewer, ex. impact of this fix, design document, etc:

Checklist:

Tests:

  • Unit test(positive and negative cases)
  • Function test
  • Performance test
  • N/A

Affects:

  • Documentation affected (Please add the label if documentation needs to be modified.)
  • Incompatibility (If it breaks the compatibility, please describe it and add the label.)
  • If it's needed to cherry-pick (If cherry-pick to some branches is required, please label the destination version(s).)
  • Performance impacted: Consumes more CPU/Memory

Release notes:

Please confirm whether to be reflected in release notes and how to describe:

ex. Fixed the bug .....

@xtcyclist xtcyclist merged commit 075a7bc into vesoft-inc:master Dec 29, 2022
@critical27 critical27 deleted the fix branch December 29, 2022 06:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready for review ready-for-testing PR: ready for the CI test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants