Add isColdCollection() accessor to WT RecordStore

XMLWordPrintableJSON

    • Type: New Feature
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Engines - Server Integration
    • Fully Compatible
    • SOSESI - 2026-04-21
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Add a method to determine whether a collection uses cold storage tier.

      To block updates on cold collections (SERVER-122579), the write path in performUpdate() needs to query whether the target collection is cold. The storage tier is already persisted in the catalog (inside the WT `storageEngine` config string as `disaggregated=(storage_tier=cold)`) at collection creation time, but there is no read accessor to retrieve it. Without this accessor, the command layer has no way to distinguish cold collections from hot ones.

      Pseudocode:

      // 1. Add flag to WiredTigerRecordStore::Params
      struct Params {
          // ... existing fields ...
          bool isColdCollection{false};
      };
      
      // 2. Populate from collection options during RecordStore creation
      WiredTigerRecordStore::Params params{
          // ... existing fields ...
          .isColdCollection = isColdStorageTier(options.storageEngineCollectionOptions),
      };
      
      // 3. Store and expose on WiredTigerRecordStore
      bool isColdCollection() const { return _isColdCollection; }
      
      // 4. Expose on RecordStore base interface
      virtual bool isColdCollection() const { return false; }

            Assignee:
            Adeline Chen
            Reporter:
            Stephanie Wang
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: