[SERVER-24441] Change geo_full.js to not create points near the poles Created: 07/Jun/16 Updated: 17/Nov/16 Resolved: 10/Jun/16 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Geo |
| Affects Version/s: | None |
| Fix Version/s: | 3.0.13, 3.2.8, 3.3.9 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Max Hirschhorn | Assignee: | Max Hirschhorn |
| Resolution: | Done | Votes: | 0 |
| Labels: | test-only | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Attachments: |
|
||||||||||||
| Issue Links: |
|
||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||
| Backport Completed: | |||||||||||||
| Sprint: | Query 16 (06/24/16) | ||||||||||||
| Participants: | |||||||||||||
| Linked BF Score: | 0 | ||||||||||||
| Description |
|
Until SERVER-24440 is fixed, points near the poles may fail to be returned by a $nearSphere when a "2d" index is used. We should change the pointIsOK() function in the geo_full.js test to only create points that have latitudes in [-89, 89].
|
| Comments |
| Comment by Githook User [ 10/Jun/16 ] | ||||||||||||||||||||||||||||||||||||
|
Author: {u'username': u'visemet', u'name': u'Max Hirschhorn', u'email': u'max.hirschhorn@mongodb.com'}Message: (cherry picked from commit 3ee21ae53b1aedf0820e627f37cf502871e7a0d2) | ||||||||||||||||||||||||||||||||||||
| Comment by Githook User [ 10/Jun/16 ] | ||||||||||||||||||||||||||||||||||||
|
Author: {u'username': u'visemet', u'name': u'Max Hirschhorn', u'email': u'max.hirschhorn@mongodb.com'}Message: (cherry picked from commit 3ee21ae53b1aedf0820e627f37cf502871e7a0d2) | ||||||||||||||||||||||||||||||||||||
| Comment by Githook User [ 10/Jun/16 ] | ||||||||||||||||||||||||||||||||||||
|
Author: {u'username': u'visemet', u'name': u'Max Hirschhorn', u'email': u'max.hirschhorn@mongodb.com'}Message: | ||||||||||||||||||||||||||||||||||||
| Comment by Max Hirschhorn [ 09/Jun/16 ] | ||||||||||||||||||||||||||||||||||||
|
I wrote the geo_2d_2dsphere_parity.js test to directly compare the results of the same $nearSphere query with the same inserted data of a "2d" and "2dsphere" index to try and identify any other possible gaps in behavior when answering spherical queries using a "2d" index. I have been able to attribute all failures as being instances of SERVER-21594 or SERVER-24440. In order to convince myself that the change from 90 degrees to 89 degrees in the geo_full.js test is sufficient to avoid spuriously triggering SERVER-24440, I applied the following patch to the attached geo_2d_2dsphere_parity.js test. The patch causes only points between 88 and 89 degrees latitude to be generated, while rejecting points with latitudes greater than 89 degrees or less than -89 degrees (after accounting for the error margin). It doesn't seem to fail.
|