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

Strings too large for index cause record to be silently ignored

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Usability
    • None

      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.

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

              Created:
              Updated:
              Resolved: