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

Reduce the blocking time of the write lock when deleting space #5754

Merged
merged 4 commits into from
Nov 15, 2023

Conversation

flymysql
Copy link
Contributor

@flymysql flymysql commented Nov 6, 2023

What type of PR is this?

  • bug
  • feature
  • enhancement

What problem(s) does this PR solve?

Issue(s) number:

#5755

Description:

When the number of parts of a space is relatively large and the amount of data written is also large, it will block for a long time in the removeSpace function when deleting the space. Affect business read and write

How do you solve it?

Shorten the range of holding locks

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 .....

When the number of parts of a space is relatively large and the amount of data written is also large, it will block for a long time in the removeSpace function when deleting the space. Affect business read and write
Reduce the blocking time of the write lock when deleting space
@CLAassistant
Copy link

CLAassistant commented Nov 6, 2023

CLA assistant check
All committers have signed the CLA.

@wey-gu
Copy link
Contributor

wey-gu commented Nov 7, 2023

Wow, thanks @flymysql for the great contribution.

critical27
critical27 previously approved these changes Nov 8, 2023
Copy link
Contributor

@critical27 critical27 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM~ Thx

@SuperYoko SuperYoko added the ready-for-testing PR: ready for the CI test label Nov 13, 2023
@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (8dfb587) 77.04% compared to head (aab0dc6) 78.25%.

❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5754      +/-   ##
==========================================
+ Coverage   77.04%   78.25%   +1.20%     
==========================================
  Files        1133     1133              
  Lines       85975    85994      +19     
==========================================
+ Hits        66243    67291    +1048     
+ Misses      19732    18703    -1029     
Files Coverage Δ
src/kvstore/NebulaStore.cpp 75.68% <100.00%> (+3.87%) ⬆️

... and 93 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@wey-gu
Copy link
Contributor

wey-gu commented Nov 13, 2023

Cheers! @critical27 @flymysql @SuperYoko

@critical27 critical27 merged commit 4c6a0a7 into vesoft-inc:master Nov 15, 2023
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-for-testing PR: ready for the CI test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants