-
Type:
Sub-task
-
Resolution: Won't Do
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Block Manager
-
None
-
Storage Engines - Persistence
-
189.151
-
SE Persistence backlog
-
None
Before rebasing 1313 commits, we need to fully understand the prototype's design, identify all files changed, and document the algorithm. This ensures we can resolve conflicts correctly and don't lose critical changes during rebase.
Tasks
- src/block/block_ext.c — Read prototype implementation of __block_first_srch_v2 and update_max_size, document the augmented skiplist algorithm in inline comments (criterion: algorithm description covers search, insert, remove, and max_size propagation)
- src/include/block.h — Read prototype changes to WT_EXT and WT_EXTLIST structures, document field semantics (criterion: each new field has a comment explaining its purpose)
- test/catch2/block/ — Identify any prototype test changes (criterion: list of modified test files recorded)
- dist/stat_data.py — Check if prototype added any statistics beyond block_ext_walked (criterion: list of new stats recorded)
Files to create or modify
- src/block/block_ext.c — core skiplist algorithm
- src/include/block.h — WT_EXT and WT_EXTLIST structure definitions
- test/catch2/block/unit/, test/catch2/block/utils_extlist.cpp — unit test infrastructure
- dist/stat_data.py — statistics definitions
Definition of Done
- Prototype diff fully understood: all structure changes, algorithm steps, and edge cases documented
- All modified files identified and categorized (core, tests, stats, other)
- Pre-rebase snapshot of prototype taken for reference during conflict resolution