Address upgrade/downgrade for new connection config options

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Metadata
    • None
    • Storage Engines - Foundations
    • None
    • None

      Adding a new connection config option can easily result in an upgrade/downgrade problem, because WiredTiger writes the connection config to WiredTiger.basecfg when the database gets created. Opening the database by an older version of WiredTiger then fails with an error such as this (WT-17166):

      [1776106369:411752][325733:0x735aa21e56c0], wt, wiredtiger_open: [WT_VERB_DEFAULT][ERROR]: int __config_check_search(WT_SESSION_IMPL *, const WT_CONFIG_CHECK *, u_int, const WT_CONFIG_ITEM *, const uint8_t *, const WT_CONFIG_CHECK **), 114: unknown configuration key 'checkpoint_threads': Invalid argument
      wt: WT_TRY_SALVAGE: database corruption detected
      

      However, many such configuration parameters do not need to be preserved, as they do not affect the on-disk state, and we strip them in __conn_write_base_config.

      It may be thus worth for us to:

      1. Audit which parameters are preserved, and which should not be.
      2. Decide if it is worth preserving new parameters by default (as we do currently), or if they should be stripped by default instead.

            Assignee:
            [DO NOT USE] Backlog - Storage Engines Team
            Reporter:
            Peter Macko
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: