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

Minimum bounds on dates in open range conjunction queries is set incorrectly

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • None
    • Fully Compatible
    • ALL
    • QO 2022-10-31

    Description

      The following queries fail with fle2 because the start of the interval is using the minimum date instead of using double infinity.

       $and: [{birthdate: {$lt: ISODate("2002-12-04T10:45:10.957Z")}}, {debt: {$lte: NumberDecimal(5000.00)}}] 

      {birthdate: {$not: {$lt: ISODate("2002-12-04T10:45:10.957Z")}}} 

      Therefore, this uassert statement in query_analysis fails. since the lower bound of the query is the minimum date, which can be out of bounds of the range index. 

      uassert(6747901, 
      str::stream() 
      << "Lower bound of range predicate must be within the bounds of encrypted index.",            
      elementIsInfinite(interval.start) ||  literalWithinRangeBounds(metadata, interval.start)); 

      Attachments

        Activity

          People

            davis.haupt@mongodb.com Davis Haupt (Inactive)
            gil.alon@mongodb.com Gil Alon
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: