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

[RIP-70] Optimizing Lock Mechanisms #8442

Closed
4 tasks done
3424672656 opened this issue Jul 24, 2024 · 1 comment · Fixed by #8661 or #8663 · May be fixed by #8662
Closed
4 tasks done

[RIP-70] Optimizing Lock Mechanisms #8442

3424672656 opened this issue Jul 24, 2024 · 1 comment · Fixed by #8661 or #8663 · May be fixed by #8662

Comments

@3424672656
Copy link
Contributor

3424672656 commented Jul 24, 2024

Before Creating the Enhancement Request

  • I have confirmed that this should be classified as an enhancement rather than a bug/feature.

Summary

As concurrent systems grow more complex internally in RockteMQ, deploying effective lock management strategies is key to preserving performance. Our goal is to optimize the locking mechanism and improve performance.

I have written the proposal and you can see it by the link below:
https://shimo.im/docs/473QM8m8ByCn6l3w/

We will implement the proposed changes by 3 phases.

  • 1.Optimize the locking logic for message delivery to commitLog
    2.Spin optimal degree K retreat locking mechanism is introduced
    3.Optimize the back pressure mechanism of the client

  • 1.Adaptive lock is implemented initially
    2.Introduce other locking mechanisms
    3.Optimize message receiving logic

  • 1.Improved adaptive locks
    2.Provides tools for adjusting the lock mechanism
    3.Design the necessary tests

Motivation

null

Describe the Solution You'd Like

null

Describe Alternatives You've Considered

null

Additional Context

No response

@hzskiplist
Copy link

nice

RongtongJin pushed a commit that referenced this issue Oct 23, 2024
* extract the adaptive lock

* extract the adaptive lock

* feat(): perfect the adaptive lock

* feat(): perfect the adaptive lock

* Optimized code type

* Optimized code type

* Optimized code type

* fix fail test

* Optimize the adaptive locking mechanism logic

* Optimize the adaptive locking mechanism logic

* feat:Adaptive locking mechanism adjustment

* feat:Adaptive locking mechanism adjustment

* feat:Adaptive locking mechanism adjustment

* Optimize the adaptive locking mechanism logic

* Optimize the adaptive locking mechanism logic

* Optimize the adaptive locking mechanism logic

* feat:Supports the hot activation of ABS locks

* feat:Supports the hot activation of ABS locks

* feat:Supports the hot activation of ABS locks

* feat:Supports the hot activation of ABS locks

* Optimize code style

* Optimize code style

* Optimize code style

* Optimize code style

* Optimize code style

* Optimize code style

* Updated the locking mechanism name

* Optimize the logic of switching to spin locks

* Optimize the logic of switching to spin locks

* Optimize the logic of switching to spin locks

* Optimize the logic of switching to spin locks

* Optimize the logic of switching to spin locks

* Optimize the logic of switching to spin locks

* Optimize the logic of switching to spin locks

* Optimize the logic of switching to spin locks

* delete unused import

* Optimize the logic of switching to spin locks

* Revert "Optimize the logic of switching to spin locks"

This reverts commit 1d7bac5.

* Optimize the logic of switching to spin locks

* Optimize the logic of switching to spin locks

* Optimize the logic of switching to spin locks

* Optimize the logic of switching to spin locks

* Optimize the logic of switching to spin locks

* Optimize the logic of switching to spin locks

* Optimize the logic of switching to spin locks

* Optimized locking logic

* Optimized locking logic

* Optimized locking logic

* fix test

* fix test

* fix test

* fix test

* Optimize code style

* Optimize code style

* fix test

* fix test

* optimize client rebalancing logic

---------

Co-authored-by: wanghuaiyuan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment