ExportXMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Execution
    • Fully Compatible
    • ALL
    • Storage Execution 2026-08-03
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Currently when the timestamp store is empty, we remove the guard of replicated fast count in oplog truncation. However, the correct logic should be preserving all oplog entries since the metadata checkpoint needs to start from the beginning of the oplog.

      auto persistedTs = writeConflictRetry(
          opCtx, "computeTruncationBound", NamespaceString::kRsOplogNamespace, [&] {
              return replicated_fast_count::ReplicatedFastCountManager::get(
                          opCtx->getServiceContext())
                  .findPersistedTimestampStoreTs(opCtx)
                  .value_or(Timestamp::max()); // Incorrect
          });
      return std::min(persistedTs, ts);

            Assignee:
            Yuhong Zhang
            Reporter:
            Yuhong Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: