-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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 learner parts when removing space #4040
Conversation
6374780
to
37c1406
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@@ -581,7 +581,7 @@ class NebulaStore : public KVStore, public Handler { | |||
* @param spaceId | |||
* @param partId | |||
*/ | |||
void removePart(GraphSpaceID spaceId, PartitionID partId) override; | |||
void removePart(GraphSpaceID spaceId, PartitionID partId, bool needLock = true) override; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how about add some commet to explain in what condition needLock, or not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how about add some commet to explain in what condition needLock, or not.
done
0cef5cb
to
8ee969e
Compare
void NebulaStore::removePart(GraphSpaceID spaceId, PartitionID partId) { | ||
folly::RWSpinLock::WriteHolder wh(&lock_); | ||
void NebulaStore::removePart(GraphSpaceID spaceId, PartitionID partId, bool needLock) { | ||
folly::RWSpinLock::WriteHolder wh(nullptr); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why append a lock on nullptr? Is this a new way?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do nothing, you can see its code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if so why don't remove this line?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
if (needLock) { | ||
wh.reset(&lock_); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would you support more explanation? thanks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if need lock, wh will hold lock_
What type of PR is this?
What problem(s) does this PR solve?
Issue(s) number:
Description:
till now storage remove space by meta info, which does not contain learner, so the learner parts still exist after remove the space, this will cause core in next balance.
How do you solve it?
Special notes for your reviewer, ex. impact of this fix, design document, etc:
Checklist:
Tests:
Affects:
Release notes:
Please confirm whether to be reflected in release notes and how to describe: