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

Re-enable support for array values in idempotency checker for update sequences

      The test cases added as part of SERVER-29944 explicitly prevent array values from being generated by the DocumentStructureEnumerator and the UpdateSequenceGenerator by setting skipSubArrs=true and arrProbability=0.0, respectively. There are ambiguities that arise when using paths such as "a.0" since it could refer to the first element of an array or a field within a document called "0". While they do not lead to idempotency issues directly, they do require the generation of update sequences to be more intelligent by ensuring that the sequence of update operations is something that a primary would have written to its oplog.

      If the starting document isn't ever observed by calling IdempotencyTest::runOp() for each operation, then a final update should be append to the end of the sequence that $set's the fields in the document to the appropriate value and $unset's any other fields in the document not present in the starting document. This ensures that the starting document can be considered a valid state for the document in some snapshot (as would happen during initial sync's cloning process).

            Assignee:
            backlog-server-tig DO NOT USE - Backlog - Test Infrastructure Group (TIG)
            Reporter:
            max.hirschhorn@mongodb.com Max Hirschhorn
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: