-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Cursors
-
None
-
Storage Engines - Foundations
-
265.968
-
None
-
None
wt_cursor_cache_get is attempted for every URI passed to WT_SESSION::open_cursor, but only file, table, tiered and layered cursors ever set WT_CURSTD_CACHEABLE. Opens of any other cursor type still walk the full cache hash bucket for their URI and are guaranteed to miss. The walk is O(bucket depth), and bucket depth scales with the number of cached cursors in the session.
WT-17579 fixed the one high-frequency instance (statistics cursors, opened per-transaction by MongoDB) via a config check. The remaining never-cacheable types still pay the futile walk: metadata:, backup:, log:, config:, version:, prepared_discover:, colgroup:, index:, complex table: cursors (multiple column groups), the metadata file, and custom data-source cursors. These need a type/URI-based exclusion, since NULL-config opens bypass the config check entirely.
- is related to
-
WT-17579 [Perf] many-collection-test: 83.86% worst latency regression in ubuntu2004-perf-tests (commit de77f18)
-
- Closed
-