Uploaded image for project: 'Compass '
  1. Compass
  2. COMPASS-8908

Investigate changes in SERVER-80442: Remove logic to fix invalid expireAfterSeconds values post-creation

    • Type: Icon: Investigation Investigation
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • No version
    • Affects Version/s: None
    • Component/s: None
    • None
    • Not Needed
    • Developer Tools

      Original Downstream Change Summary

      Adds new 'ttl.invalidTTLIndexSkips' metric - Tracks the number of TTL deletes skipped due to a TTL secondary index being present, but not valid for TTL removal.
      . Zero (good) indicates all secondary TTL indexes are eligible for TTL deletion.
      . A non-zero value (bad) indicates there is a TTL non-conformant index present and users must manually modify the secondary index to utilize automatic TTL deletion. In which case, the invalid TTL index will be specified in the logs (LOGIDs 22541 and 6909100).

      Description of Linked Ticket

      We introduced additional validation code for TTL indexes in an earlier release cycle, as well as code to fix invalid expireAfterSeconds values for existing indexes. Additionally, we introduced similar logic to normalize any non-integer expireAfterSeconds values to integer values in SERVER-77828.

      After we have gone through a major release cycle, we will know that future versions of the server will never see those invalid index specs on disk, as they would have to have first upgraded through a patched version which would fix the spec.

      While we'll always need the validation code during index creation/modification, we can remove some of the extra logic associated with fixing existing indexes.

            Assignee:
            Unassigned Unassigned
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: