Tokutek / mongo

TokuMX is a high-performance, concurrent, compressing, drop-in replacement engine for MongoDB | Issue tracker: https://tokutek.atlassian.net/browse/MX/ |
http://www.tokutek.com/products/tokumx-for-mongodb/
704 stars 97 forks source link

Geospatial in 2.0 error #1203

Closed blackdynamo closed 9 years ago

blackdynamo commented 9 years ago

So just set up the latest download of TokuMX and tried a geospatial query using 2dsphere and got the following results.

TokuMX mongo shell v2.0.0-mongodb-2.4.10

can't find any special indices: 2d (needs index), 2dsphere (needs index), for: { $and: [ { geocode.loc: { $near: { $geometry: { type: \"Point\", coordinates: [ -98.477369, 29.16438 ] }, $maxDistance: 3218.68 } } } ] }

Does the geospatial stuff work differently in TokuMX vs MongoDB?

The index looks like:

{
    "key" : {
        "geocode.loc" : "2dsphere"
    },
    "ns" : "db.properties",
    "name" : "geocode.loc_2dsphere"
}
leifwalsh commented 9 years ago

We have moved to JIRA for tickets. Please report this at https://tokutek.atlassian.net/browse/MX instead.

esmet commented 9 years ago

FWIW: https://jira.mongodb.org/browse/SERVER-4572

So the bug is expected in TokuMX's 2.4 geo implementation and we expect to fix it when the 2.6 backport is complete.

blackdynamo commented 9 years ago

Thank you @esmet for this useful response. Would you be able to give a rough estimate on when you might be implementing the changes in 2.6?

This is a critical issue on choosing TokuMX instead of MongoDB. We were anticipating the 2.0 release but cannot switch until this is fixed.

esmet commented 9 years ago

The 2.6 changes are planned and on their way, but not in the immediate time frame (not in 2014). The issue can be worked around by removing the $and clause entirely.

db.properties.find( { 'geocode.loc': { $near: { $geometry: { type: "Point", coordinates: [ -98.477369, 29.16438 ] }, $maxDistance: 3218.68 } } } )

blackdynamo commented 9 years ago

Thank you @esmet we will wait till this has been implemented.