Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Task Description
ObMySQLRequestManager中使用 一个无锁的 ObRaQueue 记录每一个 audit 记录的指针。ObRaQueue 是无锁实现,但内存是静态申请的,导致在小租户下内存占用较大 (80M) 。目前仅在meta租户和mini mode下使用较小的queue size初始化以减少内存占用,但不能处理租户内存扩缩容场景,希望将此queue做为动态大小。
Solution Description
设计目标:
具体细节:
使用一个两层队列的结构,通过构造多个小的静态队列来组成一个大的动态队列。
Passed Regressions
oceanbase/unittest/observer/test_ob_ra_queue.cpp
oceanbase/unittest/observer/test_ob_tl_queue.cpp
oceanbase/unittest/observer/test_ob_mysql_request_manager.cpp
Upgrade Compatibility
Other Information
Release Note