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

Make all WT cursor uses of keys --groupCollections aware.

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Done
    • Icon: Major - P3 Major - P3
    • 3.5.9
    • None
    • Storage
    • None
    • Fully Compatible
    • Storage 2017-05-08, Storage 2017-05-29, Storage 2017-06-19

    Description

      When WT is running in --groupCollections mode all collections (but not indexes) with a prefix that are creating a WT table must change the configuration input key_format=q to key_format=qq. This changes the "key" value from being an int64 to instead be two adjacent int64. The key format for indexes should be changed from "u" to "qu".

      When performing WT_CURSOR::set_key, the key value must be modified when its collection/index is sharing a WT table with other collection/indexes.

      Furthermore, all calls to WT_CURSOR::next/prev that do not return a WT_NOTFOUND must also extract the key and compare the prefix found with that of the collection/index it represents.

      It may be desirable to add a "[reading] cursor" abstraction that sits between the WiredTiger[RecordStore|Index]::Cursor and their current raw usage of WT_CURSOR. This abstraction would encapsulate the logic of transforming a cursor that iterates into an adjacent collection/index into a logical EOF.

      Collections/indexes that have no prefix should not suffer an undue performance penalty unnecessarily constructing and parsing keys.

      Attachments

        Activity

          People

            daniel.gottlieb@mongodb.com Daniel Gottlieb (Inactive)
            daniel.gottlieb@mongodb.com Daniel Gottlieb (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: