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

Strings too large for index cause record to be silently ignored

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major - P3 Major - P3
    • None
    • None
    • Usability
    • None

    Description

      If you insert a record where one of the fields is too long to fit in an index then the record is omitted from the index and a single message ends up in the log. In any queries that use that index, the row is silently ignored. This is really bad behaviour as it gives wrong answers.

      Suggestions are:

      • Reject additions/updates where the record can't be indexed. This makes the limitation explicitly visible just as with the 4MB record size limit.
      • Note that record in the index, but not the value. On a query using that index, use the index for all applicable rows and then visit the noted records checking their eligibility the non-indexed way. This will ensure that the vast majority of records get the performance benefit of an index while the small minority are checked slower, but there aren't many of them so it isn't that big a deal.

      In either case the correct answer will be given to queries.

      Attachments

        Activity

          People

            Unassigned Unassigned
            rogerbinns Roger Binns
            Votes:
            3 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: