Location of WT_IS_HS and WT_IS_DISAGG_META macros in cache.h instead of meta.h

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • WT12.0.0, 9.0.0-rc0
    • Affects Version/s: None
    • Component/s: Metadata
    • None
    • Storage Engines, Storage Engines - Persistence
    • 0.006
    • SE Persistence - 2026-05-08
    • None

      Issue Summary

      The macros WT_IS_HS and WT_IS_DISAGG_META are currently defined in cache.h. These macros are used to optimize comparisons against the history store URI and flag handles referencing the history store file, as well as for the shared metadata store in disaggregated storage.

      Context

      The relevant macro definitions are:

      /*
       * Optimize comparisons against the history store URI, flag handles that reference the history store
       * file.
       */
      #define WT_IS_HS(dh) F_ISSET(dh, WT_DHANDLE_HS)
      
      /* Optimize comparisons against the shared metadata store for disaggregated storage. */
      #define WT_IS_DISAGG_META(dh) F_ISSET(dh, WT_DHANDLE_DISAGG_META)
      

      These are currently located in cache.h, while a similar macro WT_IS_METADATA is found in meta.h:

      #define WT_IS_METADATA(dh) F_ISSET((dh), WT_DHANDLE_IS_METADATA)
      

      Proposed Solution

      Consider moving the WT_IS_HS and WT_IS_DISAGG_META macros from cache.h to meta.h for better organization and consistency, since they are related to metadata and similar macros are already defined in meta.h.


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

            Assignee:
            Etienne Petrel
            Reporter:
            Memento Slack Bot
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: