Standardize timestamp print format (hex vs decimal) across WiredTiger logs

XMLWordPrintableJSON

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

      WiredTiger prints timestamps inconsistently across the codebase: some log messages use hex (PRIx64), others decimal (PRIu64). Internally timestamps are stored and parsed as hex, and role-switch config strings use hex, but KEK production logs and several test/format trace messages print decimal.

      This inconsistency makes logs harder to read and correlate, since the same timestamp appears in different bases depending on where it is logged.

      Examples of decimal timestamp logging:

      • src/conn/conn_layered_page_log.c: "Loading persisted crypt key", set_key error messages, "Wrote disaggregated checkpoint metadata", oldest_timestamp
      • ext/test/key_provider/key_provider.c: "Loading key for LSN=..., timestamp=..."
      • test/format/format_timestamp.c: timestamp trace message (oldest/stable)
      • test/format/key_rotation.c: KEK rotation and validation messages

      Proposal: pick one convention (hex, "%#" PRIx64, is the natural choice given internal storage and config parsing) and apply it consistently to human-readable timestamp logging across production and test code.

      Raised from review discussion on WT-17798.

            Assignee:
            [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            Jie Chen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: