[MDEV-31105] Split the fts cache to avoid excessive memory growth during sync Created: 2023-04-21  Updated: 2023-11-28

Status: Stalled
Project: MariaDB Server
Component/s: Full-text Search, Storage Engine - InnoDB
Affects Version/s: 10.4, 10.5, 10.6, 10.8, 10.9, 10.10, 10.11, 11.0
Fix Version/s: 10.6, 10.11, 11.0

Type: Bug Priority: Major
Reporter: Thirunarayanan Balathandayuthapani Assignee: Thirunarayanan Balathandayuthapani
Resolution: Unresolved Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-30996 insert.. select in presence of full t... Closed

 Description   

Sync operation locks fts cache, reads one row from cache, releases fts cache. By doing frequent unlock, Incoming DML commit can increase the cache
memory by adding doc ids to cache. This leads to longer sync operation and memory growth.

To address this issue, InnoDB can have 2 cache. When InnoDB does sync operation, it can use already filled one cache and incoming DML
thread can use other cache for adding the doc ids. Here sync operation doesn't have to release the cache lock and it can be done atomically.

Note:
InnoDB should handle 2 cache while doing query read.


Generated at Thu Feb 08 10:21:19 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.