-
Type:
Task
-
Resolution: Fixed
-
Priority:
Minor - P4
-
Affects Version/s: None
-
Component/s: Not Applicable
-
None
-
Storage Engines - Persistence
-
28.667
-
SE Persistence backlog
-
None
Extract the core debug-mode fields from _wt_connection_impl into a new WT_CONN_DEBUG structure. Scope is limited to fields with an explicit debug prefix and the disagg address cookie debug state:
- debug_ckpt, debug_ckpt_alloc, debug_ckpt_cnt, debug_log_cnt (protected by debug_log_retention_lock)
- debug_flags + all WT_CONN_DEBUG_* flag definitions
- debug_disagg_address_cookie_upgrade, debug_disagg_address_cookie_optional_field
Fields not included in this ticket: extra_diagnostics_flags, verbose, json_output, timing_stress_flags — these remain on __wt_connection_impl for now.
Access will be via conn->debug.<field>.
Files affected
- src/include/connection.h — Define WT_CONN_DEBUG structure and replace the above fields
- src/conn/conn_debug.c — Update debug configuration
- All files that reference the moved fields
Definition of Done
- New WT_CONN_DEBUG structure defined in connection.h containing only the scoped fields above
- debug_ckpt, debug_ckpt_alloc, debug_ckpt_cnt, debug_log_cnt, debug_flags, debug_disagg_address_cookie_upgrade, debug_disagg_address_cookie_optional_field removed from __wt_connection_impl and placed in WT_CONN_DEBUG
- All references updated (e.g. conn->debug_flags → conn->debug.flags, conn->debug_ckpt → conn->debug.ckpt)
- Code compiles cleanly with no warnings
- All existing tests pass
- Grep confirms no stale references to old field paths