Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-5936

assertion (fassert) may be triggered by exact match geo lookup with $or

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • 2.1.2
    • None
    • Geo, Querying
    • None
    • ALL

    Description

      Geo operators are prevented inside top level $or clauses, and the $or implementation is not used when they are present outside $or clauses. However, it is possible for an exact match location query used with $or to trigger a code path disallowed for geo cursors which currently causes an fassert.

      > c.ensureIndex( { a:'2d' } )
      > c.ensureIndex( { c:1, b:1 } ) // This index is necessary to trigger the described behavior.
      > c.save( { a:[ 0, 0 ], b:1 } )
      > c.find( { a:[ 0, 0 ], $or:[ { b:1 } ] } )

      Attachments

        Activity

          People

            aaron Aaron Staple
            aaron Aaron Staple
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: