[SERVER-25039] Aggregation can attempt to re-plan after collection has been dropped Created: 13/Jul/16 Updated: 21/Nov/16 Resolved: 25/Jul/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Aggregation Framework, Querying |
| Affects Version/s: | None |
| Fix Version/s: | 3.2.10, 3.3.11 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Charlie Swanson | Assignee: | Max Hirschhorn |
| Resolution: | Done | Votes: | 0 |
| Labels: | code-and-test | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||
| Operating System: | ALL | ||||||||
| Backport Completed: | |||||||||
| Sprint: | Query 18 (08/05/16) | ||||||||
| Participants: | |||||||||
| Description |
|
When attempting to establish the PlanExecutor to feed the pipeline, we undergo query planning, which can yield. During a yield, the collection can be dropped, and leave us with an invalid collection pointer. Specifically, if the planning fails on this line, then we will ignore the failure and try again on this line, at which point collection is an invalid pointer to a collection that doesn't exist anymore. For future reference, if this issue is hit, the backtrace should look something like this:
|
| Comments |
| Comment by Githook User [ 08/Sep/16 ] |
|
Author: {u'username': u'visemet', u'name': u'Max Hirschhorn', u'email': u'max.hirschhorn@mongodb.com'}Message: This prevents the aggregation system from trying to continue query (cherry picked from commit 82cd8943dab085447ee180d4d59c2c5da778c523) |
| Comment by Githook User [ 25/Jul/16 ] |
|
Author: {u'username': u'visemet', u'name': u'Max Hirschhorn', u'email': u'max.hirschhorn@mongodb.com'}Message: This prevents the aggregation system from trying to continue query |