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

Add explicit configuration object for DocumentStructureEnumerator

    XMLWordPrintableJSON

Details

    • Fully Compatible
    • TIG 2017-07-31, TIG 2017-08-21

    Description

      The DocumentStructureEnumerator class added as part of SERVER-29795 is parameterized by

      1. A set of field names to use in the created document,
      2. A maximum depth for nested subdocuments and arrays, and
      3. A maximum length for array values.

      may.hoque had the idea to bundle these options together in another class so that we didn't need to have every function take these constraints as threee separate parameters. Additionally, we should add two boolean parameters:

      1. A boolean flag to indicate whether we should enumerate documents containing subdocuments, and
      2. A boolean flag to indicate whether we should enumerate documents containing array values.

      Note: Until SERVER-28777 is implemented, multiInitialSyncApply_noAbort() will continue to use the 3.4 update codepath. The work described in this ticket serves as a workaround for SERVER-29944 (specifically by using generateArrays=false) to avoid idempotency issues related to the handling of "blocking elements" / "non-viable paths" in the 3.4 update codepath.

      Attachments

        Activity

          People

            may.hoque@mongodb.com May Hoque
            max.hirschhorn@mongodb.com Max Hirschhorn
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: