Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-42299

Upgrade/downgrade for config.chunks and config.tags

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.3.1
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • Fully Compatible
    • Sharding 2019-10-07, Sharding 2019-10-21

      For refine a collection's shard key, the formats of documents in config.chunks and config.tags were changed to allow updating their min boundaries without needing to update their _ids. In particular, _id in config.chunks is no longer a string concatenation of namespace and minbound and _id in config.tags is no longer an object containing namespace and minbound.

      As part of this ticket, the server should be changed to:

      • Gate the new format on FCV 4.4 and change the BSONField for the ChunkType class to expect _id as an OID
        • Note SERVER-42106 made _id a string representation of an OID to defer upgrade/downgrade work until this ticket
      • Upgrade (through setFeatureCompatibilityVersion command) should iterate through each document in config.chunks and config.tags and change their _ids to be in the new format
      • Vice versa for downgrade through setFCV

      In addition to basic integration testing, add integration coverage to ensure migrations in mixed binary version clusters work and that zone boundaries are respected before and after an upgrade/downgrade.

            Assignee:
            jack.mulrow@mongodb.com Jack Mulrow
            Reporter:
            jack.mulrow@mongodb.com Jack Mulrow
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: