ExportXMLWordPrintableJSON

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Execution
    • ALL
    • Storage Execution 2025-07-21, Storage Execution 2025-08-04, Storage Execution 2025-08-18, Storage Execution 2025-09-01
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Set the record store insert overwrite setting (allowOverwrite) to false for all non-clustered collections on attached storage, so a replicated-rid insert colliding with an existing key fails with WT_DUPLICATE_KEY instead of silently overwriting a different document.

      Details

      • Today we use allowOverwrite=false only for clustered and recordIdsReplicated collections and true for everything else (see getRecordStoreOptions).
      • Under the set-wide design, a collection's effective rid-mode changes with node membership, so the setting cannot remain derived from a per-collection property.
      • The setting is runtime-only (RecordStore cursor params), not baked into the WiredTiger table config, so the flip requires no on-disk migration and applies to existing collections.
      • The blind-write optimization that motivates overwrite=true is disagg-only (AttachedPersistenceProvider::shouldUseBlindWriteWhenSafe returns false for ASC).

      Performance

      Measured with paired sys-perf patches (change vs comment-only baseline at the same commit): flat on all realistic insert workloads; residual 1-2.5% regression only under extreme single-collection insert contention (parallel_insert_replica, 32-1024 threads). See the allowOverwrite decision tab in the technical design.

      Acceptance criteria

      • All non-clustered collections on attached storage are created/opened with allowOverwrite=false.
      • No behaviour change for Disagg.
      • Paired sys-perf validation included.

            Assignee:
            Unassigned
            Reporter:
            Vishnu Kaushik
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated: