[SERVER-29795] Recursive document structure generation for testing oplog idempotency Created: 22/Jun/17  Updated: 30/Oct/23  Resolved: 25/Jul/17

Status: Closed
Project: Core Server
Component/s: Replication, Testing Infrastructure
Affects Version/s: None
Fix Version/s: 3.5.11

Type: Task Priority: Major - P3
Reporter: May Hoque Assignee: May Hoque
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
is depended on by SERVER-30301 Add explicit configuration object for... Closed
Backwards Compatibility: Fully Compatible
Sprint: TIG 2017-07-10, TIG 2017-07-31
Participants:

 Description   

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.



 Comments   
Comment by Githook User [ 25/Jul/17 ]

Author:

{'username': 'Utagai', 'name': 'may', 'email': 'may.hoque@mongodb.com'}

Message: SERVER-29795 Recursive document structure generation for testing oplog idempotency
Branch: master
https://github.com/mongodb/mongo/commit/62edb2ddc7926312bafd33c932a5d9ed14d863f0

Generated at Thu Feb 08 04:21:50 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.