Enable PersistenceProvider for featureFlagContinuousInternodeValidationPerDocument

XMLWordPrintableJSON

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

      Overview

      Surface featureFlagContinuousInternodeValidationPerDocument through the
      rss::PersistenceProvider interface so consumers query a provider capability instead of the feature flag directly, and enable it for disaggregated (Atlas Infinite) storage.

      Background

      featureFlagContinuousInternodeValidationPerDocument (src/mongo/db/server_feature_flags.idl,
      default false, fcv_gated) gates continuous per-document internode validation for Atlas Infinite nodes (SPM-4740). SERVER-128506 added the optional top-level oplog field h (per-document hash).
      The flag is currently defined but not consumed anywhere. PersistenceProvider already exposes storage-backend capabilities (e.g. shouldUseReplicatedRecordIds(),
      supportsCrossShardTransactions()), and the disaggregated provider gates several of these on feature flags via .isEnabled().

      Scope of Work

      • src/mongo/db/rss/persistence_provider.h — add capability method, e.g.
        shouldUseContinuousInternodeValidationPerDocument().
      • src/mongo/db/rss/attached_storage/attached_persistence_provider.cpp — return false.
      • disaggregated_persistence_provider.cpp — return
        gFeatureFlagContinuousInternodeValidationPerDocument.isEnabled() (mirrors
        supportsCrossShardTransactions()).
      • src/mongo/db/rss/stub_persistence_provider.h — default + test setter.
      • Route the per-document hash write/validate call sites through the new capability.

      Acceptance Criteria

      • Disagg nodes perform per-document validation only when the flag is enabled and FCV permits.
      • Attached storage is unaffected.
      • Unit tests cover the capability across all three providers.

      Technical Notes

      • Touches the write/oplog-apply hot path (per-document SHA256) — run a sys-perf patch.
      • Flag is fcv_gated (v9.0); if it later becomes a hard disagg requirement, add it to
        DisaggregatedPersistenceProvider::getMinimumRequiredFCV().

            Assignee:
            Unassigned
            Reporter:
            Stephanie Eristoff
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: