|
The $group stage spills all documents to disk when running on a --dbg=on build. This is problematic for the aggregation fuzzer because it can lead to documents being processed in a different order than the original document source. Due to commutativity issues in $group's accumulators, the aggregation fuzzer may therefore see different results based on whether it spilled to disk or not.
Addressing these kinds of issues (e.g. SERVER-37429 and SERVER-42616) isn't a priority for the Query team right now. In the future, we could consider adding a mode for the aggregation fuzzer where it compares the behavior between when spilling to disk and when not spilling to disk. Based on conversations with charlie.swanson, we would want to do this by introducing a failpoint to enable always spilling to disk so we aren't implicitly testing this behavior by downloading a --dbg=off last-stable binary when running multiversion tests on a --dbg=on builder.
|