WiredTigerRecordStore::generateCreateString() can return the same field with different values

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Storage Execution
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      Users are allowed to specify a WiredTiger config string to use in collection creation.

      However, the string returned by WiredTigerRecordStore::generateCreateString() can list the same field twice, one with the default value and one with the user specified value.

      WiredTiger uses the latter value if a field appears twice in the provided configuration string. 

      Example:

      The the default 'block_compressor' is 'snappy', but if a user runs the following:

      db.createCollection("myColl", {storageEngine: {wiredTiger: {configString: "block_compressor=zlib"}}})
      

      WiredTigerRecordStore::generateCreateString() generates a config string which first specifies `,block_compressor=snappy` followed by `block_compressor=zlib`

      "type=file,memory_page_max=10m,split_pct=90,leaf_value_max=64MB,checksum=on,block_compressor=snappy,,block_compressor=zlib,key_format=q,value_format=u,app_metadata=(formatVersion=1),log=(enabled=true)

            Assignee:
            Unassigned
            Reporter:
            Haley Connelly
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: