Details
-
Improvement
-
Resolution: Fixed
-
Major
-
7.2.0, 7.1.3
Description
When mutations get queued up in indexer, there is a corresponding tsVbuuid generated every 5ms for bookkeeping and it gets queued up as well.
The size of each TsVbuuid will be atleast 40KB for 1024 vbuckets. TsVbuuid can easily grow to 10k-20k, the memory allocated just for TsVbuuid comes to 400MB-800MB for a single bucket. Indexer allocates 90% of quota for storage and tries to limit the overheads to 10%. But with high memory allocation for TsVbuuid, storage needs to release some of its quota.
Overhead of TsVbuuid data structure can be reduced by merging the queued up tsVbuuid when it goes beyond a threshold.
This is specially helpful in small node configs.
Attachments
Issue Links
- backports to
-
MB-57777 [7.2.1 BP] - Reduce memory overhead from TsVbuuid
- Closed
- blocks
-
MB-57675 Control golang memory usage by indexer process
- Closed
- relates to
-
MB-56538 [System Test] High indexer CPU usage over a period of 3+ hours with CDC enabled
- Closed
-
MB-56649 Improve queue control when indexer is under memory pressure
- Closed
- is blocked by
-
AV-58958 Loading...