Add statistics for disaggregated checkpoint delivery, adoption and snapshot rebuilds

XMLWordPrintableJSON

      Background

      A follower's checkpoint pick-up behaviour is currently unobservable in the field: there is no way to tell how far behind a follower's adopted checkpoint is from the newest one delivered to it, nor whether pick-ups are being held back by active readers.

      WT-18156 introduces that behaviour (a pick-up may be deferred while a transaction snapshot that predates it is active) and needs these statistics to make it diagnosable. They are defined here on their own so that the generated statistic renumbering — inserting a statistic shifts every WT_STAT_CONN_* value after it, around 1,200 lines of wiredtiger.h.in — does not obscure the code review of that change.

      Statistics

      Connection:

      • disagg_checkpoint_delivered_lsn — most recently delivered checkpoint metadata LSN (no_clear, no_scale).
      • disagg_checkpoint_meta_lsn — most recently adopted checkpoint metadata LSN (no_clear, no_scale). Together with the delivered LSN this gives the follower's adoption lag.
      • disagg_checkpoint_defer — pick-ups deferred for active transaction snapshots.
      • disagg_snapshot_rebuild — snapshots rebuilt after racing a checkpoint pick-up or a role change.

      Data source:

      • layered_curs_open_stable_refused — layered cursor stable opens refused to preserve a transaction snapshot.

      Note

      The statistics are unused until WT-18156 lands, which sets and increments them.

            Assignee:
            Chenhao Qu
            Reporter:
            Chenhao Qu
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: