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

Support KeyStrings with RecordId strings longer than 127 bytes

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.1.0-rc0
    • Component/s: None
    • Labels:
    • Backwards Compatibility:
      Fully Compatible
    • Sprint:
      Execution Team 2021-09-20, Execution Team 2021-10-04
    • Linked BF Score:
      155

      Description

      We currently support encoding RecordId strings at the end of a KeyString for secondary index support on clustered collections.

      The current encoding is designed to be read in reverse from the end of the string. The 1-byte size is appended at the end, preceded by the string contents. The current string encoding only supports encoding strings up to 127 bytes long, or what fits in 7 bits.

      Extend the encoding to support larger strings. Use the unused high bit as a continuation bit that indicates the presence of a preceding size byte. Continue encoding right-to-left until there are no more size bytes remaining with continuation bits.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              josef.ahmad Josef Ahmad
              Reporter:
              louis.williams Louis Williams
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: