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

Recursive document structure generation for testing oplog idempotency

    • Fully Compatible
    • TIG 2017-07-10, TIG 2017-07-31

      The C++ implementation for document structure generation. Exhaustively enumerates valid document structures, under a set of constraints involving the set of fields to use, the maximum depth of the document and the maximum length of any given array in the document.

      This problem experiences a rapid combinatoric explosion in the number of valid documents, so the aim to move away from a recursive implementation in the future.

      ({f | f is a fieldname}, depth, array length).

      Currently all constraints are parameterized. One notable thing about the parameterization is that there is some ambiguity that is worth exploring regarding field names, since names like '0' and '1' can offer interesting scenarios with document fields vs. array indices, so it may be worth removing the parameterization and generating field names ourselves to encourage these kinds of scenarios.

            Assignee:
            may.hoque@mongodb.com May Hoque
            Reporter:
            may.hoque@mongodb.com May Hoque
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: