[SERVER-25441] $lookup does not respect readConcern when aggregation on sharded collection Created: 04/Aug/16 Updated: 19/Nov/16 Resolved: 03/Nov/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Aggregation Framework |
| Affects Version/s: | 3.2.8, 3.3.10 |
| Fix Version/s: | 3.4.0-rc3 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Charlie Swanson | Assignee: | James Wahlin |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible |
| Operating System: | ALL |
| Sprint: | Query 2016-11-21 |
| Participants: |
| Description |
|
When an aggregation is run against a sharded collection with a $lookup stage, the merging shard that will perform the $lookup does not get propagated information about which readConcern was requested. |
| Comments |
| Comment by Githook User [ 03/Nov/16 ] |
|
Author: {u'username': u'jameswahlin', u'name': u'James Wahlin', u'email': u'james.wahlin@10gen.com'}Message: |
| Comment by James Wahlin [ 31/Oct/16 ] |
|
On review, $lookup does respect readConcern and is validated by readCommitted_lookup.js. Tests are performed against both a replica set and a cluster with unsharded collections. The concern that readConcern is not passed to the merging shard (when running against a sharded collection) is valid. I modified the cluster test in readCommitted_lookup.js to run against a sharded local collection. This fails and the $mergeCursors command is run without the specified readConcern. |