[SERVER-30803] $mul on a numeric type results in inaccurate error message on FCV 3.6 Created: 23/Aug/17 Updated: 30/Oct/23 Resolved: 12/Sep/17 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | 3.5.11 |
| Fix Version/s: | 3.6.0-rc0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Kimberly Hou | Assignee: | Justin Seyster |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | neweng | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Backwards Compatibility: | Fully Compatible | ||
| Operating System: | ALL | ||
| Steps To Reproduce: |
|
||
| Sprint: | Query 2017-10-02 | ||
| Participants: |
| Description |
|
After setting FCV to 3.6, the response received from the repro is as follows:
The message given is vague and likely should not be reflected externally. |
| Comments |
| Comment by Ramon Fernandez Marina [ 12/Sep/17 ] | |
|
Author: {'username': u'jseyster', 'name': u'Justin Seyster', 'email': u'justin.seyster@mongodb.com'}Message: This adds back a check that got lost in the translation from | |
| Comment by Tess Avitabile (Inactive) [ 25/Aug/17 ] | |
|
On FCV 3.4, we check whether the resulting SafeNum is valid before setting the new value. So we get the error message:
We should probably do the same on FCV 3.6. | |
| Comment by Tess Avitabile (Inactive) [ 24/Aug/17 ] | |
|
This ends up being type missing, since that's what SafeNum produces on overflow. I don't think there's a serious problem, and I agree that we should just swallow the error message and output a more friendly one. | |
| Comment by Charlie Swanson [ 23/Aug/17 ] | |
|
cc tess.avitabile justin.seyster, it looks like we're hitting this case in setValueSafeNum(), my guess is we're seeing this error from this uassert in ArithmeticNode::apply(), but I haven't confirmed. If so, that would be suspicious, since 'b' started as a NumberLong, and shouldn't have changed to a non-numeric type? |