Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-3716

Restore the WT_VERB_TEMPORARY verbose flag.

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.6.3, 3.7.1, WT3.1.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Storage 2017-11-13, Storage 2017-12-04, Storage 2017-12-18

      I was thinking of adding a new verbose flag, and got the following error from s_all

      flags.py: ran out of flags at verbose method

      All flags in WiredTiger (except for one in logging) are 32 bits, which limits us to 32 different flag values. I can see a few options for fixing this, but none are particularly appealing:

      1) Change all of our flags to be 64 bits.
      2) Change just the verbose flags to be 64 bits.
      3) Change how verbose is implemented to not use the standard flag checking mechanism.

      Method Benefits Disadvantages
      Extend all Keeps flags usage consistent and simple We expose flags fields via our public API, so we'd either need to change our API or have some horrible munging at that layer. A fairly invasive change. Will change some potentially size sensitive structures (eg: WT_ITEM)
      Extend verbose Minimal code changes Means we'd have two sets of macros, and need to know the size of the flags being used to choose the right one. Need to extend scripting etc to support both flags sizes.
      Change verbose Would mean we can add as many verbose modes as we like. Invasive code change, diverges from a standard approach and probably make comparisons more expensive/complex.

            keith.bostic@mongodb.com Keith Bostic (Inactive)
            alexander.gorrod@mongodb.com Alexander Gorrod
            0 Vote for this issue
            5 Start watching this issue