FTDC gaps on standby due to slow statistics collection after checkpoint in disagg chaos testing

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Statistics
    • Storage Engines - Foundations
    • 339.499
    • None
    • None

      Issue Summary

      During chaos testing on disaggregated storage engines, significant FTDC (Full Time Diagnostic Data Capture) gaps (~2-3 seconds) are observed on the standby node, making t2 data unreadable. The primary node does not exhibit these gaps. Investigation points to slow stats collection on the oplog, specifically when fetching size statistics with statistics=(size) and statistics=(fast) for WT_STAT_DSRC_BLOCK_SIZE and WT_STAT_DSRC_BLOCK_REUSE_BYTES.

      Context

      • The FTDC logs show messages such as:
        [js_test:pali_chaos] d20077| 2026-06-24T05:42:23.758+00:00 W  FTDC     9761502     [ftdc] "FTDC collector was very slow","attr":{"collector":"local.oplog.rs.stats","durationMillis":2757}
        
      • Analysis (with help from Claude) suggests that statistics=(size) uses a fast path that reads the stable checkpoint size from metadata without opening a dhandle, while statistics=(fast) opens the stable checkpoint dhandle, which on a follower involves reading checkpoint metadata from the disagg page service, causing a blocking ~2.7s read and resulting in the observed FTDC microgap.
      • This behavior recurs every FTDC cycle, as the stable checkpoint name advances, forcing a fresh checkpoint dhandle open each second.
      • Past related investigation: SERVER-113418
      • The issue is consistently reproducible in every disagg_pali_chaos run on the standby, as shown in attached FTDC metrics files.

      Proposed Solution

      • Assign a WT engineer to investigate the slow stats collection path on the standby, focusing on the checkpoint dhandle open logic after a new checkpoint is installed.
      • Consider adding artificial delays to the suspected code path to confirm the root cause.
      • Review recent changes to functions related to statistics=(size) and statistics=(fast) for potential regressions.
      • Aim to eliminate or mitigate the FTDC gaps on the standby to improve t2 data readability.

      Original Slack thread: Slack Thread
      This ticket was generated by AI from a Slack thread.

        1. metrics.2026-06-24T05-37-56Z-00000
          1.10 MB
        2. metrics.2026-06-24T05-30-25Z-00000
          1.45 MB
        3. image-2026-07-09-11-02-58-941.png
          image-2026-07-09-11-02-58-941.png
          54 kB
        4. image-2026-07-06-17-50-17-794.png
          image-2026-07-06-17-50-17-794.png
          280 kB
        5. image.png
          image.png
          247 kB

            Assignee:
            Alexander Pullen
            Reporter:
            Memento Slack Bot
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: