[SERVER-23318] Streaming $group does not handle nullish values correctly. Created: 23/Mar/16 Updated: 30/Dec/23 Resolved: 16/Nov/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Aggregation Framework |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Benjamin Murphy | Assignee: | David Storch |
| Resolution: | Done | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||||||||||
| Sprint: | Query 12 (04/04/16), Query 13 (04/22/16) | ||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||
| Description |
|
SERVER-4507 was implemented and pushed, but has a known issue: Because of how the index sorts null, missing, and undefined values, a user executing a $group on documents with null/missing/undefined values may get the incorrect number of groups. To fix this, $group should not stream for the period that input has nullish _id values. Once this change has gone into master, DocumentSourceGroup::findRelevantInputSort should be changed to not immediately return boost::none, and the associated tests in document_source_test.cpp should be reenabled by removing the #if surrounding the lines that add the tests to the suite. |
| Comments |
| Comment by David Storch [ 16/Nov/16 ] |
|
I'm closing this issue as Gone Away, since the implementation for streaming group has not been completed. The necessary work is tracked by SERVER-4507. |