[SERVER-23191] Group command needs to make a copy of the obj it passes to JS Created: 16/Mar/16 Updated: 11/Sep/17 Resolved: 28/Mar/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | JavaScript |
| Affects Version/s: | 3.2.4 |
| Fix Version/s: | 3.2.17, 3.3.4 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Mira Carey | Assignee: | Jonathan Reams |
| Resolution: | Done | Votes: | 0 |
| Labels: | bkp | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||
| Backport Requested: |
v3.2
|
||||||||||||||||||||
| Sprint: | Platforms 12 (04/01/16) | ||||||||||||||||||||
| Participants: | |||||||||||||||||||||
| Linked BF Score: | 0 | ||||||||||||||||||||
| Description |
|
GroupStage::processObject needs to make a copy of obj before passing it down into js, because those objects can be copied into the accumulating object (after which that object won't be readable). It doesn't appear that this is a crasher (because we use the scope's generation to trap the invalid access), but it does mean that valid operations will fail with uasserts later on. We should make obj an owned copy and add a test for the functionality |
| Comments |
| Comment by Ramon Fernandez Marina [ 11/Sep/17 ] |
|
Author: {'username': u'jbreams', 'name': u'Jonathan Reams', 'email': u'jbreams@mongodb.com'}Message: (cherry picked from commit 6adda9f7dde0bf62b9ff8d27ade8f1bb6e574fec) |
| Comment by Githook User [ 28/Mar/16 ] |
|
Author: {u'username': u'jbreams', u'name': u'Jonathan Reams', u'email': u'jbreams@mongodb.com'}Message: |