-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Checkpoints
-
None
-
Storage Engines - Persistence
-
SE Persistence - 2026-03-27
-
2
-
v8.2, v8.0, v7.0
The checkpoint progress logs, give us the time checkpoint has been running for, the number of pages written and the bytes written. These messages are logged according to:
/* Periodically log checkpoint progress. */
if (conn->ckpt.progress.write_pages % (5 * WT_THOUSAND) == 0)
__checkpoint_progress(session, false);
This is a useful log, however, it misses some key information.
1. We don't log the message if no pages are being written, so we have no observability into what checkpointis doing in that time.
2. We don't know when checkpoint moves from one dhandle to another. We only know the dhandle it is on at the time a message is logged.
3. A message such as:
"session_dhandle_name":"file:collection-1234.wt","session_name":"WT_SESSION.checkpoint","category":"WT_VERB_CHECKPOINT_PROGRESS","category_id":6,"verbose_level":"DEBUG_1","verbose_level_id":1,"msg":"Checkpoint has been running for 4388 seconds and wrote: 15000 pages (110 MB)"}}}
is often interpreted as the checkpoint spending the whole time on that file.
Suggestions
- Make the progress messages timer based. That way we know which dhandle we have opened at given points in time.
- Consider other units of work to report
- is related to
-
WT-15969 Reduce number of verify logging entries
-
- Closed
-